verilog设计--if...else与case区别比较

Verilog中if … else嵌套与case分支的区别比较

在VerilogHDL电路设计中,if语句指定另一个具有优先级的编码逻辑,而case语句生成的逻辑语句是并行的,不具有优先级

通常情况下,if … else结构速度比较慢,但是占用面积较小;case 结构速度较快,但占用面积较大。

如果嵌套的if … else 语句使用不当,就会导致设计的更大延时,为了避免较大的路径延时,不能使用特别长的嵌套 if …else 结构。如果需要利用if … else语句实现那些对延时要求苛刻的路径,应该将最高优先级给最迟到达的关键信号。

两种分支结构区别比较

需要注意的是,不完整的if … else 在时序电路中没有什么影响,可是在组合电路中会生成latch! case分支结构没有列举出所有的情况时,必须使用default,否则会产生latch,使用default使得覆盖率无法达到100%。
case分支结构共有三种形式,case(),casez(),casex(),其中case()判断0,1,x,z四种情况下的等价;casez()判断0,1,x三种情况下的等价,对z判断为真;casex()判断0,1两种情况下的等价,对x,z判断为真。


   转载规则


《verilog设计--if...else与case区别比较》 HELLO WORLD 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
基于FPGA实现多相滤波 基于FPGA实现多相滤波
使用ADC083000,量化位数是8bits, 最高采样率3.4GSPS(即3.4GHz),ADC083000配置为 DDR mode,随路时钟为 1/4 采样时钟。采用带通采样,带通采样定理 $$f_{S}=\frac{4 f_{0}
2022-08-05
下一篇 
vivado中快速找到综合后schematic中object vivado中快速找到综合后schematic中object
在vivado中对设计的RTL代码进行综合后,查看schematic可以更清楚各个模块之间的连线关系。如下图所示: 打开RTL ANALYSIS 即可查看到模块级联的关系图。
2022-03-23
  目录