版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
例:试设计一个逻辑电路,X=xn-1xn-2…x1x0是该电路得串行输入信号,Z为它的输出,表示X中包含的1个数。含1统计电路统计结果输入序列X对于这样一个看似十分简单的逻辑电路,却难以用状态表对它进行描述,对于这样一个n位的串行输入序列,将有2n种不同的组合,显然不能按当前已收到的序列来规定电路的状态。如果这样规定,则需要2n个状态;显然也不能按当前序列中已包含1的个数来规定状态,如果这样,则需要n+1个状态,状态表也将十分庞大。5-3硬件描述语言VHDL即:分析:2021/5/91
由电路功能直接导出状态表的方法并非对所有的电路设计都是适用的,但如果从为实现上述功能必须完成的操作出发,问题就可能很容易解决。由此可见:(1)该电路为统计序列中含有的“1”的个数,必须包含有一个加1计数器。(2)仅当输入信号为1时才进行加1计数,所以必须还应有判别操作,要做的工作就是设计判别电路和计数器,并配置相应的控制电路使它们能协调地工作,以完成预定的功能。2021/5/92开始Z0n0n
n+1x=1?n=N?Z
Z+1NYNY2021/5/93算法设计的思想:是把系统应实现的逻辑功能看作是应完成的某种运算或操作,若这一运算或操作十分复杂,则可以把它分解成若干个子运算或子操作系统的算法描述的特征。(1)含有若干个子运算,实现对数据或信息的存储传输或处理。(2)具有相应的控制程序,控制各子运算的执行顺序。在导出算法流图后,便可将电路划分成数据处理单元和控制单元。控制器计A计BZCPCRCRC1C2Xn=N?结束﹥﹥﹥2021/5/94硬件描述语言VHDL概述:
随着超大规模集成电路工艺的发展,待设计电路的规模越来越大,传统的手工艺已无发适应设计复杂数字系统的要求。然而超大规模集成电路的发展也推动了计算机技术和数字技术的发展,使人们有可能开发出功能强大的电子设计自动化(简称EDA)软件,从而改变了人们的设计思想和设计方法,实现设计自动化。
数字系统设计历来存在两个分支,即:系统硬件设计和系统软件设计,但是随着计算机技术的发展和硬件描述语言HDL的出现,使这种情况又有新的变化,数字系统的硬件结构及其行为完全可以用HDL语言来描述和生成,这样即使是软件设计人员也同样可以方便的借助HDL语言,设计出符合要求的硬件系统。2021/5/95
另外也为数字系统的硬件、软件协同设计打下了良好的基础,数字系统的硬件、软件设计可以在一开始就进行通盘考虑,进行早期仿真,这就大大提高了系统设计的效率。所谓硬件描述语言:就是可以描述硬件电路的功能、信号连接关系及定时关系的语言。2021/5/961.自下而上的设计方法1.自上而下的设计方法(核心是算法思想的设计)2.采用通用的逻辑元器件2.系统中可大量采用ASIC芯片3.在系统硬件设计的后期进行仿真和调试3.系统采用早期仿真,降低了硬件电路设计难度4.主要设计文件是原理图4.主要设计文件是HDL编写的源程序
传统的系统硬件设计方法与利用硬件描述语言(HDL)的硬件电路设计方法的比较:2021/5/97第三步:系统调试从选择具体的元器件开始,并用这些元器件进行逻辑电路设计,完成系统各独立功能模块,然后再连接。例:设计六进制计数器第一步:选择器件第二步:电路设计S5S4S3S2S1S0/0/0/0/0/0/0Q3
Q2
Q1
Q3n+1
Q2n+1
Q1n+1
Z0000010001010001001100111000100101010100012021/5/981JQK2JQK3JQK&ZCP2021/5/99六进制计数器
LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;
PORT(clk,clr,en:INSTD_LOGIC;qa,qb,qc:OUTSTD_LOGIC);ENDcnt6;
cnt6clrclkqaen
qcqbENTITYcnt6IS2021/5/910
ARCHITECTURErtlOFcnt6IS
SIGNALq:STD_LOGIC_VECTOR(2DOWNTO0);
BEGIN
PROCESS(clk)VARIABLEq6:INTEGER;
BEGIN
IF(clk’EVENTANDclk=‘1’)THEN
IF(clr=‘0’)THENq6:=‘0’;ELSIF(en=‘1’)THEN
IF(q6=5)THENq6:=0;
2021/5/911
ELSEq6:=q6+1;
ENDIF;ENDIF;ENDIF;q<=CONV_STD_LOGIC_VECTOR(q6,3)qa<=q(0);qb<=q(1);qc<=q(2);
ENDPROCESS;ENDrtl;
2021/5/912第一层:是行为描述,(较小规模系统时常常省略)实质是对整个系统的数学模型进行描述。第二层:是RTL(寄存器)描述,要想得到硬件的具体实现,必须将行为方式描述的VHDL程序改写成RTL描述的VHDL程序。第三层:是逻辑综合,将RTL描述的程序转换成用基本逻辑元件(宏单元)表示的文件,相当于在人工设计硬件电路时,根据系统要求画出了系统的电原理图。2021/5/913一.VHDL语言描述数字系统的基本方法在电原理图中如果要描述一个”与非”,会想到两件事:&cba&cba(1)确定输入输出(2)确定功能同理:在VHDL中,所有的部件(小至一个门,大至一个CPU芯片或整个系统)都是用设计实体(DesignEntity)来描述,设计实体是描述电路的基本方法。描述电路的输入、输出具体指明了对应的行为、元件及内部的连接关系,即定义具体的功能。设计实体实体:构造体:2021/5/9141.实体ENTITY
实体名
IS[类属参数说明][端口说明]END
实体名*大写字母表示实体描述的框架,所用的词都是VHDL语言的保留用词,是不可缺少和省略的部分(大小写视为一样,为区别,关键词用大写)。2021/5/915ENTITYmux2ISGENERIC(m:TIME:=1ns);PORT(d0,d1,se1:INBIT;q:OUTBIT);ENDmux2&&1>1d0d1se1q例:二选一选择器电原理图2021/5/916tmp2:=d1AND(NOTse1);tmp3:=tpm1ORtmp2;tmp<=tmp3Q<=tmpAFTERmENDPROCESS;ENDconnect;ARCHITECTUREconnectOFmux2ISSIGNALtmp:BIT;BEGINPROCESS(d0,d1,se1)VARIABLEtmp1,tmp2,tmp3:BIT;BEGINtmp1:=d0ANDse1;2021/5/917(1)类属参数说明(必须放在端口说明之前,用于指定参数)GENERIC(m:TIME:=1ns)该语句指定了构造体内m的值为1ns,这样语句q<=tmpAFTERm;表示tmp经1ns才送到q。即:GENERIC利用类属参数为q建立一个延迟值。(2)端口说明
PORT(端口名{,端口名}:方向数据类型名 端口名{,端口名}:方向数据类型名);a)端口名:赋予每个外部引脚的名称,通常用一个或几个英文字母,或用英文字母加数字来命名之。2021/5/918b)端口方向: 方向定义含义IN输入OUT输出(内部不可使用)INOUT双向BUFFER输出(内部可再使用)LINKAGE不指定方向,无论哪 一方向都可连接dclkOUTqdclkq&BUFFER2021/5/919c)数据类型:POPT(d0,d1,sel:INBIT; q:OUTBIT; bus:OUTBIT-VECTOR(TDOWNTO0)*说明符号不同特别要注意d0,d1,sel,q都是BIT类型“0”或“1”,bus是BIT-VECTOR类型,由B7-B08位构成
在VHDL中有10种标准数据类型,而在逻辑电路中常用到两种:BIT或BIT-VECTOR(一组二进制数的值)。例:2021/5/920LIBRARYIEEE;USEIEEE.STD-LOGIC-1164.ALL;ENTITYmuISPOPT(d0,d1,sel:INSTD-LOGIC; q:OUTSTD-LOGIC;bus:OUTSTD-LOGIC-VECTOR(TDOWNTO0);ENDmu;STD-LOGIC代替BIT,类型不一样。有9种。BIT在VHDL标准库中存在,不用说明,STD-LOGIC在IEEE库的1164集合中定义,必须加库说明和包说明语句(在实体说明前)。2021/5/921ARCHITECTURE
构造体名OF
实体名IS[定义语句]内部信号,常数,数据类型,函数等的定义;BEGIN[并行处理语句];END
构造体名;(1)构造体名称的命名
可以由设计者自由命名,但大多数以行为(behaviur)、数据流(dateflow)、寄存器传输(rtl)或者结构(structural)、方程(funct)来命名,使得阅读者能直接进入设计者所采用的描述方式。例:ARCHITECTURESTRUC/connectOFMUXIS表明connet是从属于MUX的结构体。2.构造体2021/5/922(2)定义语句
位于ARCHITECTURE和BEGIN之间,用于对构造体内部所使用的数据对象进行定义。VHDL中由四类对象:SIGNAL(信号)、VARIABLB(变量)、CONSTANT(常量)、FILE(文件)。对象的说明格式为:对象类别标示符表;子类型标示[:=初值]数据类型可缺省SIGNALclock:BIT;VARIABLEi:INTEGER:=13CONSTANTdelay:TIME:=5ns例:2021/5/923
信号类型的对象相当于元件之间的连线,端口说明中的对象均为信号类型可不作说明,但需指明流向,而在结构体中则不需说明由内部信号流向决定。VHDL有很强的数据类型,但一个对象只能有一种类型,施加于该对象的操作必须与该类型匹配(类型、位长)(a)标准的数据类型10种整数、实数、位、位矢量、布尔量、字符、时间、错误等级、自然数、字符串。2021/5/924(b)用户定义的数据类型例:TYPEweekIS(sun,mon,tue,wed,thu,fri,sat);(c)用户定义的子类型SUBTYPEiobusISSTD-LOGIC-VECTOR(7DOWNTO0);TYPE数据类型名{,数据类型名}数据类型定义,格式:整型、浮点型、枚举型、时间型等。定义了一个week的数据类型,比使用代码0、1直观方便多了。用户对已定义的数据类型,作一些范围的限制形成的一种新的数据类型.。格式:SUBTYPE子类型名IS数据类型名[范围]例:2021/5/9253.运算操作符分三类见P278表5-3-1算术运算符、关系运算符、逻辑运算符2021/5/926二.VHDL语言的基本设计单元构成分五部分:库说明、集合说明、实体描述、构造体描述和配置描述。LIBRARYIEEE;USEIEEE.STD-LOGIC-1164.ALL;ENTITYmux2ISPOPT(d0,d1,sel:INSTD-LOGIC; q:OUTSTD-LOGIC);ENDmux2ARCHITECTURErtlOFmux2ISBEGINPROCESS(d0,d1,sel)VARIABLEtmp1,tmp2,tmp3:STD-LOGIC;库说明(因为使用了IEEE库中定义的集合)包集合说明STD-LOGIC数据类型在1164集合中定义实体说明构造体说明例:一个完整的设计单元构成2021/5/927BEGINtmp1:=d0ANDsel;tmp2:=d1AND(NOTsel);tmp3:=tmp1ORtmp2;ENDPROCESS;ENDtrl;ARCHITECTURErtlOFmux2ISENDtrl2;CONFIGURATIONrtl-mux2OFmux2ISFORtrl1ENDFOR;ENDrtl-mux2;…..构造体说明配置说明
在本例题中包含了一个实体和两个构造体,配置说明编译时应选中rtl1构造体,如只有一个,配置说明可省。2021/5/9281.构造体的子结构描述
在规模较大的电路设计中,全部电路都用唯一的一个模块来描述是非常不方便的。为此,电路设计者总希望将整个电路分成若干个相对比较独立的模块来进行电路的描述。这样一个构造体可以用几个子结构,即:相对比较独立的模块来构成。VHDL可以有三种形式的子结构描述语句BLOCK、PROCESS、SUBPROGRAMS(a)进程语句PROCESS[进程标号:]PROCESS[(敏感信号)][IS] <说明区>:用以说明数据类型,子程序,变量 BEGIN <顺序语句> ENDPROCESS[进程标号] 格式:2021/5/929进程语句用于描述一个操作过程,进程内部是顺序执行的。敏感信号:对相对独立执行的并行语句进行协调,实行同步和异步操作。仅当敏感信号发生变化时,才被激活。例:P282-283(b)断言语句ASSERTASSERT语句等价于一个进程语句,它不作任何操作,仅用以判断某一条件是否成立,若不成立,则报告一串信息给设计师。故称之为断言语句。例:P2842021/5/9302.构造体的结构描述方式
所谓构造体的结构描述方式,就是在多层次的设计中,高层次的设计模块调用低层次的设计模块,或者直接用电路设计单元来构成一个复杂的逻辑电路的描述方式.。 ENTITYmux2ISPORT(d0,d1,sel:INBIN; q:OUTBIT);例:&&&>1U1d1seld0U3U2nselabaaqENDmux22021/5/931ARCHITECTURESTRUCTOFmux2ISCOMPONENTand2PORT(a,b:INBIT; c:OUTBIT;ENDCOMPONENT;COMPONENTor2PORT(a,b:INBIT; c:OUTBIT);ENDCOMPONENT;*COPONENT为实体内部元件的说明,指明了在该电路中所使用的已生成的模块,供本构造体调用。*用PORTMAP()语句将生成的模块端口与所设计的各模块端口联系起来*SIGNA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园地震安全教育课件
- 2025年材料化学专业试题及答案
- 考研政治选择题库及答案
- 安阳单招语文题库及答案
- 面试官认证培训课件
- 仓库货梯安全教育课件
- 金融科技行业工艺流程与发展趋势
- 零食经销商培训课件
- 金融科技在财务管理中的应用与前景
- 人工肝应用的指征与适应症-11-20
- 2024-2025学年河南省郑州市高新区七年级(上)期末数学试卷
- 2025年期货从业资格考试题库及完整答案(夺冠)
- 2025年医疗器械监督管理条例培训试题及参考答案
- 2025江苏苏州市昆山开发区招聘编外辅助人员29人(公共基础知识)综合能力测试题附答案解析
- 2025广西柳州城市职业学院人才招聘28人(公共基础知识)测试题附答案解析
- 企业融资规划与预算编制模板
- 2025年山东单招试题归总及答案
- 北京八中2026届高二物理第一学期期末考试模拟试题含解析
- 2026年湖南铁道职业技术学院单招职业技能考试必刷测试卷附答案
- 销售费用申请与报销流程标准化手册
- 《军用关键软硬件自主可控产品名录》(2025年v1版)
评论
0/150
提交评论