作者Jkson (要减肥罗^^)
看板Electronics
标题Re: 请问一下数位问题(FPGA)
时间Mon Apr 10 21:14:54 2006
※ 引述《[email protected] (窝耶)》之铭言:
请问一下 我有算过真值表
但是我不太晓得以下写法是否有不同
process(clk)
begin
if clk'event and clk='1' then
D1<=D0;D0<=ext;
output<=((D0 and D1) or output) and (D0 or D1);
end if;
end process;
process(clk)
begin
if clk'event and clk='1' then
D1<=D0;D0<=ext;
pre_output<=output;
end if;
end process;
output<=((D0 and D1) or pre_output) and (D0 or D1);
真值表算出来可是不知道output是要摆在process里面还外面耶
请各位高手解或一下 相信可能有观念上的不清楚或不正确吧
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以你的第一个写法是 and or gate完的东西还会经过 D-tpe Flip Flop 敲过
第二个写法则是 and or gate完的东西没经过 D-type Flip Flop敲过....
如果这条path没有timing上的问题 这二个写法都ok...
如果有的话第一个写法比较能check出(以STA跑)...
不过还是端看你output怎麽接给後面用....
不过以目前比较常看到的写法是写在process里面...
或是以你第二个写法 再加一个process敲output一次....
原因是现在的ic design 系统通常很大..怕就是你这个output讯号
clk没敲到...造成我们在做timing check的时候没check当它
结果tape out回来. 晶片不会动 就是因为它..那这样头就大了>!<....
So........
另外就是在FPGA中使用现成乘法指令要花多少clock时间呢
例子如下
process(clk)
begin
if clk'event and clk='1' then
output<=A*B;
end if;
end process;
A B为每一clock改变的变数 output这样写会出错吗
感觉乘法会花不少时间说 一个clock算的完吗?????
请各位有经验的高手教教我 感激
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
提供你一个idea 让你去想这问题
D-FF--->Andgate--->Andgate..............*100--->D-FF
假设这一条path 为2个D-FF(D型正反器)中间接了100个 Andgate
如果假设一个Andgate delay 0.1ns 不考虑 wireload 还有其他delay的影响
则经过100个andgate 需要10ns 如果我的clk 跑100MHz勉强没有timing问题
(算得完) 如果我clk跑 50MHz 则一定没有timing的问题
如果跑200MHz则有timing问题.....
同理 你去看乘法器.. 以一个2bit*2bit的乘法器
如果adder是用ripper adder去兜出来的 你应该可以知critical path在哪里
那一条path经过多少的 gate 则可以估计你这个乘法器需要多久时间才能
算完结果...懂了吗???
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.209.47