作者omegacd (omegainfinity)
看板Electronics
标题Re: [问题] verilog 乘法器 BCD用法
时间Sat Jan 26 07:21:17 2008
※ 引述《guam (小兄弟阿哲)》之铭言:
: 最近在写一位数乘以一位数的乘法器 (0~9)X(0~9) =(0~81)
: 但遇上一个问题
: 因为要从FPGA上拉线出来接七段显示器
: 假设遇上81 65 这种数值
: 以BCD的用法来说 每有一次10就要加一次0110
: 那是要怎麽写呢?
: 感谢解答~
可以使用case,范例:
//Convert BCD LOOP
always@(posedge clk)
begin
case(BCD_REG[N])
1'b0110:
begin
BCD_REG[N]=0;
carryout=1;
end
default:
begin
if(carryout)
begin
BCD_REG[N]=BCD_REG[N]+1;
carryout=0;
end
N=N+1;
end
endcase
end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.62.128.12
1F:推 bighead319:你觉得这样写可以合成吗 01/26 21:43
2F:→ omegacd:姆 好像不行(呆(脑残了我orz 01/31 03:30
3F:→ omegacd:不过这只是想法啦...真正要能动的还要多加一些东西吧...:S 01/31 03:41