[爆卦]verilog陣列是什麼?優點缺點精華區懶人包

為什麼這篇verilog陣列鄉民發文收入到精華區:因為在verilog陣列這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者bamboopole (ㄈㄓ肥竹)看板Electronics標題[問題] Verilog 二維陣...


我想請問一下
我建立了一個二維陣列
reg [7:0] Matrix [0:129][0:129];
利用兩個for loop來進行初始化(全部給0)

我發現在Matrix[0][1] 的位置都沒有訊號,但附近的位置是有值的

想請問一下我是哪裡錯惹



我的Code的初始化,還有display出來的部分
https://i.imgur.com/Vgdc4sH.jpg







這是display出來的結果
https://i.imgur.com/vcV5uhm.jpg


--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.115.170.41 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1623854933.A.B83.html
hsucheng: for loop是複製電路,不是真的迴圈,把[0][1] 06/17 00:37
hsucheng: 那行拿掉試試 06/17 00:38
bamboopole: Matrix[0][1] <=8'd0; 06/17 01:11
bamboopole: 這行砍掉也沒用 06/17 01:11
bamboopole: 我本來是沒寫這行的 06/17 01:11
bamboopole: 是發現這個位置有問題才加上去試試看會不會有用 06/17 01:11
bamboopole: 結果沒用QQ 06/17 01:11
a86692472: highlight 一下 Matrix 找找是否double 到? 06/17 01:20
bamboopole: 抱歉,我是初學者,看不太懂這句話QQ 06/17 01:32
bamboopole: 不知道能不能講的具體一點 06/17 01:32
bamboopole: 我這個是用vscode寫,然後用modelsim跑模擬 06/17 01:32
mmonkeyboyy: .......。。 你複製了一堆matrix 06/17 02:31
tkhan: C code 06/17 10:43
hsucheng: 你的matrix某些bit被multi drive了吧 06/17 10:50
Matrix[0][1] <= 8'd0;是發現它沒有值才加上去的

a86692472: BTW 你的 iData 都給什麼 會不會就給 Matrix[0][1] z 06/17 11:38
這個位置應該是只會初始為0,值應該不會再做修改,我在檢查一下我的波形圖,看看有沒有被input z
※ 編輯: bamboopole (58.115.170.41 臺灣), 06/17/2021 12:15:17
bamboopole: 感謝各位的幫助,如a8大所說 06/17 13:17
bamboopole: 我不小心在中間input了一個z給它 06/17 13:17
cyl61123: C-style Verilog Programming? 06/17 20:55
我只知道這樣寫QQ 不然還有什麼更好的寫法嗎?
HenryLin123: 很久沒看到asynchronous reset還有non blocking 滿滿 06/17 21:17
HenryLin123: 一串code了 06/17 21:17
※ 編輯: bamboopole (180.217.194.17 臺灣), 06/18/2021 01:20:58
mmonkeyboyy: 你有心想寫的話網上有不少教你該怎樣正確寫的 06/18 07:45
mmonkeyboyy: 這個寫法下去跑synthesis 直接掛點@_@~ 06/18 07:46
mmonkeyboyy: 如果只是修課想過就隨便了啦 06/18 07:47
synthesis真的掛了,位置不夠,重寫了一個QQ
hsucheng: 對呀,你有看過合成完cell數量嗎XD 06/18 20:29
爆了xD
tkhan: 畫一下硬體架構圖吧 06/19 08:08
ayn775437403: 修課過的話隨便寫沒差,但以後要走這行的話建議還是 06/19 21:22
ayn775437403: 不要這樣寫,先有硬體架構再來寫code比較好 06/19 21:22
我有先稍微規劃一下架構,本來我是分別製作好幾個模組接在一起,然後用FSM決定在每個state要做什麼,結果模擬時位置不夠,上面那張截圖是其中一個模組
※ 編輯: bamboopole (180.217.79.245 臺灣), 06/20/2021 20:18:09
※ 編輯: bamboopole (180.217.79.245 臺灣), 06/20/2021 20:18:27
※ 編輯: bamboopole (180.217.79.245 臺灣), 06/20/2021 20:23:04
mmonkeyboyy: 概念上是這樣的 你先分好模組 在模組中你再找出 06/21 12:18
mmonkeyboyy: 該有的FSM 把該FSM再分成時間 output 狀態等部份 06/21 12:19
mmonkeyboyy: 這樣寫下去 你再把模組組合在一起 通常會比較不容 06/21 12:20
mmonkeyboyy: 易出錯 一般當代的的HDL能寫MOORE就多寫 所以別的 06/21 12:20
mmonkeyboyy: 能不用會少用也是好事 06/21 12:21
mmonkeyboyy: 如果你有複數的FSM要整合 記得先把信號分群 再整合 06/21 12:22
mmonkeyboyy: 雖然程式看起來會異常的大 但你的synthesis出來會 06/21 12:23
mmonkeyboyy: 不難看的 反倒是你都混在一起寫的方式 看似簡單但 06/21 12:23
mmonkeyboyy: 只是把工作都丟給DC等 搞死自己搞死大家而已 06/21 12:24
mmonkeyboyy: 至於什麼要重新rst給值的方法 你最好上網看一下 06/21 12:25
mmonkeyboyy: 你現在這方法真的是當C寫 .... 這不是很正確的 06/21 12:25
hsucheng: matrix可能要改用BRAM做 06/21 12:44
感謝各位大大的分享,我會再研究看看的~
※ 編輯: bamboopole (58.115.170.41 臺灣), 06/24/2021 22:17:20

你可能也想看看

搜尋相關網站