[問題] VERILOG SHIFT REG

看板Electronics作者 (mm)時間13年前 (2010/08/14 20:39), 編輯推噓6(6020)
留言26則, 5人參與, 5年前最新討論串1/1
always@(posedge clk or posedge reset ) begin if(!reset) begin buf1out1<=0; buf1out2<=0; buf1out3<=0; end else begin buffer[0]<=buf1in2; buffer[1]<=buf1in1; __________________________________________________________ buffer[2]<=buffer[0]; buffer[3]<=buffer[1]; buffer[4]<=buffer[2]; . . . . . . buffer[178]<=buffer[176]; buffer[179]<=buffer[177]; buffer[180]<=buffer[178]; ______________________________________________________ buf1out1<=buffer[179]; end end 中間那段怎麼寫比較快 總共要寫180幾行要怎麼寫比較快? 有用過genvar for迴圈可是compile沒過= = -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.117.164.238 ※ 編輯: zx33571163 來自: 59.117.164.238 (08/14 20:40)

08/14 21:16, , 1F
為啥只有一個buf1out1? 2,3呢? 這樣看不出規則
08/14 21:16, 1F
※ 編輯: zx33571163 來自: 59.117.164.238 (08/14 21:27)

08/14 21:32, , 2F
如果這樣,那直接把他改成89 or 90bit就好;到180是障眼法
08/14 21:32, 2F

08/14 21:36, , 3F
不對,還是要到179,out2,3是障眼法...
08/14 21:36, 3F

08/14 21:41, , 4F
buffer[180:0]<={buffer[178:2],buffer1,buffer2};
08/14 21:41, 4F

08/14 21:44, , 5F
buffer[180:0]<={buffer[178:0],buffer1,buffer2}; 才對^_^
08/14 21:44, 5F

08/14 21:57, , 6F
我是要把資料存到BUFFER裡,BUFFER總共20000多BIT,用
08/14 21:57, 6F

08/14 21:58, , 7F
180只事先簡化,等存滿後再輸出
08/14 21:58, 7F

08/14 21:58, , 8F
1次存2個8BIT,存滿後,1次讀3個8BIT
08/14 21:58, 8F

08/14 21:59, , 9F
目前只想到這個辦法,還是大大有更好的方法
08/14 21:59, 9F

08/14 22:08, , 10F
output不能間斷嗎? 還是3B到下個3B可以停?
08/14 22:08, 10F

08/14 22:10, , 11F
不能間斷的話,lb要夠大...但應該也不需要到20000多bit
08/14 22:10, 11F

08/14 22:15, , 12F
等BUFFER存滿才開始讀,BUGGER就是20000多BIT
08/14 22:15, 12F

08/14 22:20, , 13F
為啥要存滿才開始讀?而且要20000b? 是design還是test bench?
08/14 22:20, 13F

08/14 22:31, , 14F
DESIGN要求就是這樣= =
08/14 22:31, 14F

08/14 22:37, , 15F
那就wadr<=wadr+2; 等write完 radr<=radr+3;
08/14 22:37, 15F

08/14 22:40, , 16F
可以講詳細一點嗎 謝謝^^
08/14 22:40, 16F

08/16 01:14, , 17F
你題目說得不清不楚 無法知道你想要幹嘛..你只問了怎麼
08/16 01:14, 17F

08/16 01:14, , 18F
簡化那180行 而板友提供一個不錯的解法..
08/16 01:14, 18F

08/16 01:15, , 19F
資料的長度?buffer是一維二維?存滿的定義是什麼?
08/16 01:15, 19F

08/16 10:15, , 20F
中間那段可以用C寫 再輸出到文字檔 複製貼上 快又不容易錯
08/16 10:15, 20F

08/16 10:21, , 21F
reset裡面應該也要包含shift reg的reset 這樣寫比較正確
08/16 10:21, 21F

08/16 10:25, , 22F
還有你reset trigger的方式可能打錯了 應該是negedge的^^
08/16 10:25, 22F

08/13 19:02, , 23F
為啥要存滿才開始讀?而 https://muxiv.com
08/13 19:02, 23F

09/17 22:57, , 24F
1次存2個8BIT,存 https://daxiv.com
09/17 22:57, 24F

11/11 15:54, , 25F
reset裡面應該也要 https://noxiv.com
11/11 15:54, 25F

01/04 22:12, 5年前 , 26F
不對,還是要到179, http://yofuk.com
01/04 22:12, 26F
文章代碼(AID): #1CPewRd4 (Electronics)