好吧,大家好,我想在VHDL中做的是取8位二进制值并将其表示为BCD,但由于此卡必须是最大输入的一部分这是9.使用整数将8位二进制转换为BCD
1-转换输入到整型例如1000 0000 - 255通过然后> 128
2-除以整数乘以90(90,使得我得到的一个的手指和所述第一数字小数点后指的是小数点后的所有数)
例如128/255 * 90 = 45.17(让这是signal_in)
3.Extract 45的两位数字由20个分割,并将它们存储作为分开的整数 例如我会使用类似:
LSB_int = signal_in模10
那么我会在除以10信号因此,它改变为4.517然后让这种等于MSB_int ..(这将截断小数和存储器4右侧)
4.Convert两者LSB_int和MSB_int至4位BCD
..和我将从那里完美...但可悲的是我有这么多麻烦...瓦特ith不同的数据类型(签署unsigend std_logic_vectors)和师。所以我只需要帮助我的思维过程中的任何缺陷,我应该看看这样做的时候..
我实际上做了我的代码,并认为我保存这一个..但我没有,以及我仍然相信这个解决方案可以工作,我会回复我认为是我的旧代码...只要我能记住这一切..
这是我的其他与我的新代码的问题..(只是为了证明我做的东西..) Convert 8bit binary number to BCD in VHDL
注8位值只需要3位BCD码表示(最大值为255)。你有具体的问题吗?也许你可以展示你的代码并询问特定的语法或语义错误?不正确的结果? – user1155120 2014-11-23 08:16:12