看板 Electronics 關於我們 聯絡資訊
我想請問板上的大大 為什麼做Cell-Based的流程 在寫HDL時,要盡量避免合出Latch呢? 是電路合成不容易掌握? 還是Cell-Based的Latch 效能不好? 請各位大大賜教 -- 當在跑向終點的漫長旅程上,請不要忘記最初起點的夢想! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.73.96
hayden0828:主要是會有時脈同步的問題,如果合出Latch可能會擋住訊 01/10 14:53
hayden0828:號的passing,再加上面積、功率、速度都很劣勢。 01/10 14:55
hayden0828:很多人會把C語言的變數記憶體空間觀念拿來硬上VHDL 01/10 14:56
hayden0828:不是Latch不好,在資料儲存時會用到Latch很正常 01/10 15:01
hayden0828:重點在於組合電路合成時本身就不應該有Latch 01/10 15:03
ilovepachaya:在不需要有latch的地方有latch 就是浪費 01/10 16:02
zxvc:這萬惡的淵源(!?)來自Verilog always construct的ambiguous。 01/10 16:35
zxvc:想用它model combinational logic一個不小心,就會合出latch 01/10 16:37
zxvc:。到了SystemVerilog就新增always_comb、always_latch 01/10 16:39
zxvc:constructs避免易錯。 01/10 16:40
zxvc:Verilog always好用、它可以model很多東西,但也容易被濫用。 01/10 16:43
hayden0828:當然這個還跟IEEE1364~... 沒有定義的很完善有關 01/10 16:50
hayden0828:新版的有定義到 always @(*) 萬用字元 01/10 16:51
hayden0828:配合blocking assignment應該不容易合出Latch才是 01/10 16:53
pow:「硬體描述語言」 先設計好硬體 再用語言去描述 01/10 21:47
pow:如果你設計的的硬體裡面沒有latch 合成出來也不應該有latch 01/10 21:47
pow:電路裡面常常有很多glitch 例如先跳到high 再low 最後才是high 01/10 21:48
pow:如果你後面是接latch 會把這種glitch傳下去 01/10 21:48
pow:如果考量到這種狀況 當初設計硬體的時候 你絕對不會放latch 01/10 21:49
sneak: constructs避 https://noxiv.com 08/13 18:54
sneak: 如果考量到這種狀況 當 https://daxiv.com 09/17 22:49
sneak: 重點在於組合電路合成時 https://daxiv.com 11/11 15:37
sneak: 新版的有定義到 alw https://muxiv.com 01/04 22:06