可综合电路设计:阻塞与非阻塞赋值解析

需积分: 31 0 下载量 80 浏览量 更新于2024-08-17 收藏 1.39MB PPT 举报
"这篇资源主要讨论了在可综合电路设计中的阻塞赋值与非阻塞赋值,特别是在Verilog语言中的应用。作者通过mac运算的例子介绍了这两种赋值方式,并结合天津大学计算机科学与技术学院计算机工程系的课程内容,阐述了逻辑综合的概念和流程。" 在数字电路设计中,Verilog HDL是常用的硬件描述语言,用于描述电路的行为和结构。在Verilog中,有两种主要的赋值方式:阻塞赋值( Blocking Assignment)和非阻塞赋值(Non-Blocking Assignment)。 1. 阻塞赋值(`=`):阻塞赋值在执行时会立即更新变量的值,并且后面的语句会等待当前赋值完成才会继续执行。例如,在mac运算中,如果使用阻塞赋值,`out1 = ina * inb + inc`会先计算右边的表达式,然后更新`out1`的值,此时`out1`的旧值将被新计算的结果覆盖。 2. 非阻塞赋值(`<=`):非阻塞赋值则不会立即更新变量,而是将其值在当前时间周期结束时更新。这种方式常用于描述组合逻辑和寄存器更新,它允许在同一时钟周期内进行多个赋值操作,而不会立即改变变量的值。在上述mac运算中,如果使用非阻塞赋值,`out1 <= ina * inb + inc`会在当前时钟边缘之后才执行,此时`out1`的值会被新的计算结果取代,但不会立即影响其他并行的计算。 逻辑综合是将高级语言描述的电路转化为门级网表的过程,它是VLSI设计的关键步骤。这个过程包括翻译、逻辑优化和工艺映射与优化三个阶段。在翻译阶段,RTL代码被转换为内部表示;逻辑优化阶段通过消除冗余逻辑和布尔优化技术提高效率;工艺映射和优化阶段则根据工艺库中的标准单元实现设计,并依据设计约束(如时序、面积和功耗)进行优化。 逻辑综合工具使用标准单元库,其中包含基础逻辑门和预定义的宏单元,如加法器、触发器等。这些库单元是集成电路制造的基础,它们具有特定的工艺特性。设计者可以通过逻辑综合工具进行与工艺无关的设计,增加设计的重用性和适应性,同时减少设计时间和错误率。 逻辑综合对VLSI系统设计有着深远的影响,它使得设计者可以从高层次的算法或寄存器传输级别快速转换到门级描述,减少了设计迭代的时间,提高了整体设计效率,并允许工具进行全局优化,从而实现更快、更小、功耗更低的电路设计。