Verilog HDL基础之:时序逻辑电路
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 触发器输出值依然处于锁定状态