Re: [問題] quartus II 的問題

看板Electronics作者 (smile~^^)時間19年前 (2007/02/11 19:16), 編輯推噓1(1011)
留言12則, 3人參與, 最新討論串5/12 (看更多)
※ 引述《invalid (everlasting)》之銘言: : 順便建議一下你的code,latch應該是可以避免的 : 簡單來說要避免latch,只要把所有可能發生的情況都列出來就好了 : (沒有變化的話寫A<=A也好,就是不要不要寫) : 還有combination block的話sensitivity list要寫完全 : (所以我比較喜歡用assign) : ※ 引述《Trai (Trai)》之銘言: : : ======================================================== : : always @(posedge IO_nWE) : : begin : : if(IO_nECS3==0) : : case(io_addr) : : 16'h0000: buffer[0][31:16] <= io_data; : : 16'h0001: buffer[0][15:0] <= io_data; : : 16'h0002: buffer[1][31:16] <= io_data; : : 16'h0003: buffer[1][15:0] <= io_data; : : 16'h0004: buffer[2][31:16] <= io_data; : : 16'h0005: buffer[2][15:0] <= io_data; : : .........etc : 這邊要記得加上default(除非你所有的case都有指定) : 也要記的加上else ( for if) 其實若是這邊表達的是一個flip flop其實可以不用default... 因為我不知道IO_nWE是什麼? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.103.42

02/11 21:41, , 1F
IO_nWE 是版子上BUS的訊號,data 與 address ready時
02/11 21:41, 1F

02/11 21:42, , 2F
用這個訊號1->0 通知FPGA把資料讀入
02/11 21:42, 2F

02/11 23:25, , 3F
我的直覺是把32個16bit的reg分開來寫,一定會OK的。
02/11 23:25, 3F

02/11 23:27, , 4F
之前你也有提到「固定」的方式OK,我說的就是一樣的東西
02/11 23:27, 4F

02/12 01:35, , 5F
好 我試試看
02/12 01:35, 5F

02/12 01:36, , 6F
可是如果要將32組資料循序送入 那我還是需要一個counter
02/12 01:36, 6F

02/12 01:37, , 7F
來控制MUX去選擇Register
02/12 01:37, 7F

02/13 00:45, , 8F
不太清楚原po的Bus送訊號的時序圖,但是我猜一個clk週期最
02/13 00:45, 8F

02/13 00:46, , 9F
多也只會有一筆data是ready的,這時候,強烈建議將buffer那
02/13 00:46, 9F

02/13 00:46, , 10F
部分的code改成用posedge clk這種同步電路來實現,同時注意
02/13 00:46, 10F

02/13 00:47, , 11F
而buffer之read/write的index不要出現有overflow/underflow
02/13 00:47, 11F

02/13 00:48, , 12F
我猜想原po的運算電路OPA/OPB應該都是同步電路從buf抓資料
02/13 00:48, 12F
文章代碼(AID): #15plht-F (Electronics)
討論串 (同標題文章)
文章代碼(AID): #15plht-F (Electronics)