作者nopicnic (nopicnic)
看板Electronics
標題[問題] verilog register file
時間Sat Apr 10 01:38:17 2010
各位先進好,我是剛入門的學生。
遇到了一點觀念上的問題,助教給予的register file
輸入為32bits的值,輸出為8bits,請問當輸入超過255時,輸出為??
附上code
`timescale 1ns/10ps
module RegFile(enable,clk,reset,DataInput,RegIndex,
RegOutput0,RegOutput1,RegOutput2,RegOutput3,RegOutput4,
RegOutput5,RegOutput6,RegOutput7,RegOutput8);
input enable,clk,reset;
input[31:0] DataInput;
input[3:0] RegIndex;output[7:0] RegOutput0,RegOutput1,RegOutput2,
RegOutput3,RegOutput4,RegOutput5,RegOutput6,RegOutput7,RegOutput8;
reg[7:0] RegOutput0;
reg[7:0] RegOutput1;
reg[7:0] RegOutput2;
reg[7:0] RegOutput3;
reg[7:0] RegOutput4;
reg[7:0] RegOutput5;
reg[7:0] RegOutput6;
reg[7:0] RegOutput7;
reg[7:0] RegOutput8;
reg[31:0] Mreg[15:0];
integer i;
always@(negedge clk)begin
if(reset)begin
for(i=0;i<16;i=i+1)
Mreg[i]=0;
end
else begin
if(enable) Mreg[RegIndex]=DataInput;
else begin
RegOutput0<=Mreg[0];
RegOutput1<=Mreg[1];
RegOutput2<=Mreg[2];
RegOutput3<=Mreg[3];
RegOutput4<=Mreg[4];
RegOutput5<=Mreg[5];
RegOutput6<=Mreg[6];
RegOutput7<=Mreg[7];
RegOutput8<=Mreg[8];
/*****我就是上面這裏不懂...RegOutput0 他們不是8bit嗎..那為什麼可以將32bit的Mreg的
資料傳進去...???*******************/
end
end
end
endmodule
麻煩各位高手們~~幫小弟解答吧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.39.156.225
1F:推 tkhan:現在學生都不跑simulation找結果嗎?..有問題就直接問?.. 04/10 07:41
2F:推 sasako:bit數宣告錯了 不過32bit可以給8bit 就後面8bit給值吧 04/10 10:46
3F:→ sasako:前面32bit就浪費了 simulation應該還是會有warning 04/10 10:47
4F:→ sasako: ^更正 是24bit 04/10 10:48
5F:→ nopicnic:沒錯 會有warning~~抱歉因為手邊沒有能跑程式的電腦 04/11 00:42
6F:→ nopicnic:因為急著想知道...謝謝回答的人~~^^ 04/11 00:43
7F:→ nopicnic:只是實在是沒辦法跑模擬.......>"<抱歉 04/11 00:43
8F:推 CompileUltra:addr也有點奇怪 index input 4 bit, mem卻宣告16bit? 04/11 01:56
9F:推 pupucar:樓上的是16個32bit記憶體index 4bit對應16沒錯 04/11 02:49