Re: [問題] verilog中if else和case合成後的差別

看板Electronics作者 (數位邏輯之繩)時間11年前 (2012/09/13 16:26), 編輯推噓1(107)
留言8則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《hadbeen (你在哪)》之銘言: : 那寫成 : if(a>1000) 執行ins4 : else if(a>100) 執行ins3 : else if(a>10) 執行ins2 : else 執行ins1 : 應該也是合出上面同義(function上同義)case敘述所合成出的電路吧? : 那這樣的話兩種寫法差在哪?寫code的方便性嗎?(如果要寫case就要寫一大堆) complier 愈來愈強時,寫簡單的 case 跟 if-else 並不會差太多 個人覺得後面這種條件的寫法會比 case 詳列簡單明暸 很難說 complier 可以把 case (類似真值表)的方式處理的跟 5-bit 比較器一樣好 個人感覺 complier 對 6~8 bits 的真值表跟 adder/comparer 處理大概到極限了 像有些 filter 對稱係數 64 個 case 查表 在進 case 查表前先對 input 做簡化去查 32 個係數的表應該會比較小 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.222.64.111

09/13 21:37, , 1F
簡單明瞭 電路複雜 一樣有問題的 XD
09/13 21:37, 1F

09/13 21:37, , 2F
Compiler 是以6~8 bits的表去查的沒錯
09/13 21:37, 2F

09/13 21:38, , 3F
5 bits 的會被合併 (如果夠聰明的話)
09/13 21:38, 3F

09/13 21:38, , 4F
現在較新的hdl 寫法都慢慢推行parallel寫法
09/13 21:38, 4F

09/13 21:39, , 5F
以及相對聰明的compiler 因為大家慢慢發現compiler實
09/13 21:39, 5F

09/13 21:39, , 6F
在是有一些難解之處 更多的是使用者寫法的問題
09/13 21:39, 6F

09/13 21:40, , 7F
case to case study之後 你會發現有些公司提供的轉譯
09/13 21:40, 7F

09/13 21:40, , 8F
庫可以幫助一些優化 但進步也有看情況了 XD
09/13 21:40, 8F
文章代碼(AID): #1GKPZA0r (Electronics)
文章代碼(AID): #1GKPZA0r (Electronics)