作者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