完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
一个点灯程序的部分代码: assign sw = {sw0,sw1,sw2,sw3}; assign {led0,led1,led2,led3,led4,led5,led6,led7} = led; always @ ( posedge clk or negedge rst) begin if(!rst) led<='b0; else case ( sw ) 4'b1110: led <= 8'b0000_0001; 4'b1101: led <= 8'b0000_0010; 4'b1011: led <= 8'b0000_0100; 4'b0111: led <= 8'b0000_1000; 4'b1100: led <=8'b0001_0000; 烧到板子里时,按下sw0 ,板子上的LED5灯是亮的, 即led4=1 , 4'b1001: led <= 8'b0010_0000; 4'b0011: led <= 8'b0100_0000; 4'b0110: led <= 8'b1000_0000; default: led <= 8'b0000_0000; 但是,仿真时,就出了问题,仿真是对激励如下: initial begin //Initialize Inputs clk= 0; rst= 0; sw0= 0; sw1= 0; sw2= 0; sw3= 0; //Wait 100 ns for global reset to finish #100; //Add stimulus here clk=1; rst=1; //#100; sw0=0;sw1=0;sw2=1;sw3=1; 此处符合:4'b1100: led <= 8'b0001_0000; #100clk=0;rst=0; End 但是,isim里的波形对不上如下图
|
|
相关推荐
3个回答
|
|
|
|
|
|
|
|
|
|
|
|
你的仿真程序中没有时钟信号,现在的程序相当于是clk赋值两次,但没有真正时钟产生。
仿真语句中时钟要使用always #10 clk=~clk; 表示每10个时间单位clk翻转一次。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
NVMe高速传输之摆脱XDMA设计50:主要功能测试结果与分析2 nvmePCIe高速存储
252 浏览 0 评论
NVMe高速传输之摆脱XDMA设计49:主要功能测试结果与分析1
1501 浏览 0 评论
907 浏览 0 评论
855 浏览 0 评论
658 浏览 0 评论
4427 浏览 63 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 06:11 , Processed in 0.809332 second(s), Total 82, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4225