我有點難住這個問題:如何實現輸入向量以八進制表示的n位加法器?
「寫一個verilog模塊來完全添加n位整數,讓參數,位數等於3.從測試臺調用這個模塊,然後在測試平臺中指定要添加到數組中的數字,將八進制值分配給X和Y數組,進位爲0。
是的,這是作業。
我能寫的N位加法器模塊:
module addern(carryin, X, Y, S, carryout, overflow);
parameter n = 3;
input carryin;
input [n-1:0] X, Y;
output reg [n-1:0] S;
output reg carryout, overflow;
always @(X,Y, carryin)
begin
{carryout, S} = X + Y + carryin;
overflow = (X[n-1] & Y[n-1] & ~S[n-1]) | (~X[n-1] & ~Y[n-1] & S[n-1]);
end
endmodule
我理解這個問題的分量。但是,我不確定如何實現八進制數的加法。在Verilog中有沒有一種方法可以表示數組是保持八進制值,而不是二進制?
在verilog中有類似於類型轉換的東西嗎?例如,input (octal) [n-1:0] X, Y
,並在測試臺上做類似的事情。
讚賞任何建設性意見。
你並不需要;只需以三人一組的方式佔用你的總體數字。 –
好點。那麼我只需要通過參數'n'改變爲9?我唯一擔心的是問題的措辭。例如,它顯示將X明確地設置爲[0,1,3]。 – Mlagma
他們要求你做的只是分配一個八進制文字到X - 'x = 9'o013' – Eric