always实现复杂组合逻辑1909大T支OTONG电平敏感的alwaysalways@(opcodeoraorb)块实现组合逻辑begincase(opcode)'add:out=a+b:defineadd3'd0minus:out=a-b;defineminus3'd1"band:out=a&b;defineband3'd2"bor:out=ab;definebor3'd3bnot:out=~a;definebnot3'd4default: out=8'hx;modulealu(out,opcode,a,b);endcaseoutput[7:0] out;endreg[7:0] out;endmoduleinput[2:0]opcode;input[7:0] a,b;17ZUz5/12/3
2025/12/3 17 always实现复杂组合逻辑 ❖电平敏感的always 块实现组合逻辑 `define add 3'd0 `define minus 3'd1 `define band 3'd2 `define bor 3'd3 `define bnot 3'd4 module alu(out,opcode,a,b); output[7:0] out; reg[7:0] out; input[2:0] opcode; input[7:0] a,b; always@(opcode or a or b) begin case(opcode) `add: out = a+b; `minus: out = a-b; `band: out = a&b; `bor: out = a|b; `bnot: out=~a; default: out=8'hx; endcase end endmodule
always电平触发&边沿触发T边沿触发OTONG时序逻辑行为心电平触发组合逻辑行为182025/12/3
2025/12/3 18 always电平触发&边沿触发 ❖边沿触发 ▪ 时序逻辑行为 ❖ 电平触发 ▪ 组合逻辑行为
时延控制1909大TOTONG1)时延控制的表达形式如下:#时延进程语句:2)时延控制也可以用另一种表达方式:#时延;看下面的例子,parameterDELAY=3;alwaysbegin#DELAY;clock=2;end3)时延控制还可以用任意表达式来表示,如:#(Cycle/4)clock=~clock192025/12/3
2025/12/3 19 时延控制 1)时延控制的表达形式如下: #时延 进程语句; 2)时延控制也可以用另一种表达方式: # 时延; 看下面的例子, parameter DELAY =3; always begin # DELAY; clock = 2; end 3)时延控制还可以用任意表达式来表示,如: # (Cycle/4) clock = ~clock
事件控制905大T支事件控制形式如下:OTONG事件进程语句心具体地说,它可分为以下四种:@(信号名)例:@(rst)clock=2;说明:仅当信号rst发生变化时(上升沿或下降沿),clock被赋值为2。@(posedge信号名)例:@(posedgerst)clock=2;说明:仅当信号rst出现上升沿时,clock被赋值为2。@(negedge信号名)例:@(negedgerst)clock=2;说明:仅当信号rst出现下降沿时,clock被赋值为2。@(事件1or事件2or...)例:@(posedgerstornegedgeload)clock=2;说明:当信号rst出现上升沿,或信号load出现下降沿时,clock被赋值为2。202025/12/3
2025/12/3 20 事件控制 ❖ 事件控制形式如下: @ 事件 进程语句; ❖ 具体地说,它可分为以下四种: @ (信号名) 例:@ (rst) clock = 2; 说明:仅当信号rst发生变化时(上升沿或下降沿),clock被赋值为2。 @ (posedge 信号名) 例:@ (posedge rst) clock = 2; 说明:仅当信号rst出现上升沿时,clock被赋值为2。 @ (negedge 信号名) 例:@ (negedge rst) clock = 2; 说明:仅当信号rst出现下降沿时,clock被赋值为2。 @ (事件1 or 事件2 or .) 例:@ (posedge rst or negedge load) clock =2; 说明:当信号rst出现上升沿,或信号load出现下降沿时,clock被赋值 为2
进程processT心行为模型的本质是进程OTONG心一个进程看作是一个独立的运行单元alwaysinitialassign例化元件的调用心模块中多个进程的应用212025/12/3
2025/12/3 21 进程 process ❖行为模型的本质是进程 ❖一个进程看作是一个独立的运行单元 ▪ always ▪ initial ▪ assign ▪ 例化元件的调用 ❖模块中多个进程的应用