【发布时间】:2011-12-29 05:08:59
【问题描述】:
我正在尝试使用 VHDL 实现一个 7 段计数器。
计数器从 0 开始,递增一个整数值,最大值为 9999。
该值被传递给一个应该将数字“拆分”为数字的块,以便我可以在多路复用的 7 段上显示它们......
我已经使用中断等多种方法在 PIC 上完成了此操作...但现在我尝试在 FPGA(确切地说是 Xilinx Spartan 3E 入门板)上执行此操作,我在实现代码时注意到我'我写过我既不能使用除法也不能使用模数,因为它们无法实现......
编辑:我知道我可以单独映射 0..9999 的值,但这还很遥远。
当然还有其他方法,但我想不出来。
非常感谢任何有关解决方法的提示!
【问题讨论】:
-
您的号码是存储为二进制还是十进制?
-
它是十进制的,但如果最好是二进制,我可以很容易地转换它
-
好吧,如果您的数字是十进制的,只需提取包含每个数字的位并将它们发送到您的显示多路复用器。 LSD 是
num[3:0],MSD 是num[15:12],等等 -
酷我不知道我能做到这一点,我仍然错过了一些东西,我试过这个
D0 <= count[3:0];并且我在那行得到';' expected错误(之前正在编译)编辑:D0 是一个 4 位无符号输出信号 -
没关系,我忘了语法是:
D0 <= count(3 downto 0);将测试并返回这里:)
标签: vhdl digits integer-division