【发布时间】:2017-08-23 01:28:15
【问题描述】:
美好的一天,
我最近的任务是将 10 位十进制数(因为 10 位的最大十进制数是 1023)转换为 16 位 BCD。当输入小数大于等于 1024 时,误差波形会变高。整个模块当然连接到一个时钟。我不知道如何在 VHDL 编码中实现这一点,但我有一些关于如何使其工作的建议:
- 首先,我可以实现两个模块的使用,其中第一个模块的输出将连接到具有相同时钟的第二个模块。第一个块的输出是输入的二进制,当十进制输入大于 1023 时,误差等于 1。
- 第二种是只使用一个模块技术,将输入的十进制直接转换为 16 位 BCD,如果输入的十进制大于 1023,则错误为 1。
任何人都可以帮助我了解如何使用 VHDL 将小数点编码为 bcd 转换。非常感谢您的帮助。谢谢
【问题讨论】:
-
好吧,我的同学想知道它会怎么做。他使用带除法的 MODULO 函数。我会在这里上传代码,但是由于我们在课堂上对VHDL的介绍只使用了模拟,所以我们不知道它是否“可合成”。
-
一个简单的搜索就会显示许多关于 BCD 转换器的现有问题。
-
一般作业问题,没有特定的 VHDL 语言问题,没有做过研究
-
很抱歉,这是不可能的。为什么要费心去解决这个问题呢?
标签: decimal vhdl xilinx-ise bcd