《基于Verilog HDL 的数字系统设计简明教程 全部案例基于远程云端平台实现》赵科|(epub+azw3+mobi+pdf)电子书下载

图书名称:《基于Verilog HDL 的数字系统设计简明教程 全部案例基于远程云端平台实现》

【作 者】赵科
【页 数】 287
【出版社】 北京:中国铁道出版社 , 2022.01
【ISBN号】978-7-113-28503-6
【价 格】58.00
【分 类】VHDL语言-数字电路-高等学校-教材-数字系统-系统设计-高等学校-教材
【参考文献】 赵科. 基于Verilog HDL 的数字系统设计简明教程 全部案例基于远程云端平台实现. 北京:中国铁道出版社, 2022.01.

图书封面:

图书目录:

《基于Verilog HDL 的数字系统设计简明教程 全部案例基于远程云端平台实现》内容提要:

本书是智能硬件应用开发1+X职业技能FPGA配套教材。

《基于Verilog HDL 的数字系统设计简明教程 全部案例基于远程云端平台实现》内容试读

第1章

EDA技术概述

EDA技术渗透到电子产品设计的各个环节,是电子学领域的重要学科,形成一个独立的产业

没有EDA技术的支持,就不能完成超大规模集成电路的设计制造,反过来生产制造技术的不断进

步也必将对EDA技术提出新的要求。本章首先介绍EDA技术及其发展,接着介绍EDA设计工具,

介绍硬件描述语言,最后介绍可编程逻辑器件。

EDA技术及其发展

EDA(Electronic Design of Automation,电子设计自动化)是电子设计与制造技术发展的核心。

EDA技术是以大规模可编程逻辑器件为设计载体,以计算机为工具,在EDA工具软件平台上,对

以硬件描述语言(Hardware Description Language,HDL)为系统逻辑描述手段完成的设计文件,自动地完成逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线)以及逻辑优化和仿真测试等

功能,直至实现既定性能的电子线路系统。EDA技术使得设计者的工作仅限于利用软件的方式,

即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。EDA技术涉及面很广,内容丰

富,从教学和实用角度看,主要应掌握大规模可编程逻辑器件、硬件描述语言、软件开发工具

和实验开发系统(见附录A)等方面内容。EDA技术的出现不仅更好地保证了电子工程设计各

级别的仿真、调试和纠错,为其发展带来强有力的技术支持,并且在电子、通信、化工、航空航天、生物等各个领域占有越来越重要的地位,很大程度上减轻了相关从业者的工作强度。

EDA技术在最近几年获得了飞速发展,应用领域也变得越来越广泛,其发展过程是现代电子

设计技术的重要历史进程,主要包括以下几个阶段:

①早期阶段,即CAD阶段。20世纪70年代左右的社会已经存在中小规模的集成电路,当时

人们采用传统的方式进行制图,设计印制电路板(Printed Circuit Board,PCB)和集成电路,不仅

效率低、花费大,而且制作周期长。人们为了改善这一情况,开始运用计算机进行PCB设计,用

CAD这一崭新的图形编辑工具代替电子产品设计中布图布线这类重复性较强的劳动,其功能包括

基于Verilog HDL的数字系统设计简明教程一全部案例基于远程云端平台实现

设计规则检查、交互图形编辑、PCB布局布线、门级电路模拟和测试等。

②发展阶段,即CAE阶段。20世纪80年代左右,EDA技术已经到了一定的发展和完善阶段。

由于集成电路规模逐渐扩大,电子系统变得越发复杂,为了满足市场需求,人们开始对相关软件

进行进一步的开发,在把不同EDA工具合成一种系统的基础上,完善了电路功能设计和结构设计。

EDA技术在此时期逐渐发展成半导体芯片的设计,已经能生产出可编程半导体芯片。

③成熟阶段。在20世纪90年代以后,微电子技术获得了突飞猛进的发展,集成几千万乃至

上亿的晶体管只需一个芯片。这给EDA技术带来了极大的挑战,促使各大公司对EDA软件系统

进行更大规模的研发,以高级语言描述、系统级仿真和综合技术为特点的EDA就此出现,使得

EDA技术获得了极大的突破。

进入21世纪后,EDA技术得到了更大的发展,电子设计成果以自主知识产权(P)的方式得

以表达和确认,软硬件P核在电子行业的产业、技术和设计应用领域得到广泛应用。系统级、行

为验证级硬件描述语言相继出现,更加方便复杂电子系统的设计和验证。

硬件描述语言

硬件描述语言是电子系统硬件行为描述、结构描述和数据流描述的语言。利用这种语言,数字电路系统的设计首先可以从顶层到底层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。最后,再用专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field Programmable

Gate Array,FPGA)自动布局布线工具,把网表转换为要实现的具体电路布线结构。

硬件描述语言是对电路系统的结构、行为的标准文本描述。硬件描述语言和一些并行编程语言一样存在并行性的表达方式。然而,和大多数用于软件设计的编程语言不同,硬件描述语言可以描述硬件系统在不同时间的时序行为,而时序性正是硬件电路的重要性质之一。在计算机辅助设计中,用于描述电路模块中连线、各层次模块之间互连的硬件描述语言代码称为“网表”。硬件描述语言可以在结构级(或称逻辑门级)人、行为级、寄存器传输级这几种不同的层次上对电路进行描述,实现同一功能的硬件描述语言,也可以使用任一层次的硬件描述语言代码来描述。通过逻辑综合,后两种层次的硬件描述语言代码可以被转换到低抽象级别的门级描述,但是采用不同厂商的工具、使用不同的综合设置策略可能会产生不同的结果。

在实现具体的硬件电路之前,设计人员可以利用硬件描述语言来进行仿真。在硬件实现的过程中,硬件描述语言的源文件通常会被转换成一种类似可执行文件的中间文件,该文件可以解释硬件描述语言的各种代码、语句的语义。正由于此,硬件描述语言具有了类似软件编程语言的一些性质,但是总体来说,它仍然属于规约语言、建模语言的范畴。模拟电路也有自己的硬件描述语言,但和数字电路的差异较大。

常用的硬件描述语言有VHDL、Verilog HDL、System-Verilog和System C等,而VHDL和

Verilog HDL是当前最流行的,并已成为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域已成为事实上的通用硬件描述语言。Verilog HDL和VHDL作为描述硬件电路

第1章EDA技术概述

设计的语言,其共同的特点在于:能形式化地抽象表示电路的行为和结构、支持逻辑设计中层次与范围的描述、可借用高级语言的精巧结构来简化电路行为的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去)、便于文档管理、易于理解和设计重用。但是Verilog HDL和VHDL又各有其自己的特点,由于Verilog HDL早在1983年就已推出,至今已有近四十年的应用历史,因而Verilog HDL拥有更广泛的设计群体,成熟的资源也远比VHDL丰富。与VHDL相比,Verilog HDL的最大优点是:它是一种非常容易掌握的硬件描述语言,只要有C语言的编程基

础,再加上一些实际操作,一般读者就可掌握这种设计技术。而掌握VHDL设计技术就比较困难,

这是因为VHDL不直观,需要有Ada编程基础,一般需要较长时间才能掌握VHDL的基本设计技术。目前版本的Verilog HDL和VHDL在行为级抽象建模的覆盖范围方面也有所不同。一般认为

Verilog HDL在系统级抽象方面比VHDL略差一些,而在门级开关电路描述方面比VHDL强得多。

用VHDL/Verilog HDL语言开发PLD/FPGA的完整流程为:

①文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL

文件保存为.vhd文件,Verilog文件保存为.v文件。

②功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也称前仿真,

对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)。

③逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf(cdif)的EDA工业标准文件。

④布局布线:将.©df文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到

CPLD/FPGA内。

⑤时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序(也称后仿真)。

⑥编程下载:确认仿真无误后,将文件下载到芯片中。

通常以上过程可以都在PLD/FPGA厂家提供的开发工具如QuartusⅡ、ISE和Vivado)中完成。

EDA设计工具

EDA软件设计工具大体分为两类:一类是EDA专业软件公司,较著名的有Synopsys、

Cadence和Mentor-Graphics公司等,这类公司都有各自独立的设计流程与相应的EDA设计工具;另一类是半导体器件厂商为了销售自己的产品而开发的EDA工具,较著名的公司有Altera、Xilinx和Lattice公司等。EDA专业软件公司独立于半导体器件厂商,其推出的EDA系统具有较好的标准化和兼容性,同时也注重追求技术上的先进性,适合于学术性基础研究或专业从事集成电路设

计的单位使用。而半导体厂商开发的EDA软件工具,比较适合新产品开发单位使用:

EDA设计工具在EDA技术应用中占有极其重要的位置。按照功能划分,EDA工具大致可分

为设计输人工具(编辑器)、设计仿真工具(仿真器)、检查/分析工具、优化/综合工具、布局布线工具(适配器)及下载工具(编程器)等多个模块。

1.设计输入工具(编辑器)

设计输入工具一般包括在集成开发软件或者综合/仿真工具中,编辑器包括文字编辑器和图形

基于Verilog HDL的数字系统设计简明教程一全部案例基于远程云端平台实现

编辑器。在系统设计中,文字编辑器用来编辑硬件系统的自然描述语言,在其他层次用来编辑电

路的硬件描述语言文本。在数字系统中的门级、寄存器级和芯片级,常用的描述语言为VHDL和

Verilog HDL;在模拟电路级,硬件描述语言通常为SPICE的文本输人。图形编辑器可用于硬件设计的各个层次。在版图级,图形编辑器用来编辑表示硅工艺加工过程的几何图形。在高于版图层次的其他级,图形编辑器用来编辑硬件系统的方框图、状态图和原理图等。典型的原理图输人工具至少包含有基本单元符号库、原理图编辑功能和产生网表的功能。

2.设计仿真工具(仿真器)

仿真器又称为模拟器,主要用来帮助设计者验证设计的正确性。在硬件系统设计的各个层次都要用到仿真器。在数字系统设计中,硬件系统由数字逻辑器件和它们之间的互连表示,仿真器就是确定系统的输入/输出关系,采用的方法是把每一个数字逻辑器件映射为一个或几个进程,把整个系统映射为由进程互连构成的进程网络,该网络就是设计的仿真模型。

3.检查/分析工具

在集成电路设计的各个层次都会用到检查/分析工具。在版图级必须用设计规则检查工具来保证版图所表示的电路可以被可靠地制造出来。在逻辑门级,检查/分析工具可以用来检查是否有违反扇出规则的连接关系。时序分析器一般用来检查最坏情形时电路中的最大和最小延时。

4.优化/综合工具

优化/综合工具用来把一种硬件描述转换为另一种描述,转换过程同时伴随着设计的某些改进。在逻辑门级可用逻辑最小化来对布尔表达式进行简化。在寄存器级,优化工具可以用来确定控制序列和数据路径的最优组合。各个层次的综合工具可将硬件的高层次描述转换为低层次描述,也可将硬件的行为描述转换为结构描述。

5.布局布线工具(适配器)

适配器的任务是完成目标系统在器件上的布局布线,通常都由PLD的厂商提供专门针对器件

开发的软件来完成。如Altera公司的EDA集成开发环境QuartusⅡ中含有嵌人的适配器;Xilinx公司的ISE和Vivado同样含有自己的适配器。适配器最后输出的是各厂商自己定义的下载文件。

6.下载工具(编程器)

下载工具的任务是将适配器最后输出的下载文件下载到对应的可编程逻辑器件中,以实现硬件设计。通常由可编程逻辑器件厂商提供的专门针对器件的下载或编程软件来完成。

可编程逻辑器件

可编程逻辑器件(Programmable Logic Device,PLD)作为一种通用集成电路产生,它的逻辑

功能按照用户对器件编程来确定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需

要。PLD是能够为客户提供范围广泛的多种逻辑能力、特性、速度和电压特性的标准成品部件,

而且此类器件可在任何时间改变,从而完成许多种不同的功能。

对于可编程逻辑器件,设计人员可利用价格低廉的软件工具快速开发、仿真和测试其设计。

然后,可快速将设计编程到器件中,并立即在实际运行的电路中对设计进行测试。采用PLD的

另一个关键优点是在设计阶段中客户可根据需要修改电路,直到对设计工作感到满意为止。基于

第1章EDA技术概述

PLD可重写的存储器技术,要改变设计,只需要简单地对器件进行重新编程。一旦设计完成,客

户可立即投入生产,只需要利用最终软件设计文件简单地编程所需要数量的PLD即可。

可编程逻辑器件的两种主要类型是现场可编程门阵列和复杂可编程逻辑器件。

FPGA是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路

领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路

数有限的缺点。FPGA器件是可编程的逻辑阵列,能够有效地解决原有的器件门电路数较少的问

题。FPGA的基本结构包括可编程输入/输出单元,可配置逻辑块,数字时钟管理模块,嵌人式块

RAM,布线资源,内嵌专用硬核,底层内嵌功能单元等。由于FPGA具有布线资源丰富、可重复

编程和集成度高、投资较低的特点,在数字电路设计领域得到了广泛的应用。FPGA的设计流程

包括算法设计、代码仿真以及设计、板机调试,设计者以及实际需求建立算法架构,利用EDA建

立设计方案或HDL编写设计代码,通过代码仿真保证设计方案符合实际要求,最后进行板级调试,

利用配置电路将相关文件下载至FPGA芯片中,验证实际运行效果

CPLD(Complex Programming Logic Device,复杂可编程逻辑器件)主要由逻辑块、可编程互

连通道和I/O块三部分构成。CPLD中的逻辑块类似于一个小规模PLD,通常一个逻辑块包含4~20

个宏单元,每个宏单元一般由乘积项阵列、乘积项分配和可编程寄存器构成。每个宏单元有多种配置方式,各宏单元也可级联使用,因此可实现较复杂组合逻辑和时序逻辑功能。对集成度较高

的CPLD,通常还提供了带片内RAM/ROM的嵌入阵列块。可编程互连通道主要提供逻辑块、宏

单元、输入/输出引脚间的互连网络。输入/输出块(/O块)提供内部逻辑到器件/O引脚之间

的接口。逻辑规模较大的CPLD一般还内带JTAG边界扫描测试电路,可对已编程的高密度可编程

逻辑器件做全面彻底的系统测试,此外也可通过JTAG接口进行系统编程。由于集成工艺、集成规

模和制造厂家的不同,各种CPLD分区结构、逻辑单元等也有较大的差别。

尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构

上的差异,具有各自的特点:

①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA

更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。

②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布

线结构决定了其延迟的不可预测性。CPLD的速度比FPGA快,这是由于FPGA是门级编程,并且

CLB之间采用分布式互连,而CPLD是逻辑块级编程,并且其逻辑块之间的互连是集总式的。

③CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布

线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。

④CPLD比FPGA使用起来更方便。CPLD的编程采用EEPROM或FASTFLASH技术,无须

外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。

在编程上,FPGA比CPLD具有更大的灵活性。CPLD主要是基于EEPROM或FLASH存储

器编程,编程次数可达上万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上

编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上

电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速

编程,从而实现板级和系统级的动态配置。

基于Verilog HDL的数字系统设计简明教程一全部案例基于远程云端平台实现

般情况下,CPLD保密性好,FPGA保密性差。CPLD的功耗要比FPGA大,且集成度越高

越明显。FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。

小结

利用EDA技术方便进行电子系统设计,使用硬件描述语言(Verilog HDL/VHDL),用软件的方式设计硬件,用软件方式设计的系统到硬件系统的转换由有关开发软件工具自动完成,设计过

程中可用有关软件进行各种仿真,系统可现场编程,在线升级,整个系统可以集成在一个芯片(FPGW

CPLD)上,体积小,功耗低,可靠性高。EDA技术是现代电子设计的发展趋势

习题

1-1EDA的英文全称是什么?EDA的中文含义是什么?

1-2常用硬件描述语言有哪几种?这些硬件描述语言在逻辑描述方面有什么区别?1-3名称解释:逻辑综合、逻辑适配、行为仿真、功能仿真和时序仿真。

1-4CPLD的英文全称是什么?CPLD的结构主要由哪几部分组成?每部分的作用如何?

1-5FPGA的英文全称是什么?FPGA的结构主要由哪几部分组成?每部分的作用如何?

1-6简述EDA的FPGA/CPLD设计流程。

1-7P在EDA技术的应用和发展中的意义是什么?

1-8查阅EDA技术的最新发展方向。

6

···试读结束···

阅读剩余
THE END