版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原理图输入与
HDL文本输入设计的区别
1.Graphiciswhatyoudrawiswhatyouget“tellmewhathardwareyouwantandIwillgiveittoyou”2.HDLiswhatyouwriteiswhatfunctionalyouget“tellmehowyourcircuitshouldbehaveandtheHDLcompilerwillgiveyouthehardwarethatdoesthejob”
butthedesignercannotcontrolhowthecircuitimplement2.1硬件描述语言(HardwareDescriptionLanguage)HDL的种类VHDL的含义VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguageVHDL发展历史1981年,诞生于美国国防部赞助的研究计划,目的是为了把电子电路的设计以电子文档的方式保存下来;1983—1985年,IBM、TI等公司对其进行了细致开发;1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言,即IEEE-1076(简称87版)1993年,IEEE对VHDL进行了修订,公布了新版本的VHDL,即IEEE标准的1076-1993(1164)版本1996年,IEEE又推出IEEE-1076.3和IEEE-1076.4,以解决可综合VHDL描述在不同EDA厂商之间的移植问题,以及ASIC/FPGA的门级库描述问题。VHDL特点支持“自上向下”的设计方法—设计可按层次分解,采用结构化设计,可实现多人、多任务的并行工作方式,提高系统的设计效率。系统仿真能力强—VHDL丰富的仿真语句和库函数,使得在设计的早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟系统硬件描述能力强—可以同时支持“行为描述”数“据流描述”和“结构描述”3种描述方式,并可以混用。VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能VHDL设计描述相对独立性—设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计6硬件描述语言(HDL)与计算机语言的区别★运行的基础
▼计算机语言是在CPU+RAM构建的平台上运行
▼HDL设计的结果是由具体的逻辑、触发器组成的数字电路★执行方式
▼计算机语言基本上以串行的方式执行
▼HDL在总体上是以并行方式工作★验证方式
▼计算机语言主要关注于变量值的变化
▼
HDL要实现严格的时序逻辑关系2.2VHDL设计的基本语法结构用一个VHDL程序来描述一个模块电路。电路模型IN1INmOUTnOUT1用VHDL程序进行描述主要包括三个方面的内容:①库、程序包的使用说明②硬件电路的接口信号③硬件电路内部的逻辑功能。2.2VHDL设计的基本语法结构1.VHDL程序的基本结构UseLibrary(库)用来说明电路模型需要使用的标准库Entity(实体)
用来说明电路模型的输入/输出端口Architecture(构造体)
用一些语句来描述电路模型的功能。2.2VHDL设计的基本语法结构2、4选1数据选择器的VHDL描述d0xmux4_1d2d1d3s2library
IEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_arith.all;useIEEE.std_logic_unsigned.all;entitymux4_1isport(S:inSTD_LOGIC_VECTOR(1downto0);
A,B,
C,
D:inSTD_LOGIC;
X:outSTD_LOGIC);endmux4_1;引用库实体结构体ARCHITECTURElogicOFmux4_1ISBEGIN
WITHSSELECTX<=AWHEN“00”,
BWHEN“01”,CWHEN“10”,DWHENOTHERS;Endlogic;ENTITY实体名IS[GENERIC(常数名:数据类型:设定值)]--可选项,类属参数说明。PORT(端口名1:端口方向端口类型;--端口声明语句用分号隔开
端口名2:端口方向端口类型;--端口声明语句用分号隔开...
端口名n:端口方向端口类型--最后一个端口声明语句不加分号);END[实体名];
--可以只用END结束实体声明,不一定加实体名实体实体声明的格式:实体举例entitymux4_1isport(S:in
STD_LOGIC_VECTOR(1downto0); A,B,
C,
D:in
STD_LOGIC; X:out
STD_LOGIC);endmux4_1;黑盒ABCXMUX4_1DS包含三条语句。entitymux4_1is
Entity、is是关键字。mux4_1为实体名,由设计者自定必须与文件名相同,表达电路模型的名字。类似一个“黑盒”,实体描述了“黑盒”的输入输出口构成和信号属性PORT()端口说明语句port(S:in……..);
描述电路模型端口方向及类型。
PORT信息一般有Name(端口名),Mode(端口模式)和Type(端口数据类型)。entitymux4_1isport(S:in
STD_LOGIC_VECTOR(1downto0); A,B,
C,
D:in
STD_LOGIC; X:out
STD_LOGIC);endmux4_1;端口说明格式
PORT(Name1:ModeType;
Name2:ModeType; ……);
Mode(端口模式)IN:
数据只能从端口流入实体OUT:
数据只能从端口流出实体INOUT:
数据从端口流入或流出实体BUFFER:
数据从端口流出实体,同时可被内部反馈Entity端口说明格式
PORT(Name1:ModeType;
Name2:ModeType; ……);Type(端口数据类型)VHDL规定:任何数据对象必须严格限定其取值范围。即对其传输的信号或存储的数据的类型做明确界定。有BIT:位类型;BOOLEAN:布尔类型;INTEGER:整型;
STD_LOGIC:标准逻辑位,STD_LOGIC_VECTOR:标准逻辑矢量等。端口说明格式
PORT(Name1:ModeType;
Name2:ModeType; ……);实体结束语句:endmux4_1;entitymux4_1isport(S:in
STD_LOGIC_VECTOR(1downto0); A,B,
C,
D:in
STD_LOGIC; X:out
STD_LOGIC);endmux4_1;my_designd[11:0]oeclkad[11:0]a[11:0]intas练习:编写包含以下内容的实体代码 端口d为12位输入总线 端口oe和clk都是1位输入 端口ad为12位双向总线 端口a为12位输出总线 端口int是1位输出 端口as是一位输出同时被用作内部反馈ENTITYmy_designIS
PORT( d:
INstd_logic_vector(11DOWNTO0); oe,clk:INstd_logic; ad:
INOUTstd_logic_vector(11DOWNTO0); a:
OUTstd_logic_vector(11DOWNTO0); int:
OUTstd_logic; as:
BUFFERstd_logic);ENDmy_design;my_designd[11:0]oeclkad[11:0]a[11:0]intas结构体(Architecture)用来描述实体的内部结构和逻辑功能每一个构造体必须有一个实体(ENTITY)与它相对应,所以两者一般成对出现一个实体(ENTITY)可以有多个构造体,同一时刻,只有一个结构体起作用。构造体的运行是并发的结构体描述方式包括:行为描述、结构描述、数据流描述。结构体语句格式
Architecture
结构体名
Of
实体名
Is
[声明语句]
Begin[功能描述语句]
End
结构体名;ARCHITECTURElogicOFmux4_1ISBEGIN
WITHSSELECTX<=AWHEN“00”,
BWHEN“01”,CWHEN“10”,DWHENOTHERS;Endlogic;结构体(Architecture)(1)实体名必须与实体声明部分取的名字相同,而结构体的名字由设计者自主选择,当一个实体包含多个结构体时,各个结构体的名称不可相同。(2)声明语句用于对结构体的功能描述语句中将要用到的信号、数据类型、常数、元件、函数和过程等加以说明。(3)功能描述语句具体描述了结构体的功能和行为。结构体(Architecture)功能描述语句主要包含了5种不同类型的语句结构,并以并行的方式工作。这五种结构语句不是都常用到,只需循序渐进的学习,就会轻松地掌握他们。但进程语句(PROCESS)在VHDL程序设计中不可或缺。结构体说明语句功能描述语句块语句(BLOCK):由一系列并行执行语句构成的组合体,它的功能是将结构体中的并行语句组成一个或多个子模块。进程语句(PROCESS):定义顺序语句模块,而不同进程间是并行执行的。进程只有在某个敏感信号发生变化时才会触发。信号赋值语句:用以将从外部获得的信号值,或内部的运算数据向其它的信号进行赋值。子程序调用语句:用以调用过程或函数,并将获得的结果赋值于信号。元件例化语句:对其它的设计实体作元件调用说明,并将此元件的端口与其它的元件、信号或高层次实体的界面端口进行连接。库(Library)
用来存储预先完成的程序包和数据集合体的仓库
在VHDL设计中若使用库中内容,必须在该设计的实体前使用库语句和USE语句
语句格式:
Library
库名;
Use
库名.程序包名.All;
Use
库名.程序包名.项目名;libraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_arith.all;useIEEE.std_logic_unsigned.all;
IEEE库是VHDL设计中最常见的库,包含IEEE标准程序包和一些支持工业标准的程序包3、不同描述方式的4选1数据选择器例1libraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_arith.all;useIEEE.std_logic_unsigned.all;entitymux4_1isport(sel:inSTD_LOGIC_VECTOR(1downto0); d0,d1,
d2,
d3:inSTD_LOGIC; y:outSTD_LOGIC);endmux4_1;Architectureaaaofmux4_1isBeginy<=(d0ANDNOT(sel(1))ANDNOT(sel(0)))OR (d1ANDNOT(sel(1))ANDsel(0))OR (d2ANDsel(1)ANDNOT(sel(0)))OR (d3ANDsel(1)ANDsel(0));Endaaa;例2libraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_arith.all;useIEEE.std_logic_unsigned.all;d0ymux4_1d2d1d3sel2entitymux4_1isport(sel:inSTD_LOGIC_VECTOR(1downto0); d0,d1,
d2,
d3:inSTD_LOGIC; y:outSTD_LOGIC);endmux4_1;architectureexampleofmux4_1is
begin
process(sel,d0,d1,d2,d3)
begin
caseselis
when"00"=>y<=d0;
when"01"=>y<=d1;
when"10"=>y<=d2;
whenothers=>y<=d3;
endcase;
endprocess;
endexample;例3libraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_arith.all;useIEEE.std_logic_unsigned.all;entitymux4_1isport(S:inSTD_LOGIC_VECTOR(1downto0);
A,B,
C,
D:inSTD_LOGIC;
X:outSTD_LOGIC);endmux4_1;AXmux4-1CBDS2ARCHITECTURElogicOFmux4_1ISBEGINWITHSSELECT
X<=AWHEN“00”,
BWHEN“01”,
CWHEN“10”,
DWHENOTHERS;Endlogic;2.3VHDL文字规则2.3.1数字整数
5,678,0,156E2(=15600),45_234_287(=45234287)实数1.335,88_670_551.453_909(=88670551.453909),1.0,44.99E-2(=0.4499)文字示例
SIGNALd1,d2,d3,d4,d5,:INTEGERRANGE0TO255;--全部定义为整数类型d1<=10#170#;--向d1赋值10#170#(十进制表示,等于170)d2<=16#FE#;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抛荒整治协议合同
- 2024年生物制药试剂定制生产合同样本2篇
- 2025年云南货运资格证题库在线练习
- 2025年黄冈货运从业资格证考试模拟
- 2025年贵港b2货运资格证全题
- 2024年度生物制药研发委托技术合同范本3篇
- 2024年环保项目实施方案保密协议
- 2024年版综合性劳动协议范本版
- 2025年北京货运资格证考试70题
- 《工程制图与CAD(轨道交通)》课件-铁路线路平面图认识
- 松果体区肿瘤护理
- 《施工现场安全防护标准化防高坠篇》测试附有答案
- 流动资金贷款管理办法培训1
- 血管瘤护理措施
- 智能穿戴行业发展趋势
- 公共场所的肺结核消毒措施
- 圆及其在生活中的应用
- 春节晚宴策划方案1
- 如何制作一个简易的动物细胞模型
- 2024年便携式X光机行业分析报告及未来发展趋势
- 腾讯公司营销策略
评论
0/150
提交评论