美文网首页
Verilog描述触发器和锁存器

Verilog描述触发器和锁存器

作者: 打着石膏脚的火星人 | 来源:发表于2018-07-19 16:56 被阅读0次

2018年7月19日
一、关键词:initial和always
1.initial:为初始化语句,仅需要执行一次。
作用1.测试模块对激励信号描述。
2.给寄存器赋初值,面向仿真的过程语句,逻辑综合工具不支持。
2.always:无限循环语句,知道仿真结束,通常紧跟着循环的控制条件。
-----仿真时,initial和always语句同时并行执行

always @(事件控制表达式) //敏感事件:电平敏感和边沿触发
begin 
   块内部局部变量的定义;
   过程赋值语句;//等式左边必须为reg
end      
```begin和end将多条过程语句包围起来,组成顺序语句块,块内语句按顺序依次执行
电平敏感:
always @(D,S)
边沿敏感:
always @(posedge CP or negedge CR)
```敏感事件列表中不能同时包含电平敏感事件和边沿敏感事件
always内部赋值语句有两种:
阻塞型赋值语句:"="  顺序执行
非阻塞赋值语句:"<=" 并行执行
//对D锁存器进行描述:
module D_latch(
  input D,E,
  output reg Q,
  output QN
);
assign QN = ~Q;
always @(E or D)
   if(E) Q <= D;
endmodule
//下降沿触发的JK触发器
module JK_FF(
  input J,K,CP,
  output reg Q,
  output QN
);
assign QN = ~Q;
always @(negedge CP)
case({J,K})
   2'b00: Q <= Q;
   2'b01: Q <= 0;
   2'b10: Q <= 1;
   2'b11: Q <= ~Q;
endcase 
endmodule

相关文章

网友评论

      本文标题:Verilog描述触发器和锁存器

      本文链接:https://www.haomeiwen.com/subject/kkktmftx.html