完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
新手,verilog描述异步置0,异步置1功能的D触发器,置0低电平有效,置1高电平有效,用modelsim仿真时,个别时序存在问题,费解,请指出问题所在。谢谢。代码及仿真图形如下: module D_FF(q,qn,d,clk,reset,set); input d,clk,set,reset; output q,qn; reg q,qn; always @(posedge clk or negedge reset or posedge set)//??????1???????0 begin if(!reset) begin q<=0;qn<=1;end else if(set) begin q<=1;qn<=0;end else begin q<=d;qn<=~d;end end endmodule testbench: `include "D_FF.v" module D_FF_test; reg d_in,clk_in,set_in,reset_in; wire q_out,qn_out; initial begin d_in=0; clk_in=0; set_in=0; reset_in=1; // reset_in=0; // #500 reset_in=0; // #500 set_in=1; end always #50 d_in={$random}%2; always #20 clk_in=~clk_in; always #100 set_in={$random}%2; always #200 reset_in={$random}%2; D_FF dff(.d(d_in), .clk(clk_in), .set(set_in), .reset(reset_in), .q(q_out), .qn(qn_out) ); endmodule |
|
相关推荐
5 个讨论
|
|
自己顶一下。有高手给解答下吗
|
|
|
|
|
|
baijingdong 发表于 2014-4-6 22:15 谢谢,写的确实不好 |
|
|
|
|
|
always @(posedge clk or negedge reset or posedge set)这是异步置1 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 19:50 , Processed in 0.535919 second(s), Total 52, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号