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