作者moweb (moweb)
看板PLT
標題[問題] Verilog的上層模組呼叫下層模組之輸出入
時間Wed Mar 18 03:49:54 2009
各位大大好
不知道有沒有人可以為我解惑一下
小弟我寫了一個除頻器的電路
裡面除了除頻器本體外還加上一個看門狗電路
除頻器將原本的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)
1F:推 mono781010:因為在你的看門狗輸入的兩個位腳設有兩個輸入[1:0]data 06/08 21:19
2F:→ mono781010:在使用的時候要分開用 06/08 21:19
3F:→ mono781010:正確用法↓ 06/08 21:20
4F:→ mono781010:Divider DIV_TO_WD(.clkd3([1]data), .clkdn([0]data)) 06/08 21:21
5F:→ mono781010:或是 06/08 21:21
6F:→ mono781010:我上面打錯更正一下 06/08 21:22
7F:→ mono781010:Divider DIV_TO_WD(.clkd3(data[1]), .clkdn(data[0])) 06/08 21:22