好吧,大家好,我想在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