[問題] Verilog的上層模組呼叫下層模組之輸出入

看板PLT (程式語言與理論)作者 (moweb)時間15年前 (2009/03/18 03:49), 編輯推噓1(106)
留言7則, 1人參與, 最新討論串1/1
各位大大好 不知道有沒有人可以為我解惑一下 小弟我寫了一個除頻器的電路 裡面除了除頻器本體外還加上一個看門狗電路 除頻器將原本的10us的時鐘訊號除為兩種訊號 一、3 CLOCKS 跳一次 二、N CLOCKS 跳一次(N是當時模擬所給訊號值而定) 基本上寫作沒什麼問題 現在卡在...我的除頻器將時鐘訊號除完後 我是設定兩個腳位 clkd3, clkdn 分別輸出兩種頻率的時鐘訊號 之後看門狗那邊有隻兩位元的輸入腳位 ([1:0] data) 我在看門狗程式中呼叫除頻器模組時使用 By Name 方式做Port Mapping 我現在想把 clkd3, clkdn 兩隻腳位一起輸入到看門狗的 data 上 要如何寫才是正確的呢? 我是寫:Divider DIV_TO_WD(.clkd3(data), .clkdn(data)); 但他都顯示錯誤:Error: Net "WatchDog:WD|data[0]~1", which fans out to "WatchDog:WD|data_tmp~1", cannot be assigned more than one value 因為我底下有行程式是另一個暫存器去讀取 data 的值,是因為這樣他才不讓我指定嗎? 煩請解惑,謝謝^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.143.158.8 ※ 編輯: moweb 來自: 220.143.158.8 (03/18 03:50)

06/08 21:19, , 1F
因為在你的看門狗輸入的兩個位腳設有兩個輸入[1:0]data
06/08 21:19, 1F

06/08 21:19, , 2F
在使用的時候要分開用
06/08 21:19, 2F

06/08 21:20, , 3F
正確用法↓
06/08 21:20, 3F

06/08 21:21, , 4F
Divider DIV_TO_WD(.clkd3([1]data), .clkdn([0]data))
06/08 21:21, 4F

06/08 21:21, , 5F
或是
06/08 21:21, 5F

06/08 21:22, , 6F
我上面打錯更正一下
06/08 21:22, 6F

06/08 21:22, , 7F
Divider DIV_TO_WD(.clkd3(data[1]), .clkdn(data[0]))
06/08 21:22, 7F
文章代碼(AID): #19l_xZYZ (PLT)
文章代碼(AID): #19l_xZYZ (PLT)