Verilog HDL基础之:时序逻辑电路

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Verilog HDL 基础之:时序逻辑电路

在Verilog HDL 语言中,时序逻辑电路使用always 语句块来实现。例如,实现一个带有异步复位信号的D 触发器如下。

例1:带异步复位的D 触发器1。

wire Din;

wire clock,rst;

reg Dout;

always @ (posedge clock or negedge rst)//带有异步复位

if(rst == 1b0)Dout = 1b0;

else Dout = Din; //D 触发器数据输出

在例1 中,每当时钟clock 上升沿到来后,输出信号Dout 的值便更新为输入信号Din 的值。当复位信号下降沿到来时,Dout 的值就会变成0。必须注意的是,在时序逻辑电路中,通常使用非阻塞赋值,即使用=。当always 块整个完成之后,值才会更新,例如:

例2:带异步复位的D 触发器2。

wire Din;

wire clock,rst;

reg Dout;

always @ (posedge clock or negedge rst)//带有异步复位

if(rst == 1b0)out = 1b0;

else begin

Dout = Din; //D 触发器输出值还处于锁定状态

Dout = 1b1; //D 触发器输出值依然处于锁定状态

相关文档
最新文档