《verilog数字系统设计教程》笔记1

本文介绍了VerilogHDL和VHDL在数字系统设计中的应用,对比了电路原理图输入法的缺点,强调了Verilog的标准化和软核重用的价值。自顶向下设计方法也被详细阐述,包括模块设计、仿真和验证的过程。
摘要由CSDN通过智能技术生成

《Verilog数字系统设计教程》【夏宇闻】-笔记1

Verilog和VHDL

Verilog HDL 是硬件描述语言的一种,用于数字电子系统设计。设计者可用它进行各种级别的逻辑设计,可用它进行数字逻辑系统的仿真验证、时序分析、逻辑综合。它是目前应用最广泛的一种硬件描述语言。
VHDL的英文全名为VHSIC Hardware Description Language, ,中文译名是甚高速集成电路的硬件描述语言。Verilog HDL和VHDL作为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的行为和结构;支持逻辑设计中层次与范围的描述;可借用高级语言的精巧结构来简化电路行为的描述;具有电路仿真与验证机制以保证设计的正确性;支持电路描述由高层到低层的综合转换;硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去);便于文档管理;易于理解和设计重用。

Verilog HDL 设计法与传统的电路原理图输入法的比较

用电路原理图输入法进行设计,具有设计周期长、需要专门的设计工具、需手工布线等缺陷。而采用 Verilog 输人法时,由于 Verilog HDL 的标准化,可以很容易地把完成的设计移植到不同厂家的不同的芯片中去,并在不同规模应用时可以较容易地作修改。这不仅是因为用 Verilog HDL所完成的设计,它的信号位数是很容易改变的,可以很容易地对它进行修改,来适应不同规模的应用;在仿真验证时,仿真测试矢量还可以用同一种描述语言来完成,而且还因为采用 Verilog HDL综合器生成的数字逻辑是一种标准的电子设计互换格式(EDIF)文件,独立于所采用的实现工艺。有关工艺参数的描述可以通过 VerilogHDL提供的属性包括进去,然后利用不同厂家的布局布线工具,在不同工艺的芯片上实现。
采用 Verilog 输人法最大的优点是其与工艺无关性。这使得工程师在功能设计、逻辑验证阶段,可以不必过多考虑门级及工艺实现的具体细节,只需要利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路。实际上这是利用了计算机的巨大能力并在EDA 工具的帮助下,把逻辑验证与具体工艺库匹配、布线及时延计算分成不同的阶段来实现,从而减轻了人们的烦琐劳动。

Verilog 的标准化与软核的重用

Verilog HDL的标准化大大加快了Verilog HDL的推广和发展。由于Verilog HDL设计方法与工艺无关性,因而大大提高了 Verilog 模型的可重用性。我们把功能经过验证的、可综合的、实现后电路结构总门数在5000门以上的 Verilog HDL 模型称之为“软核”(Soft Core),而把由软核构成的器件称为虚拟器件。在新电路的研制过程中,软核和虚拟器件可以很容易地借助 EDA综合工具与其他外部逻辑结合为一体。这样,利用软核和虚拟器件的可重复利用的特性就可大大缩短设计周期,加快了复杂电路的设计。
软核、固核和硬核的概念以及它们的重用
我们把在某一种现场可编程门阵列(FPGA)器件上实现的,经验证是正确的,且总门数在5000门以上的电路结构编码文件,称之为“固核”。把在某一种专用集成电路工艺的(ASIC)器件上实现的,经验证是正确的,且总门数在 5000 门以上的电路结构版图掩膜,称之为“硬核”。
显而易见,在具体实现手段和工艺技术尚未确定的逻辑设计阶段,软核具有最大的灵活性,它可以很容易地借助 EDA 综合工具与其他外部逻辑结合为一体。相比之下,固核和硬核与其他外部逻辑结合为一体的灵活性要差得多。为了逻辑电路设计成果的积果,和更快更好地设计更大规模的。我们新一代的数字逻辑电路电路,发展软核的设计和推广软核的重用技术是非常有必要的。

自顶向下(Top-Down)设计的基本概念

现代集成电路制造工艺技术的改进,使得在一个芯片上集成数十万乃至数千万个器件成为可能,但很难设想仅由一个设计师独立设计如此大规模的电路而不出现错误。利用层次化结构化的设计方法,一个完整的硬件设计任务首先由总设计师(Architect)划分为若干个可操作的模块,编制出相应的模型(行为的或结构的),通过仿真加以验证后,再把这些模块分配给下一层的设计师。这就允许多个设计者同时设计一个硬件系统中的不同模块,其中每个设计者负责自己所承担的部分;而由上一层设计师对其下层设计者完成的设计用行为级上层模块对其所做的设计进行验证。为了提高设计质量,如果其中有一部分模块可由商业渠道得到,可以购买它们的知识产权的使用权(IP 核的重用),以节省时间和开发经费。自顶向下(Top-Down)的示意图,以设计树的形式绘出。自顶向下的设计是从系统级开始,把系统划分为若干个基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接用 EDA 元件库中的基本元件来实现为止。

具体模块的设计编译和仿真的过程

在不同的层次做具体模块的设计所用的方法也有所不同。在高层次上往往编写一些行为级的模块,并通过仿真加以验证,其主要目的是系统性能的总体考虑和各模块的指标分配,并非具体电路的实现,因而综合及其以后的步骤往往不需进行。而当设计的层次比较接近底层时,行为描述往往需要用电路逻辑来实现,这时的模块不仅需要通过仿真加以验证,还需进行综合、优化、布线和后仿真。总之,具体电路是从底向上逐步实现的。EDA 工具往往不仅支持HDL 描述也支持电路图输入,有效地利用这两种方法是提高设计效率的办法之一。
模块设计流程主要由两大主要功能部分组成1)设计开发即从编写设计文件→综合布局布线→投片生成这样一系列步骤。2)设计验证:也就是进行各种仿真的一系列步骤,如果在仿真过程中发现问题就返回设计输入进行修改。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值