第六讲行为建模 西安邮电学院通信工程系 分支语句(case) 例:4选1多路选择器 always@(sel or dl or d2 or d3 or d4) case(sel) 2'b00:out=d1; 2'b01:out d2; 2'b10:out d3; 2b11:0ut=d4; endcase
第六讲 行为建模 西安邮电学院通信工程系 分支语句(case) ❖ 例: always@(sel or d1 or d2 or d3 or d4) case(sel) 2’b00: out = d1; 2’b01: out = d2; 2’b10: out = d3; 2’b11: out = d4; endcase 4选1多路选择器
第六讲行为建模 西安邮电学院通信工程系 分支语句(case) 例:module decode(sel,out), 3-8译码器 input [2:0]sel; output [7:0]out;reg [7:0]out; always@(sel) case(sel) 3b000:out=8b00000001; 3b001:out=8b00000010; 3b010:out=8b00000100; 3b011:out=8b00001000: 3b100:out=8b00010000; 3b101:out=8b00100000: 3b110:out=8b01000000: 3b111:out=8b10000000: endcase endmodule
第六讲 行为建模 西安邮电学院通信工程系 分支语句(case) ❖ 例:module decode(sel,out); input [2:0] sel; output [7:0] out; reg [7:0] out; always@(sel) case(sel) 3’b000: out = 8’b0000_0001; 3’b001: out = 8’b0000_0010; 3’b010: out = 8’b0000_0100; 3’b011: out = 8’b0000_1000; 3’b100: out = 8’b0001_0000; 3’b101: out = 8’b0010_0000; 3’b110: out = 8’b0100_0000; 3’b111: out = 8’b1000_0000; endcase endmodule 3-8译码器
第六讲行为建模 西安邮电学院通信工程系 分支语句(case) module cntr(q,aclr,clk,func,d); input aclr,clk; input [7:0]d; input [1:0]func; /Controls the functionality output [7:0]q; reg [7:0]q; always @(posedge clk or posedge aclr)begin if(aclr) q<=8h00; else case(func) 2'b00:q <d:/Loads the counter 2'b01:q<=q+1;/Counts up 2'b10:q <=q-1;/Counts down 2'b11:q<=9 endcase end endmodule
第六讲 行为建模 西安邮电学院通信工程系 分支语句(case)
第六讲行为建模 西安邮电学院通信工程系 循环语句 有四种循环语句: repeat::将一块语句循环执行确定次数。 repeat(次数表达式)<语句> 必 while:在条件表达式为真时一直循环执行 综合工具 还不支持 while(条件表达式)<语句> ,forever:重复执行直到仿真结束 forever<语句> ~for:在执行过程中对变量进行计算和判断,在条件满足时执行 for(赋初值;条件表达式;计算)<语句>
第六讲 行为建模 西安邮电学院通信工程系 循环语句 有四种循环语句: ❖ repeat:将一块语句循环执行确定次数。 repeat (次数表达式) <语句> ❖ while:在条件表达式为真时一直循环执行 while (条件表达式) <语句> ❖ forever:重复执行直到仿真结束 forever <语句> ❖ for:在执行过程中对变量进行计算和判断,在条件满足时执行 for(赋初值;条件表达式;计算) <语句> 综合工具 还不支持