




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 VHDL设计初步,EDA,VHDL (Very High Speed Integrated Circuit Hardware Description Language),意为超高速集成电路硬件描述语言。由美国国防部7080年代组织研制开发,1985年完成第一版, 1987年成为IEEE Std1076-1987。美国国防部规定所有官方的ASIC设计都必须用VHDL为设计描述语言,此后渐渐成为工业标准为大家接受。1993年修改成IEEE Std1164-1993。1995年,中国国家技术监督局组织编撰并出版CAD通用技术规范,推荐VHDL语言作为我国电子设计自动化硬件描述语言的国家标准。
2、,VHDL的由来,4.1 概述,一些语法约定, 可选内容 大小写不敏感 - 后面为注释 层次缩进 源文件名必须与实体名一致,4.2 VHDL语言的基本单元及其构成,4.2.1 2选1多路选择器的VHDL描述,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux21 IS PORT(a,b,s: IN BIT; q: OUT BIT ); END mux21; ARCHITECTURE connect OF mux21 IS BEGIN q=a WHEN s=0 ELSE b; END connect;,设计一个2选1多路通道,程序包,实体,
3、结构体,信号传输符号,4.2.2 VHDL程序的基本结构,1、ENTITY(实体)是VHDL设计中最基本的组成部分之一,它类似于原理图中的一个部件符号,它并不描述设计的具体功能,只定义了该设计所需的全部输入/输出信号。,实体的格式如下: ENTITY 实体名 IS GENERIC(常数名: 数据类型 :=设定值 ); PORT(列出设计的所有输入/输出信号); END 实体名;,VHDL结构要点,实际上是器件名,最好用相应功能来确定,如counter4b,adder8b。注意不能用prim等库的元件的名字。,规定实体的内部特性参数,如端口大小,子元件数目,定时特性等。,端口说明格式为: POR
4、T(端口名:端口模式 数据类型);,VHDL结构要点,IN OUT INOUT BUFFER,端口模式:用来说明数据、信号通过该端口的方向。 (1)IN 信号进入实体; (2)OUT 信号离开实体,不能在内部反馈使用; (3)INOUT 信号是双向的,既可进入也可离开实体; (4)BUFFER 信号输出到实体外部,但同时也可在 实体内部反馈,允许内部引用该端口的信号。,注意 简单地说 = 或 : = In端口 out端口 = 或 : = buffer端口 = 或 : = buffer端口,VHDL结构要点,In 信号只能被引用,不能被赋值 out 信号只能被赋值,不能被引用 buffer 信号
5、可以被引用,也可以被赋值,2、Arcthitecture(结构体) 格式: Arcthitecture 结构体名 of 实体名 is 说明语句 内部信号、常数、元件、数据类型、函数等的定义 begin 功能描述语句 end 结构体名;,VHDL结构要点,并行语句或顺序语句或它们的混合。,描述器件内部逻辑功能或电路结构。,VHDL结构要点,说明语句 说明功能描述中用到的 信号(SIGNAL) 数据类型(TYPE) 常数(CONSTANT) 元件(COMPONENT) 函数(FUNCTION) 过程(PROCEDURE),VHDL结构要点,功能描述:块语句、进程语句、信号赋值语句、子程序调用语句、
6、元件例化语句 多个语句可以是并行执行的,也可顺序执行,取决于所使用的语句类型: 块语句:多个并行语句构成的模块 进程语句:顺序语句模块 信号赋值语句:向信号或端口赋值 子程序调用语句:调用一个已设计好子程序。 元件例化语句:调用元件,并将元件拼接为电路模块,VHDL结构要点,ENTITY mux21aIS PORT(a,b:IN BIT; s:INBIT; q:OUT BIT); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN q=a WHENs=0 ELSE b; END ARCHITECTURE one;,WHEN_ELSE并行
7、赋值语句,赋值语句,条件判断表达式,ARCHITECTURE one OF mux21a IS SIGNAL d,e: BIT; BEGIN d= a AND (NOT s); e= b AND s; q= d OR e; END ARCHITECTURE one;,逻辑操作符: BIT,BOOLEAN,STD_LOGIC,ARCHITECTURE one OF mux21a IS BEGIN q=(a AND (NOT s) OR (b AND s) ; END ARCHITECTURE one;,ARCHITECTURE one OF mux21a IS BEGIN PROCESS (a,
8、b,s) BEGIN IF s=0 THEN q=a; ELSE q= b; END IF; END PROCESS; END ARCHITECTURE one;,PROCESS引导的语句为进程语句,所有顺序语句都必须放在进程语句中,PROCESS语句的敏感信号表,IF_THEN_ELSE顺序语句,4.3 VHDL文本输入设计方法初步,FileNew,FileSave,VHDL文件 .vhd AHDL文件 .tdf Verilog文件 .v,技巧:从保存路径直接新建一个文件夹,将当前设计指定为工程,然后选择器件、分配引脚,File-Project-Set Project to Current
9、File,排错,有两种定位错误的方法,第1步、单击Error行,使之反色显示 第2步、单击Locate按钮,直接双击Error行,常见错误,标点错误 将设计文件放于根目录下,没有放在工作库下 文件后缀.vhd设成.tdf 设计文件名和实体名不一致 底层设计没有运行create default include file命令 ,仿真下载,时序仿真和功能仿真的意义 时序仿真就是接近真实器件运行特性的时序仿真, 仿 文件中已包含了器件硬件特性参数,因而仿真精度高。 但时序仿真的仿真文件必须来自针对具体器件的综合 器与适配器。 功能仿真是直接对VHDL、原理图描述或其它描述形式 的逻辑功能进行测试模拟,
10、以了解其实现的功能是否 满足原设计要求的过程。仿真过程不涉及任何具体器 件的硬件特性。,仿照第三章的内容进行仿真和下载,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF1 IS PORT (clk:IN STD_LOGIC; d:IN STD_LOGIC; q:OUT STD_LOGIC); END DFF1 ;,ddf1,打开IEEE库,STD_LOGIC:标准逻辑位 在综合器中,STD_LOGIC被看作有9种值,如-、X、0、1和Z等 而BIT只能取0和1,程序包,4.4 VHDL 程序设计举例,例41 D触发器,ARCHITECT
11、URE bhv OF DFF1 IS SIGNAL q1:STD_LOGIC; BEGIN PROCESS(clk) BEGIN IF clkEVENT AND CLK=1 THEN q1=D; END IF; q=q1; END PROCESS; END bhv;,引进内部节点信号,进程语句及敏感信号,检测clk上升沿,将数据输出端口,不完整条件语句,顺序 语句,边沿型触发器的时序波形,LIBRARY IEEE; USE IEEE. STD_LOGIC _1164.all; ENTITY test1 IS port (clk, d : IN STD_LOGIC; q : OUT STD_LO
12、GIC); END test1; ARCHITECTURE test1_body OFtest1 IS BEGIN PROCESS (clk) BEGIN IF rising_edge(clk) THEN q = d; END IF; END PROCESS; END test1_body;,测定上升沿的函数,clk必须是STD_LOGIC,例41基本语法小结, 定义信号 SIGNAL: SIGNAL A1 : STD_LOGIC;, 信号属性函数 EVENT, PROCESS语句结构: 顺序语句,行为描述语句, 敏感信号表,PROCESS语句特点, 时序电路:不完整条件语句产生时序电路, 时
13、钟上升沿测试语句结构: CLKEVENT AND CLK = 1 ,RISING_EDGE(),例42 一位全加器,半加器真值表,方法一:根据电路原理图,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder1 IS PORT (a,b:IN STD_LOGIC; co,so:OUT STD_LOGIC); END h_adder1; ARCHITECTURE fh1 OF h_adder1 IS BEGIN so=NOT(a XOR (NOT b); co=a AND b; END fh1;,并行赋值语句,方法二:根据真值表, AR
14、CHITECTURE fh2 OF h_adder2 IS SIGNAL sel:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN selsosososoNULL; END CASE; END PROCESS; END fh2;,并置操作符,完整条件语句,全加器,或门描述 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2a IS PORT (a,b:IN STD_LOGIC; c:OUT STD_LOGIC); END or2a; ARCHITECTURE one OF or2a IS BEGIN c=a OR b
15、; END one;,全加器,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_adder IS PORT (ain,bin,cin:IN STD_LOGIC; cout,sum :OUT STD_LOGIC); END ENTITY f_adder; ARCHITECTURE fd1 OF f_adder IS COMPONENT h_adder1 PORT(a,b: IN STD_LOGIC; co,so:OUT STD_LOGIC); END COMPONENT; COMPONENT or2a PORT(a,b: IN STD_LOG
16、IC; c:OUT STD_LOGIC); END COMPONENT;,SIGNAL d,e,f:STD_LOGIC; BEGIN u1: h_adder1 PORT MAP (ain,bin,d,e) ; u2: h_adder1 PORT MAP (e,cin,f,sum) ; u3: or2a PORT MAP (d,f,cout); END fd1;,d,e,f,例42基本语法小结,CASE语句:表达真值表 CASEIS WHEN; END CASE;,标准逻辑矢量数据类型: STD_LOGIC_VECTOR,B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); S
17、IGNAL A: STD_LOGIC_VECTOR(1 TO 4); B=“01100010”; -B(6)=? B(4 DOWNTO 1 )=“1101”; -B(3)=? A(1 TO 4 )=“1101”; -A(3)=? B(7 DOWNTO 4 )=A; -B(6)=A(?),元件例化语句 COMPONENT 元件名 PORT(端口名表); END COMPONENT; 例化名:元件名 PORT MAP (端口名连接端口名,);,并置操作符:“ USE IEEE.std_logic_1164.all; ENTITY cnt4_1 IS PORT(clk:IN BIT; q:BUFFE
18、R INTEGER RANGE 15 DOWNTO 0); END cnt4_1; ARCHITECTURE behave OF cnt4_1 IS BEGIN PROCESS(clk) BEGIN IF clkEVENT AND clk=1 THEN q=q+1; END IF; END PROCESS; END behave;,取整数数据类型,为什么?,整数取值范围,端口信号模式取 BUFFER,为什么?,注意整数和位的不同表达方式!,例43 四位加法计数器, 定输出信号数据类型为整数类型: INTEGER,必须定义整数取值范围, RANGE 15 DOWNTO 0, 端口信号模式取缓冲型: BUFFER, 整数和位的表达方式: 1 + 5 ; 1;“1011”, 加减算术符的适用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农宅登记管理办法
- 农村养狗管理办法
- 农村桑丧管理办法
- 农用设施管理办法
- 农药客户管理办法
- 农险查勘管理办法
- 冷库设备管理办法
- 出外勤管理办法
- 出租行业管理办法
- 分中队管理办法
- 苏轼成语课件
- 2023年山省西学中结业综合考试题库10-891-30
- 烟草行业信息化建设规划
- 教练员聘用合同模板
- GB/T 42588-2023系统与软件工程功能规模测量NESMA方法
- 《城镇给水排水技术规范》
- 上海k11调研分析报告
- 顺丰速运-员工手册
- 性能设计(朱炳寅老师讲座课件)
- u8cloud v1.0-查询引擎技术红皮书
- Unit 7 Writing Workshop A Letter of Application 第1课时课件-高中英语北师大版(2019)选择性必修第三册
评论
0/150
提交评论