在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 145|回复: 0

[求助] 仿真文件--复位信号拉高时的赋值问题

[复制链接]
发表于 前天 22:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 Darnew 于 2025-4-6 22:29 编辑

微信图片_20250406222310.png
我设置的ext_clk_25m时钟信号,周期是40ns。
我在testbench中,不小心把ext_rst_n的初始化拉高在了时钟上升沿(100ns),发现delay的+1操作也能在此时赋值,这是为什么,不是应该延迟一拍吗?
代码:




  1. reg[23:0] delay;        

  2. always @ (posedge ext_clk_25m or negedge ext_rst_n)
  3.         if(!ext_rst_n) delay <= 24'd0;
  4.         else delay <= delay+1'b1;        


复制代码



仿真文件:




  1. `timescale 1 ns/ 1 ps
  2. module cy4_vlg_tst();
  3. // constants                                          
  4. // general purpose registers
  5. //reg eachvec;
  6. // test vector input registers
  7. reg ext_clk_25m;
  8. reg ext_rst_n;
  9. reg [1:0] key_v;
  10. reg [0:0] switch;
  11. // wires                                               
  12. wire [7:0]  led;

  13. // assign statements (if any)                          
  14. cy4 i1 (
  15. // port map - connection between master ports and signals/registers   
  16.         .ext_clk_25m(ext_clk_25m),
  17.         .ext_rst_n(ext_rst_n),
  18.         .key_v(key_v),
  19.         .led(led),
  20.         .switch(switch)
  21. );
  22. initial                                                
  23. begin                                                  
  24. // code that executes only once                        
  25. // insert code here --> begin                          
  26. ext_clk_25m = 0;
  27. ext_rst_n =0;
  28. switch =1;
  29. key_v = 2'b11;
  30. // delay 100ns, wait the finish of ststem reset
  31. # 100;
  32. ext_rst_n = 1;
  33. # 20;
  34. key_v = 2'b01;
  35. switch = 0;
  36. # 120;
  37. key_v = 4'b11;//little bounce
  38. # 10;
  39. key_v = 4'b01;
  40. # 40000160;
  41. # 167772120;
  42. $stop;                                                      
  43. // --> end                                             
  44. $display("Running testbench");                       
  45. end                                                   
  46. always #20 ext_clk_25m = ~ext_clk_25m;        //generate 25MHz clock  source                                                
  47.                                                   
  48. endmodule




复制代码




您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-4-8 21:47 , Processed in 0.017600 second(s), 8 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表