欢迎来到天天文库
浏览记录
ID:57028913
大小:345.50 KB
页数:80页
时间:2020-07-26
《设计入门课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章VHDL设计入门1基本知识:理解QuartusⅡ的HDL输入法理解VHDL程序的基本结构理解VHDL程序的顺序结构理解VHDL程序的并行结构理解VHDL程序的语言要素2QuartusⅡ软件的操作顺序:编写VHDL程序(使用TextEditor)编译VHDL程序(使用Complier)仿真验证VHDL程序(使用WaveformEditor、Simulator)进行芯片的时序分析(使用TimingAnalyzer)安排芯片脚位(使用FloorplanEditor)下载程序至芯片(使用Programmer)3§4.1Qua
2、rtusⅡ的HDL输入法常用的输入法有三种:AHDL、VHDL、VerilogHDL。以7段数码显示译码器设计为例介绍QuartusⅡ的VHDL文件的输入编辑和编译仿真方法。一、输入编辑VHDL文件建立工程项目执行File-NewProjectWizard…命令,建立工程,项目名称DECL7S4一、输入编辑VHDL文件2.新建VHDL文件执行File-New…命令,弹出图4-8对话框选择VHDLFile。然后保存文本文件File-saveas…图4-8图4-95一、输入编辑VHDL文件3.编辑VHDL文件6二、编译仿真VH
3、DL文件1.编译VHDL文件执行Processing-StartComplication,进行编译,如有错误进行修改保存后再编译直到编译成功。2.仿真VHDL文件新建波形文件File-New…,如同仿真原理图一样步骤先装载引脚d和led;然后设置仿真结束时间Edit-EndTime和网格大小Edit-GridSize;编辑波形后保存,最后进行波形仿真Processing-StartSimulation.7二、编译仿真VHDL文件图4-26仿真结果8§4.2VHDL的程序基本结构1171.USE定义区2.PACKAGE定义区
4、3.ENTITY定义区4.ARCHITECTURE定义区5.CONFIGURATION定义区Component定义区信号定义DataFlow描述BehaviorProcess描述Structure描述定义元件库定义使用哪些自定义元件库定义电路实体的外观;I/O接口的规格描述电路内部的功能,说明电路执行什么动作或功能决定哪一个architecture被使用9VHDL基本程序结构:USE定义区ENTITY定义区ARCHITECTURE定义区1)USE定义区和标准定义库包括:LIBRARYIEEE;USEIEEE.STD_LOG
5、IC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;由于VHDL已是IEEE规定的标准,所以只要是CPLD、FPGA等芯片公司,它们都会提供这个标准的定义库(LibraryIEEE),而且由于这里面写了许许多多的定义与参数,初学者一时之间也不容易全部了解,所以全部写上以减轻负担。常用库:IEEE库STD库ASIC矢量库WORK库用户自定义库101)USE定义区和标准定义库包括程序包(PACKAGE)是预先定义或设计好的数据类型、子程序
6、和各种设计实体的集合;库(LIBRARY)则是用来存储已经完成的程序包等VHDL设计与数据的仓库。一般情况下,库和程序包的引用声明放在设计文件的最前面。11库与程序包的使用除WORK、STD库外,其他库与程序包使用前首先要声明。格式如下:LIBRARY库名;USE库名.程序包名.项目名;USE库名.程序包名.ALL;例:LIBRARYaltera;USEaltera.maxplus2.ALL;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;12附程序包的定义:PACKAGE程序包名IS程序包首
7、说明语句;END[PACKAGE]程序包名;PACKAGEBODY程序包名IS程序包体说明语句;END[PACKAGEBODY]包集合名;提示:程序包体为可选项,程序包首与程序包体名字应相同。132)实体(ENTITY)命令格式:ENTITY芯片电路名称isPORT(管脚名称1:输出输入状态资料类型;管脚名称2:输出输入状态资料类型;:管脚名称n:输出输入状态资料类型);END芯片电路名称;※注意两点:a.芯片电路名称是对你所编辑的电路功能的描述,比如半加器、全加器、D出发器及一些复杂的编程电路;b.对每个管脚的描述完成后
8、要打分号,但是最后一个管脚描述完成后不用分号,而是在括上反括号后打分号。14端口方向:IN(输入),只能读,用于时钟输入、控制输入(装入、复位、使能)、单向数据输入;OUT(输出),只能被赋值,用于不能反馈的输出;BUFFER(缓冲),类似于输出,但可以读,读的值是被赋值,用做内部反馈用,不能作为双向端
此文档下载收益归作者所有