精華區beta Electronics 關於我們 聯絡資訊
※ 引述《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