完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
第一个问题:
有的时候我发现仿真的代码停不下来,按modelsim里红色的stop不能停止,按旁边的break按钮会在transcript中提示break key hit,直接关modelsim也是会在transcript中提示break key hit。这种情况是如何造成的,怎么解决? 而且第二问题出现的时候,modelsim也会进入这种状态。 第二个问题: .v文件的代码如下: module reg_feizuse(clk,din,qout,reset); output [3:0]qout; reg [3:0]qout; input din; input clk,reset; always @(posedge clk or posedge reset) begin if(reset) qout <= 4'b0000; else qout[0] <= din; qout[1] <= qout[0]; qout[2] <= qout[1]; qout[3] <= qout[2]; end endmodule 就是一个四位的非阻塞移位程序。 testbench的代码如下:`timescale 1 ps/ 1 ps module reg_feizuse_vlg_tst(); reg clk; reg din; reg reset; wire [3:0] qout; reg_feizuse i1 ( .clk(clk), .din(din), .qout(qout), .reset(reset) ); initial begin #20 clk = 1'b0; #20 reset = 1'b1; #20 clk = 1'b1; #20 reset = 1'b0; #20 din = 1'b0; #10000 $finish; $display("Running testbench"); end always begin if(reset == 1'b0) //只要加上这句判断,全部的波形就都没有了,包括clk的时钟波形。我加这句的目的是想通过initial模块控制reset的置零时间来控制din信号启动的时间。但是却遇到了这样的问题。再问,有什么代码能达到这个效果 //吗?总感觉这个方法是笨方法,不直接。 #40 din = ~din; end always begin #20 clk = ~clk; end endmodule 大神看到了求指教啊!先谢为敬! |
|
相关推荐
2个回答
|
|
对于第一个问题的补充说明,这个时候是关不掉的,只能通过任务管理器来罐modelsim。
|
|
|
|
啊,谢谢原子哥。。
|
|
|
|
只有小组成员才能发言,加入小组>>
2866 浏览 3 评论
27629 浏览 2 评论
3439 浏览 2 评论
3959 浏览 4 评论
基于采用FPGA控制MV-D1024E系列相机的图像采集系统设计
2305 浏览 3 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:32 , Processed in 0.361696 second(s), Total 46, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号