Re: [問題] 邏輯閘問題
你可以自己想一想 為什麼
always @( A or B or C)
if ...
這樣會合成成latch? 為什麼大家都不喜歡看到latch?
為什麼最好不要有訊號沒放在sensitivity list內?
為什麼full case跟parallel case有其存在的必要性?
你想想看不同的寫法 會是合成成什麼樣子的電路?
事實上有很多為什麼你該問的是自己 而不是網友們
有很多類似的問題 你自己想過後 常常是環環相扣 很容易理解的
而且你可以去看VCS的user guide或是manual
我沒記錯會講到一些coding style 包含blocking/non-blocking等等
這些東西都是要你"自己"花時間去看過才有用
網路上發問可能可以得到很快的回應跟收穫
但是easy get easy erase... 不用多久你又會忘了很多東西
誠心的建議您 這種基礎功夫要靠自己花時間去理解 才能根深蒂固
不過你在FPGA搞這些東西 FPGA用了很多cell library
你就算合成了 可能也看不太到實際上的schematic
你可能也無法體會不同的語法合成出來的差異性
--
不過 事實上verilog只要你遵守固定的語法跟觀念就可以了
除非你的觀念/語法錯誤 才有可能讓compiler合成出你意料之外的電路
而這些意外的電路通常都不小 而且難以控制又花area/power
不然我還沒聽過
一樣的function誰誰誰光改寫rtl code可以做出只有一半area的
通常SOC的決勝點都在analog...不同的架構area/power可以差到1/3
※ 引述《CuckooBoy (阿書)》之銘言:
: 請教各位大大
: 常聽人說不要用程式的角度去想數位電路
: 而要用數位電路去想程式
: 我不明白這道理耶.....
: 因為我正在學VERILOG,我一直在擔心我會跟他講得一樣 用程式去想數位電路
: 因為一般書上教的....好像就是用程式引導出數位電路
: 我有問過一些人 他們說........看就了就知道 要的功能是什麼數位電路
: 真的是這樣嗎?
: 還是要用到卡諾圖化簡呢?
: 因為合成出來的電路是最佳化的,我怎麼看得出來為什麼要這樣兜呀?
: 不是因為卡諾圖化簡的結果等於這樣嗎?
: 還是..........?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.69.97.52
→
01/10 16:20, , 1F
01/10 16:20, 1F
推
01/11 10:49, , 2F
01/11 10:49, 2F
討論串 (同標題文章)