Re: [問題] always與assign的問題
看板Electronics作者luckyBF (我想要年收上億!!!!!囧rz)時間17年前 (2007/01/02 01:19)推噓2(2推 0噓 1→)留言3則, 3人參與討論串1/3 (看更多)
※ 引述《CuckooBoy (阿書)》之銘言:
: 請問一個簡單的 C = A and B
: 可以用always與assign去寫
: 請問兩者差別為何 ?
: verilog 初學者,看過verilog的書了....
: 不過還是弄不清楚
: 不知到高手可以幫小弟解惑一下!!
: 你們應該會覺得這麼簡單還問.......不要罵我>"<
本來也想推文發表意見的~
但覺得不好講~~也覺得自己講得不一定對~~
更覺得自己可能不知道自己在講什麼~~
但看到推文說~~always @ (觸發條件)~說這是觸發條件~~
而assign是隨時改變時~~又想跳出來講了~
因為alwasy 有個寫法可以寫成~~always @ *
那是不是也變成隨時改變?
那這樣合出來的電路是不是又會跟assign一樣?
我不知道~~我還滿懶得試的XD
但就大致而言~~always大部份是用在有做clk或者是所謂「緣觸發」的動作的~
而assign則是很單純的「組合邏輯」~
所以假設只是單純的組合邏輯的話~~我會覺得用assign寫比較適當~
小弟最初的想法~
會覺得用什麼寫法都無所謂~~
重點是合成出來的電路~~
必須是自己頭腦想的電路~~這才是正確的~
但最近被教授叮~~
他當然也覺得寫出來的電路要跟頭腦想的一樣沒錯~
但他特別注重一點----可讀性
就是讓這程式給別人看也看得懂~
給自己放個三個月後看~也可以一目瞭然才行~~
所以變得有些很硬體觀念的電路~
例如多工器:我以前連想都不會想多工器這東西,直接用and去做出來~~
例如:
and (a_out, a訊號, 選擇a訊號)
and (b_out, b訊號, 選擇a訊號_bar)
or (輸出的訊號, a_out, b_out)
↖(不知道大家看不看得懂我的意思XD,夠硬體了吧XD)
而要改成
assign 輸出的訊號 = 選擇a訊號 ? a訊號 : b訊號
這樣寫教授才滿意
所以到底用哪個寫法比較好~~
我還是不清楚XD~~
不然就都試試看~看合成出來的電路有沒有哪個比較好或不好吧XD
--
我患了一種看到正妹~就不敢打招呼的病......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.122.62
※ 編輯: luckyBF 來自: 140.118.122.62 (01/02 01:32)
※ 編輯: luckyBF 來自: 140.118.122.62 (01/02 01:33)
→
01/02 07:02, , 1F
01/02 07:02, 1F
推
01/02 11:02, , 2F
01/02 11:02, 2F
推
01/05 08:39, , 3F
01/05 08:39, 3F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):