硬件描述语言HDL的现状与发展

硬件描述语言HDL的现状与发展
硬件描述语言HDL的现状与发展

摘要:从数字系统设计的性质出发,结合目前迅速发展的芯片系统,比较、研究各种硬件描述语言;详细阐述各种语言的发展历史、体系结构和设计方法;探讨未来硬件描述语言的发展趋势,同时针对国内eda基础薄弱的现状,在硬件描述语言方面作了一些有益的思考。关键词:asic 硬件描述语言hdl verilog hdl vhdl systemc superlog 芯片系统soc引言硬件描述语言hdl是一种用形式化方法描述数字电路和系统的语言。利用这种语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(eda)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接下去,再用专用集成电路asic或现场可编程门阵列fpga自动布局布线工具,把网表转换为要实现的具体电路布线结构。目前,这种高层次(high-level-design)的方法已被广泛采用。据统计,目前在美国硅谷约有90%以上的asic和fpga采用硬件描述语言进行设计。硬件描述语言hdl的发展至今已有20多年的历史,并成功地应用于设计的各个阶段:建模、仿真、验证和综合等。到20世纪80年代,已出现了上百种硬件描述语言,对设计自动化曾起到了极大的促进和推动作用。但是,这些语言一般各自面向特定的设计领域和层次,而且众多的语言使用户无所适从。因此,急需一种面向设计的多领域、多层次并得到普遍认同的标准硬件描述语言。20世纪80年代后期,vhdl和verilog hdl语言适应了这种趋势的要求,先后成为ieee标准。现在,随着系统级fpga以及系统芯片的出现,软硬件协调设计和系统设计变得越来越重要。传统意义上的硬件设计越来越倾向于与系统设计和软件设计结合。硬件描述语言为适应新的情况,迅速发展,出现了很多新的硬件描述语言,像superlog、systemc、cynlib c++等等。究竟选择哪种语言进行设计,整个业界正在进行激烈的讨论。因此,完全有必要在这方面作一些比较研究,为eda设计做一些有意义的工作,也为发展我们未来的芯片设计技术打好基础。

1 目前hdl发展状况目前,硬件描述语言可谓是百花齐放,有vhdl、superlog、verilog、systemc、cynlib c++、c level等等。虽然各种语言各有所长,但业界对到底使用哪一种语言进行设计,却莫衷一是,难有定论。而比较一致的意见是,hdl和c/c++语言在设计流程中实现级和系统级都具有各自的用武之地。问题出现在系统级和实现级相连接的地方:什么时候将使用中的一种语言停下来,而开始使用另外一种语言?或者干脆就直接使用一种语言?现在看来得出结论仍为时过早。在2001年举行的国际hdl会议上,与会者就使用何种设计语言展开了生动、激烈的辩论。最后,与会者投票表决:如果要启动一个芯片设计项目,他们愿意选择哪种方案?结果,仅有2票或3票赞成使用systemc、cynlib和c level 设计;而superlog和verilog各自获得了约20票。至于以后会是什么情况,连会议主持人john cooley也明确表示:“5年后,谁也不知道这个星球会发生什么事情。”各方人士各持己见:为verilog辩护者认为,开发一种新的设计语言是一种浪费;为systemc辩护者认为,系统级芯片soc快速增长的复杂性需要新的设计方法;c语言的赞扬者认为,verilog 是硬件设计的汇编语言,而编程的标准很快就会是高级语言,cynlib c++是最佳的选择,它速度快、代码精简;superlog的捍卫者认为,superlog是verilog的扩展,可以在整个设计流程中仅提供一种语言和一个仿真器,与现有的方法兼容,是一种进化,而不是一场革命。当然,以上所有的讨论都没有提及模拟设计。如果想设计带有模拟电路的芯片,硬件描述语言必须有模拟扩展部分,像verilog hdl-a,既要求能够描述门级开关级,又要求具有描述物理特性的能力。

2 几种代表性的hdl语言2.1 vhdl 早在1980年,因为美国军事工业需要描述电子系统的方法,美国国防部开始进行vhdl的开发。1987年,由ieee(institute of electrical and electro- nics engineers)将vhdl制定为标准。参考手册为ieee vhdl 语言参考手册标准草案1076/b版,于1987年批准,称为ieee 1076-1987。应当注意,起初vhdl只是作为系统规范的一个标准,而不是为设计而制定的。第二个版本是在1993年制定

的,称为vhdl-93,增加了一些新的命令和属性。虽然有“vhdl是一个4亿美元的错误”这样的说法,但vhdl毕竟是1995年以前唯一制订为标准的硬件描述语言,这是它不争的事实和优势;但同时它确实比较麻烦,而且其综合库至今也没有标准化,不具有晶体管开关级的描述能力和模拟设计的描述能力。目前的看法是,对于特大型的系统级数字电路设计,vhdl 是较为合适的。实质上,在底层的vhdl设计环境是由verilog hdl描述的器件库支持的,因此,它们之间的互操作性十分重要。目前,verilog和vdhl的两个国际组织ovi、vi正在筹划这一工作,准备成立专门的工作组来协调vhdl和verilog hdl语言的互操作性。ovi也支持不需要翻译,由vhdl到verilog的自由表达。2.2 verilog hdl verilog hdl是在1983年,由gda(gateway design automation)公司的phil moorby首创的。phil moorby 后来成为verilog-xl的主要设计者和cadence公司的第一合伙人。在1984~1985年,phil moorby设计出了第一个名为verilog-xl的仿真器;1986年,他对verilog hdl的发展又作出了另一个巨大的贡献:提出了用于快速门级仿真的xl算法。随着verilog-xl算法的成功,verilog hdl语言得到迅速发展。1989年,cadence公司收购了gda公司,verilog hdl 语言成为cadence公司的私有财产。1990年,cadence公司决定公开verilog hdl语言,于是成立了ovi(open verilog international)组织,负责促进verilog hdl语言的发展。基于verilog hdl的优越性,ieee于1995年制定了verilog hdl的ieee标准,即verilog hdl 1364-1995;2001年发布了verilog hdl 1364-2001标准。在这个标准中,加入了verilog hdl-a 标准,使verilog有了模拟设计描述的能力。

2.3 superlog 开发一种新的硬件设计语言,总是有些冒险,而且未必能够利用原来对硬件开发的经验。能不能在原有硬件描述语言的基础上,结合高级语言c、c++甚至java 等语言的特点,进行扩展,达到一种新的系统级设计语言标准呢? superlog就是在这样的背景下研制开发的系统级硬件描述语言。verilog语言的首创者phil moorby和peter flake 等硬件描述语言专家,在一家叫co-design automation的eda公司进行合作,开始对verilog 进行扩展研究。1999年,co-design公司发布了superlogtm系统设计语言,同时发布了两个开发工具:systemsimtm和systemextm。一个用于系统级开发,一个用于高级验证。2001年,co-design公司向电子产业标准化组织accellera发布了superlog扩展综合子集ess,这样它就可以在今天verilog语言的rtl级综合子集的基础上,提供更多级别的硬件综合抽象级,为各种系统级的eda软件工具所利用。至今为止,已超过15家芯片设计公司用superlog 来进行芯片设计和硬件开发。superlog是一种具有良好前景的系统级硬件描述语言。但是不久前,由于整个it产业的滑坡,eda公司进行大的整合,co-design公司被synopsys公司兼并,形势又变得扑朔迷离。2.4 systemc 随着半导体技术的迅猛发展,soc已经成为当今集成电路设计的发展方向。在系统芯片的各个设计中,像系统定义、软硬件划分、设计实现等,集成电路设计界一直在考虑如何满足soc的设计要求,一直在寻找一种能同时实现较高层次的软件和硬件描述的系统级设计语言。systemc正是在这种情况下,由synopsys公司和coware公司积极响应目前各方对系统级设计语言的需求而合作开发的。1999年9月27日,40多家世界著名的eda公司、ip公司、半导体公司和嵌入式软件公司宣布成立“开放式systemc联盟”。著名公司cadence也于2001年加入了systemc联盟。systemc从1999年9月联盟建立初期的0.9版本开始更新,从1.0版到1.1版,一直到2001年10月推出了最新的2.0版。3 各种hdl语言的体系结构和设计方法

3.1 systemc 所有的systemc都是基于c++的;图1中的上层构架都是很明确地建立在下层的基础上;systemc内核提供一个用于系统体系结构、并行、通信和同步时钟描述的模块;完全支持内核描绘以外的数据类型、用户定义数据类型;通常的通信方式,如信号、fifo,都可以在内核的基础上建立,经常使用的计算模块也可以在内核基础上建立;如果需要,图1中较低层的内容不依赖上层就可以直接使用。实际使用中,systemc由一组描述类库和一个包含仿真核的库组成。在用户的

描述程序中,必须包括相应的类库,可以通过通常的ansi c++编译器编译该程序。systemc 提供了软件、硬件和系统模块。用户可以在不同的层次上自由选择,建立自己的系统模型,进行仿真、优化、验证、综合等等。

硬件描述语言HDL的现状与发展

硬件描述语言HDL的现状与发展 摘要:从数字系统设计的性质出发,结合目前迅速发展的芯片系统,比较、研究各种硬件描述语言;详细阐述各种语言的发展历史、体系结构和设计方法;探讨未来硬件描述语言的发展趋势,同时针对国内EDA基础薄弱的现状,在硬件描述语言方面作了一些有益的思考。 关键词:ASIC 硬件描述语言HDL Verilog HDL VHDL SystemC Superlog 芯片系统SoC 引言 硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言。利用这种语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接下去,再用专用集成电路ASIC或现场可编程门阵列FPGA自动布局布线工具,把网表转换为要实现的具体电路布线结构。 目前,这种高层次(high-level-design)的方法已被广泛采用。据统计,目前在美国硅谷约有90%以上的ASIC和FPGA采用硬件描述语言进行设计。 硬件描述语言HDL的发展至今已有20多年的历史,并成功地应用于设计的各个阶段:建模、仿真、验证和综合等。到20世纪80年代,已出现了上百种硬件描述语言,对设计自动化曾起到了极大的促进和推动作用。但是,这些语言一般各自面向特定的设计领域和层次,而且众多的语言使用户无所适从。因此,急需一种面向设计的多领域、多层次并得到普遍认同的标准硬件描述语言。20世纪80年代后期,VHDL和Verilog HDL语言适应了这种趋势的要求,先后成为IEEE 标准。 现在,随着系统级FPGA以及系统芯片的出现,软硬件协调设计和系统设计变得越来越重要。传统意义上的硬件设计越来越倾向于与系统设计和软件设计结合。硬件描述语言为适应新的情况,迅速发展,出现了很多新的硬件描述语言,像Superlog、SystemC、Cynlib C++等等。究竟选择哪种语言进行设计,整个业界正在进行激烈的讨论。因此,完全有必要在这方面作一些比较研究,为EDA设计做一些有意义的工作,也为发展我们未来的芯片设计技术打好基础。 1 目前HDL发展状况 目前,硬件描述语言可谓是百花齐放,有VHDL、Superlog、Verilog、SystemC、Cynlib C++、C Level等等。虽然各种语言各有所长,但业界对到底使用哪一种语言进行设计,却莫衷一是,难有定论。 而比较一致的意见是,HDL和C/C++语言在设计流程中实现级和系统级都具有各自的用武之地。问题出现在系统级和实现级相连接的地方:什么时候将使用中的一种语言停下来,而开始使用另外一种语言?或者干脆就直接使用一种语言?现在看来得出结论仍为时过早。 在2001年举行的国际HDL会议上,与会者就使用何种设计语言展开了生动、激烈的辩论。最后,与会者投票表决:如果要启动一个芯片设计项目,他们愿意选择哪种方案?结果,仅有2

可编程逻辑器件与硬件描述语言

组合逻辑电路实验(一)实验报告 一.实验名称:3-8译码器设计 二.实验目的 1.掌握ISE 开发工具的使用,掌握FPGA 开发的基本步骤; 2.掌握组合逻辑电路设计的一般方法; 3.掌握程序下载方法,了解UCF 文件的格式; 4.初步了解开发板资源,掌握开发板使用方法。重点了解滑动开关和LED 显示灯的使用方法。 三.实验内容 1.用VHDL 实现3-8译码器模块 译码器电路如图2-1所示。其功能如表2-1所示。试用VHDL 实现该译码器,并在开发板上进行检验。 表2-1 译码器功能表 EN A B C Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 1 X X X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 3-8 译码器 A B C EN Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 图2-1 3-8译码器

0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 2.将程序下载到FPGA并进行检验 (1)资源使用要求:用滑动开关SW3~SW1作为输入A,B,C;滑动开关SW0控制EN;8个LED灯表示8个输出。 (2)检验方法:当SW0处于ON(EN=1)位置时,所有LED灯灭;当SW0处于OFF(EN=0),反映当前输入的译码输出在LED灯上显示,即当输入为000(滑动开关SW3-SW1处于OFF状态),LED0亮,其它灯灭,等等。 四.实验步骤 1.启动ISE,新建工程文件,编写3-8译码器的VHDL模块; 2.新建UCF文件,输入位置约束; 3.完成综合、实现,生成下载文件; 4.连接开发板USB下载线,开启开发板电源; 5.下载到FPGA; 6.拨动开关,验证结果是否正确。 五.主要vhdl代码 architecture Behavioral of coder_38 is --3-8译码器行为级描述signal x:STD_LOGIC_VECTOR (2 downto 0); begin x <= A&B&C;

硬件描述语言及器件实验指导书

硬件描述语言及器件实验指导书 电子科学与技术专业组

第1章实验一用硬件描述语言的方法设计一个三输入与门电 路 一、实验目的 1、掌握MAX+plusII的使用方法。 2、掌握VHDL语言程序的基本结构。 2、掌握使用硬件描述语言设计数字电路的方法和步骤。 3、掌握用硬件描述语言设计三输入与门电路的方法。 二、实验器材 1.台式计算机1台。 2.可编程逻辑逻辑器件实验软件1套。 3.下载电缆一套。 4.示波器一台。 三、实验说明 1.台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载的平台,供用户使用。 2.可编程逻辑逻辑器件实验软件向原理图的设计提供平台,并将调试好的原理图下载到可编程逻辑逻辑器件中。 3.下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。 4.示波器用于观察可编程逻辑器件执行程序时输出信号的变化。 四、实验内容与要求 用硬件描述语言的方法设计一个三输入与门电路,要求: (1)根据三输入与门的逻辑表达式,在构造体中直接使用并行赋值语句实现,并进行仿真;

(2)根据三输入与门的真值表,在构造体中使用进程语句实现,并进行仿真; 五、实验步骤(下面七个的实验的软件的使用具体步骤跟本次试验一样不再详述) 1.打开新建菜单选择“textedtiorfile”,这个文件是写程序编程用的。 2.程序写完后点“保存”,注意(1)保存的格式是.vhd,(2)保存的地址不能是桌面和硬盘的根目录,否则在后面的编程将出现错误。

3.在file→projectset→projecttocurrentfile,这步是将文件设置在工程里,能够正常编译和下载。

专科《硬件描述语言和数字系统设计》-试卷-答案

专科《硬件描述语言和数字系统设计》 一、(共36题,共150分) 1. reg类型的数组通常用于描述存储器,reg [15: 0] MEM [0:1023];定义存储器字的位数为(2分) A.1024 B.16 C.16384 D.1040 .标准答案:B 2. 下列关于同步有限状态机的描述错误的是()(2分) A.状态变化只能发生在同一个时钟跳变沿; B.状态是否变化要根据输入信号,只要输入条件满足,就会立刻转入到下一个状态。 C.在时钟上升沿,根据输入信号的变化,确定电路状态 D.利用同步状态机可以设计出极其复杂灵活的数字逻辑电路系统 .标准答案:B 3. 关于如下描述,正确的说法是( ) (2分) A.这种描述是错误的 B.该电路不可综合 C.该电路不可综合,但生成的不是纯组合逻辑 D.以上说法都不对 .标准答案:D 4. 下列关于流水线的描述错误的是( ) (2分) A.流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法; B.设计流水线目的是提高数据吞吐率 C.流水线缩短了在一个时钟周期内给的那个信号必须通过的通路长度,从而可以提高时钟频率 D.增加流水线长度可以节省更多延迟,流水线越长,首次延迟越大,系统频率就会降低。 .标准答案:D 5. 以下关于Top-Down的设计方法不正确的描述是( ) (2分) A.Top-Down的设计方法首先从系统设计入手; B.Top-Down设计中的系统总体仿真与所选工艺有关 C.Top-Down的设计方法从顶层进行功能划分和结构设计 D.自顶向下的设计方法可以早期发现结构上的错误 .标准答案:B 6. 在verilog中,下列哪些操作一定是单bit?()(2分) A.== B.^ C.> D.&&  .标准答案:A,B,C,D 7. 下面哪些是verilog的关键字()(2分) A.input B.assign C.write D.module .标准答案:A,B,D 8. 全球主要的FPGA厂家有()(2分) A.Xilinx B.Altera C.Broadcom https://www.360docs.net/doc/644544587.html,ttice .标准答案:A,B,D 9. 大规模数字逻辑设计原则,正确的说法有()(2分) A.异步设计原则 B.组合时序电路分开原则 C.面向RTL的原则 D.先电路后代码的原则 .标准答案:B,C 10. 下面有关SRAM,DRAM的叙述,正确的有()(2分) A.DRAM存储单元的结构比SRAM简单 B.DRAM比SRAM成本高 C.DRAM比SRAM速度快 D.DRAM要刷新,SRAM不刷新 .标准答案:A,D 11. 阻塞赋值与非阻塞赋值的差别及其各自的使用环境。(10分)标准答案:非阻塞(non-blocking)赋值语句(b

课程名称FPGA与硬件描述语言

课程名称:FPGA与硬件描述语言 课程编码:7002301 课程学分:2学分 课程学时:32学时 适应专业:电子信息工程、电子信息工程(理工科实验班) 《FPGA与硬件描述语言》 FPGA and Hardware Describing Language 教学大纲 一、课程性质与任务 性质:本课程的授课对象为电子信息工程专业二年级本科生,课程属性为专业基础必修课,该课程讲授FPGA基本原理及结构,先进的硬件描述语言(VHDL语言),FPGA设计与应用等知识。 任务:通过对(VHDL)硬件描述语言,FPGA设计等知识的学习,掌握硬件描述语言,FPGA设计的基本知识。培养学生动手能力以及解决实际问题的能力。理解VHDL语言,学会FPGA设计方法等。 二、课程教学基本内容及要求 第一章绪论VHDL的数据和表达式 (一)教学基本要求: 掌握:VHDL程序的特点,VHDL的数据,VHDL的表达式。 了解:FPGA基本原理及结构。 (二)教学基本内容: 绪论:FPGA基本原理及结构 第一章VHDL的数据和表达式 1.1 VHDL程序的特点 1.2 VHDL程序的基本结构 1.3 VHDL的数据 1.4 VHDL的表达式 第二章VHDL的顺序描述语句 (一)教学基本要求: 掌握:信号赋值语句和变量赋值语句,if语句,case语句,null语句。 理解:loop语句。 (二)教学基本内容:

第二章VHDL的顺序描述语句 2.1信号赋值语句和变量赋值语句 2.2 if语句 2.3 case语句 2.4 loop语句 2.5 null语句 第三章VHDL的并行描述语句 (一)教学基本要求: 掌握:进程语句,并发信号赋值语句,元件例化语句。 理解:条件信号赋值语句,选择信号赋值语句。 了解:生成语句。 (二)教学基本内容: 第三章VHDL的并行描述语句 3.1进程语句 3.2并发信号赋值语句 3.3条件信号赋值语句 3.4选择信号赋值语句 3.5元件例化语句 3.6生成语句 第四章VHDL的时钟信号描述方法 (一)教学基本要求: 掌握:时钟的VHDL描述方法,时序电路中复位信号的VHDL描述方法。(二)教学基本内容: 第四章VHDL的时钟信号描述方法 4.1时钟信号的VHDL描述方法 4.2时序电路中复位信号的VHDL描述方法 第五章VHDL的有限状态机的设计 (一)教学基本要求: 掌握:有限状态机的基本概念及应用。 理解:一个Moore型有限状态机的设计实例 (二)教学基本内容: 第五章VHDL的有限状态机的设计 5.1 有限状态机的基本概念 5.2一个Moore型有限状态机的设计实例

硬件描述语言08-09B卷标准答案

2008/2009 学年第一学期末考试试题答案及评分标准 (B卷) 硬件描述语言及器件 使用班级:06060241/06060242 一、填空题(30分,每空格1分) 1、试举出两种可编程逻辑器件 CPLD 、 FPGA 。 2、VHDL程序的基本结构至少应包括实体、结构体两部分和对 库的引用声明。 3、1_Digital标识符合法吗?否, \12 @ +\ 呢?合法。 4、在VHDL的常用对象中,信号、变量可以被多次赋予不同的值, 常量只能在定义时赋值。 5、实体的端口模式用来说明数据、信号通过该端口的传输方向,端口模式有 in 、 Out 、 inout 、 buffer 。 6、VHDL语言中std_logic类型取值‘Z’表示高阻,取值‘X’表示不确定。 7、整型对象的范围约束通常用 range 关键词,位矢量用 downto/to 关键词。 8、位类型的初始化采用(字符/字符串)字符、位矢量用字符串。 9、进程必须位于结构体内部,变量必须定义于进程/包/子程序内部。 10、并置运算符 & 的功能是把多个位或位向量合并为一个位向量。 11、进程执行的机制是敏感信号发生跳变。 12、判断CLK信号上升沿到达的语句是 if clk’event and clk = ‘1’ then . 13、 IF 语句各条件间具有不同的优先级。

14、任何时序电路都以时钟为驱动信号,时序电路只是在时钟信号的边沿到来时, 其状态才发生改变。 15、 Moore 状态机输出只依赖于器件的当前状态,与输入信号无关。 二、判断对错并改正(12分,每小题3分) 1、CONSTANT T2:std_logic <= ’0’; (错)改正:把<= 换为:= 。 2、若某变量被定义为数值型变量,未赋初始值时默认值为‘0’。 (错)改正:把‘0’的单引号去掉。 3、在结构体中定义一个全局变量(V ARIABLES),可以在所有进程中使用。 (错)改正:“变量(V ARIABLES)”改为“信号”。 4、语句 type wr is (wr0,wr1,wr2,wr3,wr4,wr5); 定义了一个状态机变量wr, 可以直接对wr赋值。 (错)改正:语句 type wr is (wr0,wr1,wr2,wr3,wr4,wr5); 定义了一个状态机类型wr,需要定义一个该类型的对象,才可以对该对象赋值。 三、简答(8分,每小题4分) 1、简述如何利用计数器精确控制时序。 ?只要知道晶振频率f,即可知道周期T=1/f; ?使用一个计数器,可以通过计数值n,精确知道当计数值为n时消耗的时间t=nT; ?上例中以n为控制条件,可以控制其它信号在某时刻变高,某时刻变低,从而产生精 确时序; 例如:

硬件描述语言与FPGA技术实验指导书(2012版)

《硬件描述语言与FPGA技术》 实验指导书 西北工业大学 2012/10/10

目录 实验一简单的组合逻辑设计 (3) 实验二简单分频时序逻辑电路的设计 (6) 实验三利用条件语句实现计数分频时序电路 (9) 实验四阻塞赋值与非阻塞赋值的区别 (12) 实验五用always块实现较复杂的组合逻辑电路 (16) 实验六在Verilog中使用函数 (20) 实验七在Verilog HDL中使用任务(task) (23) 实验八利用有限状态机进行时序逻辑的设计 (27) 实验九利用状态机实现比较复杂的接口设计 (32) 练习十利用SRAM设计一个FIFO (39)

实验一简单的组合逻辑设计 一、实验目的 1. 学习Quartus和ModSim两种EDA工具的使用方法; 2.掌握基本组合逻辑电路的实现方法; 3.初步了解两种基本组合逻辑电路的生成方法; 4.学习测试模块的编写; 5.通过综合和布局布线了解不同层次仿真的物理意义。 二、实验内容 本次实验采用Verilog HDL语言设计一个可综合的数据比较器,其功能是比较数据a与数据b的结果,如果两个数据相同,则输出结果1,否则给出结果0;并写出测试模型,使其进行比较全面的测试。 三、实验仪器、设备 预装了开发工具ModelSimSE、synplify的PC机。 四、实验原理 1.组合逻辑电路是指在任何时刻,输出状态只决定于同一时刻各输入状态的组合而与 电路以前状态无关,而与其他时间的状态无关。其逻辑函数如下: Li=f(A1,A2,A3……An) (i=1,2,3…m) 其中,A1~An为输入变量,Li为输出变量。 2.组合逻辑电路的特点归纳如下: ① 输入、输出之间没有返馈延迟通道; ② 电路中无记忆单元。 3.组合逻辑设计示例:可综合的数据比较器。它的功能是比较数据a与数据b,如果 两个数据相同,则给出结果1,否则给出结果0。描述组合逻辑时常使用assign 结构。注意equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格 式。 模块源代码: //--------------- compare.v ----------------- module compare(equal,a,b);

硬件描述语言verilog简答题

1.assign always initial区别 always过程反复执行其中的块语句,而initial过程语句只执行一次。 assign声明用于描述组合逻辑。在always语句中,“=”表示阻塞赋值,<=表示非阻塞赋值 Assign语句应该在always语句外部使用,而且是并行计算值。在组合逻辑中使用阻塞式赋值,而在时序逻辑中需要使用非阻塞式赋值。initial语句在模拟开始时执行体内的语句, 2.触发器,锁存器,寄存器区别 触发器:包括锁存器和寄存器。锁存器:电平触发的存储单元,在有效电平时间里可以多次改变数据.优点是占触发器资源少,缺点是容易产生毛刺。在FPGA中用的很少,因为FPGA中触发器的资源非常丰富。寄存器:边沿触发的存储单元,在上升或下降沿数据变化,一个周期里只能变化一次。 3.测试程序的作用: 测试程序是用于测试其他待测试模块的硬件描述语言模块。此程序包含了向待测试模块提供输入的语句,已测试是否产生了理想的正确输出。输入和期待的输出模式成为测试向量。 4时序图定义: 答:时序图是显示了缓冲器的一个输入改变和随后输出的改变所产生的延迟的图,她描绘了输入改变时缓冲器电路的瞬间响应。 5.两种时序电路,(怎么样判断同步时序电路) 同步时序电路:如果一个由多个元件连接构成电路是同步时序电路,需满足:每一个电路元件是寄存器或组合电路,至少有一个电路元件是寄存器 所有寄存器接收同一个时钟信号,每一个环路至少包含一个寄存器 非同步时序电路称为异步电路。 6.什么是组合电路(组合电路的判断条件),什么是时序电路 答:组合电路的输出仅仅取决输入的值。时序电路的输出取决于当前的输入值和之前的输入值。组合电路没有记忆,时序电路是有记忆的。 如果一个电路由互相连接的电路组件构成,在满足以下条件时,它就是组合电路。 一,每一个电路组件本身都是组合电路 二,每一个电路节点或者是一个电路的输入,或者仅仅连接到一个电路组件的一个输出端口。 三,电路不能包含回路:进过电路的每条路径最多只能经过每个电路一次。 7.MIPS体系结构设计的四个准备/指令格式设计原则4条: 简单设计有助于规整化 加快常见功能 越小的设计越快 好的设计需要好的折中

ABEL硬件描述语言概述

电子技术课 程设计资料 ABEL硬件描述语言概述

ABEL语言简介 ?ABEL语言是一种硬件描述语言(也称为ABELHDL),是开发PLD的一种高级程序设 计语言,由美国DATA I/O公司于1983~1988 年推出。 ?ABEL语言支持逻辑方程、真值表和状态图三种逻辑描述方式。 ?具有简单易学的特点。 ABEL语言设计源程序通过ispDesignExpert 软件编译、语法检查、逻辑化简、自动生成符合标准的JEDEC文件(“.JED”文件)。

两个问题: 1.什么是ABEL HDL 源文件 ABEL HDL 源文件。 2. ABEL HDL 设计的基本思想 不 语言来进行教学。 一部分使用高级语言,用来描述逻辑设计; 另一部分是语言处理程序,用于将逻辑描述转化为其下载文件 中含有编程及测试可编程逻辑器件所需的信息。

ABEL HDL 有如下一些特点: ①适用于各种型号的器件的通用语法; ②结构化的高级设计语言; ③灵活的逻辑描述形式——布尔关系式、真 — 值表、状态图; ④仿真与测试向量; ⑤省时的宏定义及指示字。 ABEL HDL 的处理程序提供了如下强大功能: ①语法检查; ②检验所选器件能否实现设计要求; ③逻辑简化; ④设计模拟; ⑤自动生成文件。

一、ABEL 语言元素 1. 字符和数 ⑴标识符: ?标识符代表器件、器件管脚、节点、集合、输入信号、输出信号、宏、常量及变量等。 ???标识符不能和关键字(即保留字)重名。 ⑵字符串: 用单引号扩起来的一系列字符。 ⑶注释: 以双引号开头的一行字符。

2. 运算符、表达式与方程 ⑴运算符 ?逻辑运算符: 运算符说明举例!逻辑非!A & 逻辑与A&B # 逻辑或A#B $ 逻辑异或A$B !$ 逻辑同或A!$B

硬件描述语言HDL的现状与发展

摘要:从数字系统设计的性质出发,结合目前迅速发展的芯片系统,比较、研究各种硬件描述语言;详细阐述各种语言的发展历史、体系结构和设计方法;探讨未来硬件描述语言的发展趋势,同时针对国内eda基础薄弱的现状,在硬件描述语言方面作了一些有益的思考。关键词:asic 硬件描述语言hdl verilog hdl vhdl systemc superlog 芯片系统soc引言硬件描述语言hdl是一种用形式化方法描述数字电路和系统的语言。利用这种语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(eda)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接下去,再用专用集成电路asic或现场可编程门阵列fpga自动布局布线工具,把网表转换为要实现的具体电路布线结构。目前,这种高层次(high-level-design)的方法已被广泛采用。据统计,目前在美国硅谷约有90%以上的asic和fpga采用硬件描述语言进行设计。硬件描述语言hdl的发展至今已有20多年的历史,并成功地应用于设计的各个阶段:建模、仿真、验证和综合等。到20世纪80年代,已出现了上百种硬件描述语言,对设计自动化曾起到了极大的促进和推动作用。但是,这些语言一般各自面向特定的设计领域和层次,而且众多的语言使用户无所适从。因此,急需一种面向设计的多领域、多层次并得到普遍认同的标准硬件描述语言。20世纪80年代后期,vhdl和verilog hdl语言适应了这种趋势的要求,先后成为ieee标准。现在,随着系统级fpga以及系统芯片的出现,软硬件协调设计和系统设计变得越来越重要。传统意义上的硬件设计越来越倾向于与系统设计和软件设计结合。硬件描述语言为适应新的情况,迅速发展,出现了很多新的硬件描述语言,像superlog、systemc、cynlib c++等等。究竟选择哪种语言进行设计,整个业界正在进行激烈的讨论。因此,完全有必要在这方面作一些比较研究,为eda设计做一些有意义的工作,也为发展我们未来的芯片设计技术打好基础。 1 目前hdl发展状况目前,硬件描述语言可谓是百花齐放,有vhdl、superlog、verilog、systemc、cynlib c++、c level等等。虽然各种语言各有所长,但业界对到底使用哪一种语言进行设计,却莫衷一是,难有定论。而比较一致的意见是,hdl和c/c++语言在设计流程中实现级和系统级都具有各自的用武之地。问题出现在系统级和实现级相连接的地方:什么时候将使用中的一种语言停下来,而开始使用另外一种语言?或者干脆就直接使用一种语言?现在看来得出结论仍为时过早。在2001年举行的国际hdl会议上,与会者就使用何种设计语言展开了生动、激烈的辩论。最后,与会者投票表决:如果要启动一个芯片设计项目,他们愿意选择哪种方案?结果,仅有2票或3票赞成使用systemc、cynlib和c level 设计;而superlog和verilog各自获得了约20票。至于以后会是什么情况,连会议主持人john cooley也明确表示:“5年后,谁也不知道这个星球会发生什么事情。”各方人士各持己见:为verilog辩护者认为,开发一种新的设计语言是一种浪费;为systemc辩护者认为,系统级芯片soc快速增长的复杂性需要新的设计方法;c语言的赞扬者认为,verilog 是硬件设计的汇编语言,而编程的标准很快就会是高级语言,cynlib c++是最佳的选择,它速度快、代码精简;superlog的捍卫者认为,superlog是verilog的扩展,可以在整个设计流程中仅提供一种语言和一个仿真器,与现有的方法兼容,是一种进化,而不是一场革命。当然,以上所有的讨论都没有提及模拟设计。如果想设计带有模拟电路的芯片,硬件描述语言必须有模拟扩展部分,像verilog hdl-a,既要求能够描述门级开关级,又要求具有描述物理特性的能力。 2 几种代表性的hdl语言2.1 vhdl 早在1980年,因为美国军事工业需要描述电子系统的方法,美国国防部开始进行vhdl的开发。1987年,由ieee(institute of electrical and electro- nics engineers)将vhdl制定为标准。参考手册为ieee vhdl 语言参考手册标准草案1076/b版,于1987年批准,称为ieee 1076-1987。应当注意,起初vhdl只是作为系统规范的一个标准,而不是为设计而制定的。第二个版本是在1993年制定

EDA期末考试试题

第一部分:填空题 1.一般把EDA技术的发展分为CAD、CAE和EDA三个阶段,并向着ESDA方向发展。 2.EDA技术在应用设计领域主要包含哪四个方面的内容(1)HDL (2)PLD (3)EDA工具软件(4)EDA开发系统。 3.EDA技术的基本特征(1)自顶向下的设计方法;(2)采用硬件描述语言;(3)高层综合和优化;(4)并行工程;(5)开放性和标准化。 4.当前最流行的并成为IEEE标准的硬件描语言是V HDL和Verilog-HDL。 5.什么是PLD? 答: PLD,Programmable-Logic-Device,即可编程逻辑器件。是一种具有内建结构、由用户编程以实现某种逻辑功能的新型逻辑器件。 6.SPLD的基本结构框图是什么? 7.一般CPLD器件至少包含可编程逻辑宏单元,可编程I/O单元和可编程内部连线3种基本结构。 一般FPGA器件至少包含可编程逻辑功能块/CLB、IOB/可编程I/O块和PI/可编程内部互连三类可编程资源。 8.用PROM完成半加器/全加器的示意图。 9.使用方框图示意出采用硬件描述语言设计硬件电路进行由上而下的设计的三个层次为: 10.可编程逻辑器件的发展趋势在哪5个方面(1)向更大规模、更高集成度的片上系统方向发展(2)向低电压、低功耗的绿色器件方向发展(3)向更高速可预测延时的方向发展(4)向在PLD内嵌入多种功能模块的方向发展(5)向模数混合可编程的方向发展11.目前,在PLD器件制造与生产领域的三大公司为Altera、Xilinx和Lattice 12.FPGA的发明者是Xilinx公司;ISP编程技术的发明者是Lattice公司。 13、目前常见的可编程逻辑器件的编程和配置工艺包括基于E2PROM/Flash技术、基于 SRAM查找表的编程单元和基于反熔丝编程单元。 14、基于EPROM、E2PROM和快闪存储(flash)器件的可编程器件,在系统断电后编程信 息不丢失 15、采用SRAM结构的的可编程器件,在系统断电后编程信息丢失 16、V erilog-HDL于1983年推出,是在C语言的基础上演化而来的。 于1995年正式采纳为IEEE标准,其代号为Verilog-HDL1634-1995。 17、一个基本的Verilog-HDL程序由模块构成。 18、一个完整的Verilog-HDL设计模块包括:模块关键字和模块名、端口列表、端口定义、 和功能描述4部分。

硬件描述语言期末复习整理

硬件描述语言期末复习整理 1、EDA:Electronic Design Automation 现代电子设计技术的核心是EDA(Electronic Design Automation)技术。 EDA技术就是依靠功能强大的电子计算机,在EDA工具软件平台上完成电子系统的设计工作。 2、20世纪90年代以来,微电子工艺有了惊人的发展,工艺水平已经达到了深亚微米级(通常把0.8-0.35um称为亚微米,0.25um及其以下称为深亚微米) 3、用EDA技术设计电路可以分为不同的技术环节,每一个环节中必须有对应的软件包或专用的EDA工具独立处理。 4、EDA工具大致可以分为设计输入编辑器、仿真器、HDL综合器、适配器(或布局布线器)以及下载器等5个模块。 一般的设计输入编辑器都支持图形输入和HDL文本输入 图形输入通常包括原理图输入、状态图输入和波形图输入三种常用方法。 5、在EDA技术中仿真的地位非常重要,行为模型的表达、电子系统的建模、逻辑电路的验证以及门级系统的测试,每一步都离不开仿真器的模拟检测。 在EDA发展的初期,快速地进行电路逻辑仿真是当时的核心问题,即使在现在,各个环节的仿真仍然是整个EDA设计流程中最重要、最耗时的一个步骤。因此,仿真器的仿真速度、仿真的准确性和易用性成为衡量仿真器的重要指标。 6、硬件描述语言诞生的初衷是用于设计逻辑电路的建模和仿真 HDL综合器是将硬件描述语言转化为硬件电路的重要工具。 7、HDL综合器的输出文件一般是网表文件,是一种用于电路设计数据交换和交流的工业标准化格式的文件,或是直接用硬件描述语言HDL表达的标准格式的网表文件,或是对应FPGA/CPLD器件厂商的网表文件。 8、电路网表(逻辑图)由元件名N、模型M、输入端信号PI、输出端信号PO四部分组成,是唯一确定电路连接关系的数据结构。即:E=(N,M,PI,PO) 9、常用的编程语言 C、Pascal、Fortran、Basic或汇编语言-算法研究 硬件描述语言-设计和制造硬件逻辑专用电路 10、实时系统不能采用通用计算机系统,自行设计非常轻便小巧的高速专用硬件系统来完成该任务。 11、FPGA-用高密度的FPGA(从几万门、几十万门到几百万门)来构成完成算法所需的电路系统是一种较好的办法。 FPGA是一种通用的器件,它的基本结构决定了对某一种特殊应用,性能不如专用的ASIC 电路。 专用集成电路-利用现成的微处理机IP核或根据某一特殊应用设计的微处理机核(也可以没有微处理机核),并结合专门设计的高速ASIC运算电路,能设计出性能价格比最高的理想数字信号处理系统。 12、传统的设计方法:查用器件手册;选用合适的微处理器和电路芯片;设计面包板和线路板;调试;定型;设计复杂的系统(几十万门以上)极其困难。 13、美国和中国台湾地区逻辑电路设计和制造厂家大都以Verilog HDL为主。 1、可编程逻辑器件(PLD)是一种能将数字系统实现在硬件电路上的设备,即能在现场规

中北大学硬件描述语言期末考试试卷及标准答案

中北大学 试题答案及评分标准 硬件描述语言及器件课程 (课程名称须与教学任务书相同) 20xx/20xx 学年第一学期 试题类别 A 拟题日期拟题教师 课程编号教师编号 使用班级 备注:试题答案要求按指定规格计算机打印,并将其文本与电子稿一并上交: ①校级考试课程交评估与考试中心命题科; ②院级考试课程交院教务科。

20xx/20xx 学年第一学期末考试试题答案及评分标准 (A卷) 硬件描述语言及器件 使用班级: xxxx 一、填空题(20分,每空格1分) 1、VHDL语言中标识符通常分为短标识符,扩展标识符两种。 2、VHDL对象包含常量,信号,变量,文件 4个基本数据类型。 3、VHDL语言中,数据类型常量说明的一般格式为: CONSTANT常数名:数据类型:=表达式;。 4、VHDL中位矢量类型表达为 bit ,位向量类型表达为 bit_vector() 。 5、VHDL语言有类型标记法,函数转换法,常数转换法 3种不同类型的数据变换方法。 6、VHDL中,设D0为“1001”, D1为'0', D2为“0110”。D0 & D1的运算结果是“10010”,D0 & D2的运算结果是“10010110”。 7、VHDL语言中包括四种运算操作符,分别是逻辑运算符,算术运算符,关系运算符,和并置运算符。 8、为了启动进程,VHDL语言中必须包含一个显示的敏感信号量表或者包含一个wait语句。

二、判断对错并给出判断依据(20分,每小题5分,判断对错2分,给出正确判断依据3分) 1、进程之间的通信可以通过变量传递来实现。(×) 进程之间的通信需通过信号传递实现。 2、VHDL语言的高速性体现在其进程之内的带入语句都是并行执行的。(×) 进程之内的带入语句是顺序执行的。 3、语句y <= a when s=”00” else b when s=”01” else c when s=”10” else d; 中,s=”00”条件的优先级最高(√) 4、com1:u1 PORT MAP(a => n1,b => n2,c => m);语句中采用了位置映射的信号端口映射方式。(×) 采用的是名称映射方式

硬件描述语言实验报告

《硬件描述语言》实验报告 学院: 学号: 姓名: 专业: 实验时间: 实验地点: 指导教师: 年月

实验一简单组合逻辑设计 一、实验目的及要求: 1.掌握基本组合逻辑电路的实现方法。 2.初步了解两种基本组合逻辑电路的生成方法。 3.学习测试模块的编写。 4.通过综合和布局布线了解不同层次仿真的物理意义。 二、实验设备及要求 装有modesim和synplify的电脑一台 三、实验内容与步骤 1.实验内容: 本次实验采用Verilog HDL语言设计一个可综合的数据比较器,其功能是比较数据a与数据b的结果,如果两个数据相同,则输出结果1,否则给出结果0;并写出测试模型,使其进行比较全面的测试。 2.实验步骤: (1)建立工程文件,编写模块源码和测试模块,要求测试模块对源文件进行比较全面的测试; (2)编译源码和测试模块,用测试模块对源文件进行测试,并进行仿真;(3)观察综合后生成的文件和源文件的不同点和相同点。 (4)综合时采用不同的FPGA器件,观察综合后的结果有什么不同。 四、实验结果与数据处理: 1.RTL图及仿真后波形图:

2.综合后的电路图: 五、分析与讨论: 1.课本练习一的测试方法二中,第二个initial块有什么用?它与第一个initial块有什么关系? 答:测试方法二中的第二个initial用来暂停仿真以便观察仿真波形,它与第一个initial是并行关系 2.如果在第二个initial块中,没有写出#10000或者$stop,仿真会如何进行?答:如果没有写#10000,仿真会直接停止,没有$stop,仿真不会结束。

3.比较两种测试方法,哪一种更全面? 答:第二种测试方法更全面,测试了更多种的变换的情况。 实验二简单分频时序逻辑电路的设计 一、实验目的及要求: 1.掌握条件语句在简单时序模块设计中的使用; 2.掌握verilog语句在简单时序模块设计中的使用; 3.学习在Verilog模块中应用计数器; 4.学习测试模块的编写、综合和不同层次的仿真。 二、实验设备及要求 装有modesim和synplify的电脑一台 三、实验内容与步骤: 1.实验内容: (1)使用always块和@(posedge clk)或@(negedge clk)的结构来表述时序逻辑,设计1/2分频的可综合模型。得到如下波形图: (2)对模块进行RTL级仿真、综合后门级仿真,布局布线仿真; 2.实验步骤: (1)建立工程文件,编写模块源码和测试模块,要求测试模块能对源文件进行比较全面的测试。 (2)编译源码和测试模块,用测试模块对源文件进行测试,并综合仿真。得到波形图。 (3)观察综合后生成的文件和源文件的不同点和相同点。

verilog硬件描述语言历次实验报告

西北工业大学 《硬件描述语言》实验报告 实验一简单组合逻辑设计 (2) 实验二简单分频时序逻辑电路的设计 .............................................. 错误!未定义书签。实验三利用条件语句实现技术分频时序电路.................................... 错误!未定义书签。实验四阻塞赋值与非阻塞赋值的区别 .............................................. 错误!未定义书签。实验五用always块实现较复杂的组合逻辑电路 ............................... 错误!未定义书签。实验六在V erilog HDL中使用函数 .................................................. 错误!未定义书签。实验七在V erilog HDL中使用任务 .................................................. 错误!未定义书签。实验八利用有限状态机进行时序逻辑的设计.................................... 错误!未定义书签。 学院:计算机学院 学号: 姓名: 专业:计算机科学与技术 实验时间: 2011.11 实验地点:实验大楼 指导教师: 西北工业大学 2011 年11 月

实验一简单组合逻辑设计 实验日期:实验成绩:指导老师: 一.实验目的: 1.掌握基本组合逻辑电路的实现方法。 2.初步了解两种基本组合逻辑电路的生成方法。 3.学习测试模块的编写。 4.通过综合和布局布线了解不同层次仿真的物理意义。 二.实验设备: 安装Modelsim-6.5c的PC机。 三.实验内容: 描述一个可综合的数据比较器,比较数据a 、b的大小,若相同,则给出 结果1,否则给出结果0 四.实验代码 module compare(equal,a,b); input a,b; output equal; assign equal=(a==b)?1:0; endmodule `timescale 1ns/1ns module t; reg a,b; wire equal; initial begin a=0; b=0;

硬件描述语言及电路仿真

上海建桥学院本科课程教学大纲 【硬件设计语言及电路仿真】 【HDL Hardware Description Language and circuit simulation】 一、基本信息 课程代码:【b0822101】 课程学分:【3学分】 面向专业:【微电子学专业】 课程性质:【基础必修课】 开课院系:电子系 使用教材:主教材【《Verilog HDL 与数字系统设计简明教程》吴弋编人民邮电出版社 2009】辅助教材【《数字系统设计与Verilog HDL》(第二版) 王金明编电子工业出版社2005】 参考教材【《Verilog数字系统设计教程》夏宇闻编北京航天航空大学出版社2008】先修课程:【数字逻辑电路 b08214021(4)】 二、课程简介 本课程是微电子、电子、通信专业的一门重要的专业课,是学生学习专业课和从事本专业的科研、生产工作的重要基础。该门课程主要分为两大部分:第一部分主要使学生初步了解EDA技术的现状与发展,以及EDA技术自顶向下的设计方法,要求学生可熟练应用EDA工具平台(QuarutsII、Modelsim等开发软件)对可编程芯片(FPGA或CPLD)进行电路或系统的设计、仿真、下载与调试。第二部分基于硬件描述语言进行数字电路系统的设计与仿真则是该门课程的核心内容。这部分重点介绍目前比较流行的硬件描述语言——Verilog HDL语言,以及它的基本语法、基本结构、建模方法、模块调用以及模块测试等。并且给出不少目前较为常用的数字电路模块的编程实例,如加法器、编码器、译码器、数据选择器等组合逻辑电路,触发器、锁存器、计数器、移位寄存器等时序逻辑电路,以及Mealy状态机、Moore状态机等等。通过本课程的学习,使学生能够比较熟练地使用QuartusII等常用EDA软件对可编程芯片进行一些简单电路系统的设计,如交通灯控制电路,LED点阵显示,自动售货机控制电路,音乐播放器等。三、选课建议 FPGA设计是数字集成电路设计的重要组成部分和实践环节,属于应用部分,是数字集成电路设计的后续课程,应安排在数字电路课程之后。 四、课程基本要求 了解可编程逻辑器件的基本知识,EDA发展历程及EDA设计流程,以及常用的EDA工具。熟悉硬件描述语言的基本结构、建模方式、常用电路模块的设计实例。重点掌握借助于EDA开发工具用硬件描述语言设计可编程芯片电路系统的方法。 五、课程内容 第一部分 EDA技术概述 教学目的及要求:

经典的综述硬件描述语言

硬件描述语言[浏览次数:约491次] ?硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言。 利用这种语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接下去,再用专用集成电路ASIC或现场可编程门阵列FPGA自动布局布线工具,把网表转换为要实现的具体电路布线结构。 目录 ?硬件描述语言的概述 ?硬件描述语言的结构 ?硬件描述语言的优点 ?硬件描述语言的用途 ?硬件描述语言开发流程 ?硬件描述语言与原理图输入法的关系 ?硬件描述语言的发展 硬件描述语言的概述 随着EDA技术的发展,使用硬件语言设计PLD/FPGA成为一种趋势。目前最主要的硬件描述语言是VHDL和Verilog H DL。 VHDL发展的较早,语法严格,而Verilog HDL是在C语言的基础上发展起来的一种硬件描述语言,语法较自由。 VHDL和Verilog HDL两者相比,VHDL的书写规则比Verilog烦琐一些,但verilog 自由的语法也容易让少数初学者出错。国外电子专业很多会在本科阶段教授VHDL,在研究生阶段教授verilog。从国内来看,VHDL的参考书很多,便于查找资料,而Verilog HDL的参考书相对较少,这给学习Verilog HDL带来一些困难。 从EDA技术的发展上看,已出现用于CPLD/FPGA设计的硬件C语言编译软件,虽然还不成熟,应用极少,但它有可能会成为继VHDL和Verilog之后,设计大规模CPLD/FPGA的又一种手段。 硬件描述语言[浏览次数:约491次]

相关文档
最新文档