阅读:2282回复:4
用fpga做8位16进制转10进制怎样才能节省资源?(100分)
最近我有个项目用fpga做内部运算,而结果输出到数码管显示要用10进制,我想把进制转换也做到fpga里去,我用的是查表法,从00001010一直查到11111111,结果多用了近100个宏单元,请问各位有什么好算法?(100分)
|
|
沙发#
发布于:2004-02-12 16:08
用个计数器计数,可能会用比较少的资源
|
|
板凳#
发布于:2004-02-17 10:47
怎么就青松大哥一个人给我出主意亚,难道是我的问题没有说清?
比如fgpa内部加减乘除用的是2进制,32就是“00100000”,而显示时要改为“00110010”再输出,这种变换用计数器可能不行,我使用查表法:如当结果为“00100001”时输出“00110011”; 结果为“ 00001011”时输出“00010001”; 好像总结不出简单的规律来简化 |
|
地板#
发布于:2004-02-17 15:22
可以的,a ,b,c输出
process(clk) 计数 process(clk) if(技术值<输出值) if(a=9)then if(b=9)then c:=c+1; b:=0; a:=0; else b:=b+a a:=0 endif else a:=a+1 end if end if 。。。。。。 |
|
地下室#
发布于:2004-02-17 15:24
做一个16进制转10进制的程序也可以
|
|