数字逻辑彩灯实验.ppt_第1页
数字逻辑彩灯实验.ppt_第2页
数字逻辑彩灯实验.ppt_第3页
数字逻辑彩灯实验.ppt_第4页
数字逻辑彩灯实验.ppt_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,数字逻辑彩灯实验,全成斌,2,实验教学组,全成斌6277.2213-604quancb李山山6277.3730-2liss02田淑珍6277.1489tiansz牛少锋shaofengniu李振leezhen1988,内容提要,实验改革与安排实验平台与EDA基础QUARTUSII的使用VHDL简介,实验改革,历史电子技术实验主要内容分离元器件基础(变动小)彩灯创意无限主要用分离元器件GAL彩灯现实电子技术实验减小实验比例增加大规模可编程器件实验彩灯创意无限用大规模可编程器件控制集中大家的智慧在创意上,5,改革实验安排,实验基础:硬件描述语言和EDA工具VHDL、QUARTUSII原理图、PCB设计PROTEL(99se及以上版本),基础实验:数列变换,目的熟悉EDA实验基本工具为组成原理体系结构课程奠定基础条件给定一个数码管显示实验代码要求每人必做用硬件描述语言用EDA工具编译下载用按键控制显示奇数列偶数列自然数列,彩灯创意无限,目的充分展示创意锻炼数字电路硬件设计能力锻炼使用可编程器件设计能力条件给定一个控制CPLD板要求三人一组创意自定13周五统一做板(截止发给李山山老师)充分展示(16周每组讲解6分钟)成绩在数字逻辑期末成绩中加绝对分20,内容提要,实验平台与EDA基础QUARTUSII的使用VHDL简介,9,两种数字系统设计方法,基于电路板的设计方法采用固定功能的器件(通用型器件),通过设计电路板来实现系统功能基于芯片的设计方法采用PLD(可编程逻辑器件),利用EDA开发工具,通过芯片设计来实现系统功能。,10,实现载体的变迁,集成于片上而不是集成于板上;,11,设计方法的变迁,借助于EDA工具而不是手工设计;,12,掌握EDA技术有什么用呢?,真有趣,可以按自己的想法设计一个芯片!,参加电子设计大赛!,哇,毕业设计和研究生项目正好能用得上哎!,原来在一个芯片里就可以设计一个完整的计算机系统呀!,找工作也算得上一技之长哦!,13,EDA技术范畴,ASIC设计PLD设计(FPGA/CPLD)PCB设计,14,EDA技术,什么是EDA技术EDA技术是以计算机为工作平台、以EDA软件工具为开发环境、以硬件描述语言(HDL)为设计语言、以可编程逻辑器件(PLD)或ASIC为实现载体,以帮助电子设计工程师进行电子产品自动化设计的综合技术。在EDA软件平台上,根据硬件描述语言完成的设计文件,自动地进行逻辑编译、化简、分割、综合及优化、布局布线、仿真、目标芯片的适配编译、逻辑映射和编程下载,直至实现既定的电子系统。,15,基础实验采用的开发环境,EDA硬件实验平台CHULP1(计算机硬件实验统一平台)TAII适配板目标芯片:EP2C20Q240C8,属Altera公司CycloneII系列的一种FPGA芯片硬件描述语言:VHDLEDA软件工具:Altera公司的QuartusII,彩灯创意无限实验开发环境,EDA硬件实验平台控制系统EPM240卡提供原理图、PCB板语言与软件平台同前(控制)PROTEL(原理图、PCB),EPM240卡,彩灯实验注意,自己设计原理图、PCB电源控制板引入5v(直流电源接入提供)3.3v(800mA)双层板要求最后铺铜(电源、地)线宽10mil最小过孔35/50最小内外孔径PCB大小参考20cm20cm,19,可编程逻辑器件(PLD),可编程逻辑器件PLD(ProgrammableLogicDevice)是一种半定制集成电路,在其内部集成了大量的门和触发器等基本逻辑电路,用户通过编程来改变PLD内部的逻辑关系或连线,就可以得到需要的设计电路。可编程编程逻辑器件的出现,改变了传统的数字系统设计方法,为采用EDA技术开创了广阔的发展空间,并极大地提高了电路设计效率。,20,PLD分类,按集成度分类:一般以GAL22V10芯片为分水岭低密度可编程逻辑器件LDPLD高密度可编程逻辑器件HDPLD,21,CPLD结构特点与工作原理,多采用E2CMOS工艺,也包含EEPROM、Flash、Anti-Fuse等工艺,可实现掉电保护基于乘积项结构,逻辑单元大,容量小采用集中式布线池结构,延时可预测,22,CPLD的结构与工作原理,以Altera公司MAX7000系列器件为例MAX7000系列器件结构组成逻辑阵列块宏单元扩展乘积项可编程互联阵列I/O控制块,23,CPLD的结构与工作原理MAX7000器件结构,24,FPGA结构特点与工作原理,基于SRAM查找表结构逻辑单元颗粒小具有丰富的布线资源,布线资源连通FPGA内部所有单元,延时不可预测时序逻辑资源丰富,可实现较复杂的时序功能容量大:千万门(超50万LE),25,FPGA的结构与工作原理,查找表逻辑结构,FPGA查找表单元,26,查找表逻辑结构,将4输入真值表的输出写入161RAM4个输入变量作为查找表的地址,27,FPGA的基本单元,28,FPGA基本结构,29,FPGA与CPLD比较,30,EDA实验开发系统,EDA实验开发系统性能指标:主芯片资源及性能外围设备及接口通用性、灵活性硬件实验通用性二次开发,用于开放设计和大赛,31,CHULP1EDA实验装置,采用Altera公司推出的一款CycloneII系列FPGA芯片-EP2C20Q240C8EP2C20Q240C8名称含义2C-Cyclone第二代20-含近20K个LEQ-QFP封装240-管脚数C-商业级8-速度等级EP2C20Q240C8内含资源LE18,752个Memory239,616bitPLL4个,内容提要,实验平台与EDA基础QUARTUSII的使用VHDL简介,34,QuartusII,QuartusII是Altera公司为其FPGA/CPLD芯片设计的集成化专用开发软件QuartusII前身是MaxPlusII,QuartusII每半年出一个新版本2010年秋季推出QuartusII9.2目前机房安装QuartusII8.0QuartusII支持所有新老器件,包括SOPCBuilder,支持系统级开发,35,QuartusII软件平台,36,QuartusII简介,Quartus支持系统级开发与SOPCBuilder结合,可实现SOPC系统开发与MATLAB和DSPBuilder结合可以进行基于FPGA的DSP系统开发其它新功能增量编译LogicLock嵌入式逻辑分析仪SignalTapII,37,QuartusII主界面,38,QuartusII主界面的一个实例,39,QuartusII设计流程,40,开始一个新项目(Project),Project:项目,工程,设计QuartusII只对项目进行编译,模拟,编程.而不对单独的文件,除非把该文件设置为项目,41,指定新项目的工作目录及名称,选择命令File|NewProjectWizard在对话框中操作:,42,QuartusII设计输入,硬件描述语言输入VHDL:.vhdVerilog:.v模块/原理图方式输入(bsf/bdf)使用MegaWizardPlug-InManege产生IP核/宏功能块基于块设计文件的输入(vqm/qsf)内存编辑输入(mif/hex),43,图形设计方法,图形方式输入调用QuartusII中提供的元件库调用自己建造的元件,可由VHDL/Verilog生成,44,QuartusII中的元件库,基本元件库(primitives)基本门电路(primitiveslogic)各种触发器、锁存器(primitivesstorage)输入/输出引脚(primitivespin)其它元件库(others)74系列器件(othermaxplus2)宏功能模块评估(otherOpencore_plus),45,QuartusII中的元件库,参数化元件库(megafunctions)算术组件:累加器、计数器、加法器、乘法器和LPM算术函数;门电路:多路复用器、LPM门函数。I/O组件:时钟数据恢复(CDR)、锁相环(PLL)、双数据速率(DDR)、千兆位收发器块(GXB)、LVDS接收器和发送器、PLL重新配置和远程更新宏功能模块。存储组件:存储器、移位寄存器、LPM存储器函数。,46,调用库元件方法,新建原理图,打开原理图编辑器窗口File|New,选择DeviceDesignFiles标签下BlockDiagram/SchematicFile,再单击OK使用命令ViewShowGuidelines,可使原理图编辑器窗口出现网格,以帮助设计者确定元件符号的位置调用库元件的三种方法在原理图编辑器空白处双击鼠标左键执行命令Edit|InsertSymbol点击工具条上的与门符号(表示要插入一个元件符号),47,选择元件,元件选择对话框,48,由设计生成元件符号,创建VHDL文件或原理图文件验证无误执行Creat|CreatSymbolFilesfromCurrentFile,生成元件符号,49,QuartusII设计输出,编译可下载文件.sof(FPGAJTAG下载).pof(CPLD下载).rbf(FPGA软件下载),内容提要,实验平台与EDA基础QUARTUSII的使用VHDL简介,51,VHDL是什么?,HDLHardwareDescriptionLanguage;VHSICVeryHighSpeedIntegratedCircuit;VHDLVHSICHardwareDescriptionLanguage;VHDL是一种硬件描述语言80年代初期美国政府超高速集成电路(VHSIC)发展计划的衍生物;VHDL的IEEE国际标准:IEEEStd1076IEEEstd1076-1987,-1993,-2000,-2002四个版本,52,硬件描述与软件不同之处,信号硬件连线的抽象连接电路中元件并行语句多个语句同时执行对应于电路中的不同部分,53,VHDL源程序基本结构,库、程序包调用库:存放已有设计、程序包程序包:存放共享数据类型、函数、过程等与C对比:全局数据结构、库函数实体说明(Entity)描述外部接口对外可见结构体(Architecture)描述系统内部结构对外不可见,54,IEEE标准库及程序包,libraryieee;packageStd_Logic_1164定义了标准逻辑位数据类型Std_Logic定义了标准逻辑矢量数据类型Std_Logic_VectorpackageStd_Logic_ArithpackageStd_Logic_SignedpackageStd_Logic_Unsigned,55,程序包和设计库的引用,库和程序包的引用格式library库名表;use库名.包名.项目名;例子libraryIEEE;useIEEE.Std_Logic_1164.All;,56,实体和结构体,实体说明:描述电路的接口信息,简称实体,保留字entity。结构体:描述电路的行为或结构,保留字architecture。,57,半加器VHDL源程序,entityHalf_Adderisport(X:inbit;Y:inbit;Sum:outbit;Carry:outbit);endHalf_adder;architecturebehofHalf_AdderisbeginSum=XxorY;Carry=XandY;endbeh;,外部接口特征,内部行为,58,实体声明的格式,ENTITY实体名ISGENERIC(常数名;数据类型:设定值)-类属参数说明,“”中内容为可选项PORT(端口名1:端口模式端口类型;-端口声明语句用分号隔开端口名2:端口模式端口类型;端口名n:端口模式端口类型-最后一个端口声明语句后不加分号);END实体名;-可以只用END结束实体声明,不一定加实体名,59,实体声明,实体名实体名可以为英文字母打头的任何字母数字以及下划线的组合建议实体名与文件名相同类属参数类属参数为实体声明中的可选项,常用来规定端口的大小、信号的定时特性等。端口名端口名是设计者赋予每个外部引脚的名称。端口模式端口模式用来定义外部引脚的信号方向四种端口模式:in,out,inout,buffer端口类型定义端口的数据类型,常用的数据类型有Std_logic、Std_Logic_Vector,60,VHDL对象与数据类型,共同点具有相同的类型特性在初始化时均可赋初值可相互赋值,61,信号特点与属性,定义位置实体声明中端口均为信号在结构体中,只能在进程外部定义信号的常用事件属性:Event表示信号发生变化例clkevent-表示信号clk发生跳变clkeventandclk=1-表示信号clk发生正跳变(上升沿),62,对象的声明,格式对象类对象名:数据类型:初值;初值可不指定,用默认值对象声明例子signalCLK,CLEAR:Bit:=1;-声明了两个信号,均为二进制位类型,初值指定为1variableInfetch:Boolean;-定义布尔类型的变量Infetch,初值默认为FalseconstantROM_Size:Integer:=16#FFFF#;-定义ROM_Size为整数类型的常数,其值为16进制的FFFF,63,VHDL数据类型,布尔(BOOLEAN)类型位(BIT)数据类型位矢量(BIT_VECTOR)类型字符(CHARACTER)类型整数(INTEGER)类型实数(REAL)类型,64,常用数据类型std_logic,标准逻辑位数据类型:表示一位逻辑值具有九种数据值,常用值仅四个X、0、1和Z简单设计中,使用0和1即可使用需要libraryieee;useieee.std_logic_1164.all;,Std_Logic中的信号值及其定义,66,常用数据类型std_logic_vector,标准逻辑矢量数据类型定义为一维数组,数组中每个元素都是std_logic必须指明其数组宽度,即位宽用途用于计数器(相当于整型)signala:std_logic_vector(1to4);-a具有4位宽度,作为计数器可以表示015多个值的集合result4:outstd_logic_vector(3downto0);-4位加法器的4个输出端下标signala:std_logic_vector(1to4):=1010;-a(1)=1,a(2)=0,a(3)=1,a(4)=0signala:std_logic_vector(3downto0):=1010;-a(3)=1,a(2)=0,a(1)=1,a(0)=0,67,常用数据类型枚举,属于自定义类型与C语言中enum数据结构类似例子typeWeekDayis(SUN,MON,TUE,WEN,THU,FRI,SAT);-表示一周的七天typeStatsis(S0,S1,S2,S3);-定义状态机的四个状态,68,VHDL运算符,逻辑运算符(LogicalOperator)关系运算符(RelationalOperator)算术运算符(ArithmeticOperator)符号运算符(SignOperator)重载运算符(OverloadingOperator),VHDL运算符列表,VHDL运算符列表,71,VHDL运算符优先级,VHDL算术运算符,73,并置运算符SignalB:Std_Logic_Vector(1downto0);SignalC:Std_Logic_Vector(5downto0);SignalD:Std_Logic_Vector(4downto0);SignalE:Std_Logic_Vector(2downto0);C=A-元素与元素并置,74,结构体的语法形式,architectureofisbeginendarchitecture;,ARCHITECTURE,并行信号赋值语句,并行过程调用语句,元件例化语句,生成语句,并行语句,并行语句,并行语句,块语句,顺序语句1顺序语句2.顺序语句n,进程语句,信号,信号,信号,信号,信号,ENDARCHITECTURE,结构体中的并行语句,VHDL常用语句,赋值语句顺序赋值语句并行赋值语句If语句Case语句进程语句元件例化语句,77,IF语句的各种形式,(1)IF条件句Then顺序语句ENDIF;,(2)IF条件句Then顺序语句ELSE顺序语句ENDIF;,(3)IF条件句ThenIF条件句Then.ENDIFENDIF,(4)IF条件句Then顺序语句ELSIF条件句Then顺序语句.ELSE顺序语句ENDIF,进程语句,最基本的行为结构完成一定功能相当于C里的一个函数一个设计由若干个进程组成进程内部实现功能进程之间并列执行,79,进程一般形式,标号:process(敏感信号表)声明部分begin顺序语句部分endprocess标号;标号:该进程的一个名字标号声明部分:定义局部变量顺序语句部分:该进程执行的内容敏感信号:用于激活进程的信号敏感信号发生变化,会自动激活该进程激活进程相当于函数调用,80,进程举例,ArchitectureExamofExamis-(局部变量声明部分)beginAnd_Process:-进程1标号Process(A,B)-敏感信号beginT=AandB;-顺序行为语句endprocess;clk_Process:-进程2标号process(clk)-敏感信号beginifclkeventandclk=1thenOutput=Input;-将输入赋给输出endif;endprocess;endExam;,81,层次化设计的核心思想,模块化将系统分为几个子模块子模块又分别由更小的模块组成元件复用调用已有的设计优点减轻设计者工作量增强设计的结构化,82,元件复用元件声明,作用声明要引用的元件(一般在Architecture中)定义了一个元件模板(C中的一个类)格式component元件模型名generic(参数名表:类型;);port(端口表:in/out类型;);endcomponent;,83,元件复用元件例化语句,作用调用元件模块,生成实例(C中定一个类的实例)指定元件模板与实际信号的关联格式语句标号:元件模板名genericmap(参数关联信息)-可以省略portmap(端口关联信息);注意事项语句标号为实际元件名(类实例的变量名)元件模板的名称和端口名最好与已有设计相一致,84,一位全加器设计实例,半加器h_adder电路图,全加器f_adder电路图,85,一位全加器或门描述,描述或门的逻辑关系,libraryieee;useieee.std_logic_1164.all;entityor2aisport(a,b:instd_logic;c:outstd_logic);endentity;architectureoneofor2aisbeginc=aorb;endarchitectureone;,86,一位全加器一位半加器描述,描述一位半加器的逻辑关系,architectureb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论