Vhdl 不使用除法或模来获取数字的数字

Vhdl 不使用除法或模来获取数字的数字,vhdl,digits,integer-division,Vhdl,Digits,Integer Division,我正在尝试使用VHDL实现一个7段计数器 计数器从0开始,递增一个整数值,最大值为9999 该值被传递到一个组,该组将数字“拆分”为数字,以便我可以在多路复用的7段上显示它们 我已经在一张图片上使用了很多方法,比如中断。。。但现在我正试图在FPGA上实现这一点(确切地说是Xilinx Spartan 3E启动板),我在实现我编写的代码时注意到,我既不能使用除法也不能使用模,因为它们无法实现 编辑:我知道我可以单独映射值0..9999,但这太牵强了 当然还有别的办法,但我想不起来 任何关于解决方法

我正在尝试使用VHDL实现一个7段计数器

计数器从0开始,递增一个整数值,最大值为9999

该值被传递到一个组,该组将数字“拆分”为数字,以便我可以在多路复用的7段上显示它们

我已经在一张图片上使用了很多方法,比如中断。。。但现在我正试图在FPGA上实现这一点(确切地说是Xilinx Spartan 3E启动板),我在实现我编写的代码时注意到,我既不能使用除法也不能使用模,因为它们无法实现

编辑:我知道我可以单独映射值0..9999,但这太牵强了

当然还有别的办法,但我想不起来


任何关于解决方法的提示都将不胜感激

如果您的数字是十进制的,只需提取包含每个数字的位,并将它们发送到您的显示多路复用器。LSD是num[3:0],MSD是num[15:12],等等。

您的数字是存储为二进制还是十进制?它是十进制的,但如果最好是二进制的,我可以轻松地将其转换。如果您的数字是十进制的,只需提取包含每个数字的位,并将其发送到显示器多路复用器。LSD是
num[3:0]
,MSD是
num[15:12]
,等等。很酷,我不知道我能做到,我仍然错过了一些东西,尽管我尝试了这个
D0,但我忘了语法是:
D0