完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试做一个需要在七段显示器上显示“数字时钟”的项目。
我正在通过vivado 2014.3进行编码并使用nexys4 FPGA。 问题是当我尝试根据每秒,分钟,小时的状态从我的ROM中将一个值放入七段显示器的阴极(显示为SSeg_CA)时。 我把信号放到LED上,看看它在读什么,我正在读8'b00000000。 我已经验证了秒,小时,小时状态正在改变,因为我也想要它们(也通过LED)。 有人可以帮忙吗? 这是代码(我试图标记我认为问题可能存在的块): `timescale 1ns / 1ps 模块AlARM_Clock(输出[7:0] SSeg_AN,输出[7:0] SSeg_CA,输出[15:0] LED,输出报警,输入[15:0] SW,输入PBC,输入CLK); 整数H1,H2,M1,M2,S1,S2,w; reg sec_clk,fast_clk,active_clk; reg [31:0] i,k; reg [7:0]数字[0:9]; reg [7:0] SSeg_AN_temp; reg [7:0] SSeg_CA_temp; reg [15:0] LED_temp; reg LED_test_temp; 初始开始分配i = 32'd0; 分配k = 32'd0; assign sec_clk = 1'b0; assign fast_clk = 1'b0; 分配H1 = 0; 分配H2 = 0; 分配M1 = 0; 分配M2 = 0; 分配S2 = 0; 分配S1 = 0; 分配w = 0; assign SSeg_AN_temp = 8'b11111111; assign SSeg_CA_temp = 8'b11111111; digit [0] = 8'b11000000; // ******** ROM for 7seg dispdigit [1] = 8'b11111001; digit [2] = 8'b10100100; digit [3] = 8'b10110000; digit [4] = 8'b10011001; digit [5] = 8'b10010010; digit [6] = 8'b10000010; digit [7] = 8'b11111000; digit [8] = 8'b10000000; digit [9] = 8'b10010000; 结束// ****时钟工作正常****总是@(posedge CLK)//这个块给我sec_clk开始如果(我开始i = i + 1;结束其他开始i = 32'd0; sec_clk = ~sec_clk; end endalways @(posedge CLK)//这个块给我fast_clk开始if(k |
|
相关推荐
3个回答
|
|
在您的初始块中,您有一些声明,如:
分配S2 = 0; 这些不符合你的想法。 你打算写的是: S2 = 0; 当您使用过程“assign”时,它类似于“force”,并表示在您到达另一个赋值或释放语句之前,该值应保持不变。 因此,无论您突出显示的块中的分配如何,S2实际上始终为0。 尝试通过删除“assign”来更改所有这些。 直到你在Verilog中获得更高级的东西,你可能不想使用过程赋值语句(在初始或总是块内分配)。 在过程之外使用连续的赋值语句(到连线)是可以的。 - Gabor 在原帖中查看解决方案 |
|
|
|
在您的初始块中,您有一些声明,如:
分配S2 = 0; 这些不符合你的想法。 你打算写的是: S2 = 0; 当您使用过程“assign”时,它类似于“force”,并表示在您到达另一个赋值或释放语句之前,该值应保持不变。 因此,无论您突出显示的块中的分配如何,S2实际上始终为0。 尝试通过删除“assign”来更改所有这些。 直到你在Verilog中获得更高级的东西,你可能不想使用过程赋值语句(在初始或总是块内分配)。 在过程之外使用连续的赋值语句(到连线)是可以的。 - Gabor |
|
|
|
谢谢Gabor。
我在整个学期使用这种方法在初始块中初始化我的变量而没有意识到我在做什么。 我不得不抓住我的外部rom想法并在我的嵌套always块中使用case语句为每个M1,M2,S1,S2分配一个特定的变量......现在它可以工作了。 谢谢你的帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
2423 浏览 7 评论
2824 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2294 浏览 9 评论
3374 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2465 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1193浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
590浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
452浏览 1评论
2006浏览 0评论
731浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 08:42 , Processed in 1.760234 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号