作者deathcustom (DSM......)
站内Electronics
标题Re: 请问ALU单元的verilog写法
时间Sat Mar 10 09:19:42 2007
※ 引述《teyurd (......)》之铭言:
: 请问假如要写一个ALU电路, 采用以下写法(verilog)
: ++++++
: + +
: A1 --->+ + ---> B
: A2 --->+ +
: ++++++
: | |
: | |
: C
: 因为ALU是组合电路,所以采用一个很大的always来写 ,
: 其中 A 是input , B是 output
: C是选择要输出到output的运算结果
: 因为运算有很多种,例如加减乘,shift,and,xor,or...等等
: 所以必需要assign 很多运算result来表示这些运算结果
: 如:
: assign mul_result=A1*A2
: assign xor_result=A1^A2
: .
: .
: .
: always@(A1 or A2 or C)
: begin
: case C
: .
: .
: .
: .
: endcase
: end
: 因为运算好像还蛮多的 , 所以可能会合成一个很大的MUX
: 假设每条运算结果是32 bit, 而运算种类有20种
: 那内部可能会有一个input至少是20*32条线以上的mux
: 请问这种写法在layout上会有问题吗? 例如lvs上的问题?
理论上是不会有这种问题
你要面对的问题是面积跟时间的考量
如果你要时间快,那每一种运算都要单独写
如果要面积小的话
有些运算可以robust
--
所谓理论上是因为现在的数位电路都直接用HDL写
所以根本没那个问题,design compiler能做出来就没问题
如果你写完之後要自己LAYOUT的话~~~那我就不知道了XDDD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.83.97