教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 文秘资料 >

第4章 硬件描述语言VHDL

来源:网络收集 时间:2026-09-16
导读: 第4章 硬件描述语言 本章主要内容4.1 4.2 4.3 4.4 4.5 4.6 4.7 概述 VHDL程序基本结构 VHDL语言要素 VHDL顺序语句 VHDL并行语句 VHDL描述风格 状态机的VHDL设计 4.1 概述Electrical and Electronics Engineers (IEEE) 美 国电气和电子工程师协会,是一个 VHD

第4章

硬件描述语言

本章主要内容4.1 4.2 4.3 4.4 4.5 4.6 4.7 概述 VHDL程序基本结构 VHDL语言要素 VHDL顺序语句 VHDL并行语句 VHDL描述风格 状态机的VHDL设计

4.1 概述Electrical and Electronics Engineers (IEEE) 美 国电气和电子工程师协会,是一个 VHDL:全称超高速集成电路硬件描述语言 国际性的电子技术与信息科学工程 英语:VHSIC 师的协会,是世界上最大的专业技 (Very High Speed Integrated Circuit) 术组织之一(成员人数),拥有来 Hardware Description Language; 自175个国家的 36万会员。 Institute of 4.1.1 什么是 VHDL?

※用语言的方式而非图形等方式描述硬件电路;

※是IEEE、工业国际标准硬件描述语言

4.1 概述4.1.1 什么是VHDL?VHDL有过两个标准:IEEE Std 1076-1987 (called VHDL 1987)IEEE Std 1076-1993 (called VHDL 1993)

用途:在基于复杂可编程逻辑器件、现场可编程逻辑 门阵列和专用集成电路的数字系统设计中有着广泛的 应用。

4.1 概述4.1.2 VHDL的历史

4.1 概述4.1.3 VHDL的作用1、VHDL打破软、硬件的界限 传统的数字系统设计分为: 硬件设计(硬件设计人员) 软件设计(软件设计人员) VHDL是电子系统设计者和 EDA工具之间的界面。 EDA工具及 HDL的流行,使电子系统向集成化、大规模 和高速度等方向发展。 美国硅谷约有80%的 ASIC和 FPGA/CPLD已采用HDL进行 设计。

4.1.3 VHDL的作用2、VHDL与C、C++的比较: C、C++ 代替汇编等语言

VHDL 代替原理图、逻辑状态图等3、VHDL与电原理图描述的比较:

VHDL具有较强的抽象描述能力,可进行系统行为级别的描述。描述简洁,效率高。 VHDL描述与实现工艺无关。 电原理图描述需给出完整、具体的电路结构 图,不能进行抽象描述。描述繁杂,效率低。

电原理图描述与实现工艺有关。

4.1.4 VHDL语言特点①VHDL具有强大的语言结构,系统硬件描述能力强、 设计效率高;具有较高的抽象描述能力。 如:八位加法器的电原理图:

4.1.4 VHDL语言特点用VHDL描述的八位加法器:LIBRARY IEEE; USE ieee.std_logic_1164.all; USE ieee.std_logic_arith.all; ENTITY adder8 IS PORT (op1, op2 : IN UNSIGNED(7 DOWNTO 0); result : OUT INTEGER); END adder8; ARCHITECTURE maxpld OF adder8 IS BEGIN result <= CONV_INTEGER(op1 + op2); END maxpld;

4.1.4 VHDL语言特点

4位二进制加法器的VHDL描述 ENTITY add4 IS PORT(a,b : IN INTEGER RANGE 0 TO 16; sum : OUT INTEGER RANGE 0 TO 32); END add4; ARCHITECTURE one OF add4 IS BEGIN sum<=a+b; --用算术运算符进行设计 END one;

4.1.4 VHDL语言特点

三人表决电路的VHDL描述 ENTITY vote IS --实体部分 PORT(a,b,c: IN BIT; f: OUT BIT); END ENTITY vote; ARCHITECTURE one OF vote IS --结构体部分 BEGIN f<=(a AND b) OR (a AND c) OR (b AND c); END ARCHITECTURE one;

4.1.4 VHDL语言特点

基本D触发器的VHDL描述 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY dff_a IS PORT(d,clk: IN STD_LOGIC; q: OUT STD_LOGIC); END dff_a; ARCHITECTURE one OF dff_a IS BEGIN PROCESS(clk) BEGIN IF clk'EVENT AND clk='1' THEN --时钟上升沿触发 q<=d; END IF; END PROCESS; END one;

4.1.4 VHDL语言特点带同步复位端D触发器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY dff_c IS PORT(clk,d,clr: IN STD_LOGIC; --clr是同步复位端 q: OUT STD_LOGIC); END dff_c; ARCHITECTURE one OF dff_c IS BEGIN PROCESS(clk) --敏感信号列表只有clk信号 BEGIN IF clk'EVENT AND clk='1' THEN IF clr='0' THEN q<='0'; --clr为低电平时,输出清零 ELSE q<=d; END IF; END IF; END PROCESS; END one;

4.1.4 VHDL语言特点带异步复位端的D触发器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY dff_d IS PORT(clk,d,clr: IN STD_LOGIC; --clr是异步复位端 q: OUT STD_LOGIC); END dff_d; ARCHITECTURE one OF dff_d IS BEGIN PROCESS(clk,clr) --在敏感信号列表中应加入clr信号 BEGIN IF clr='0' THEN q<='0'; --clr为低电平时,输出清零 ELSIF clk'EVENT AND clk='1' THEN q<=d; END IF; END PROCESS; END one;

4.1.4 VHDL语言特点4位二进制加法计数器 ENTITY cnt4 IS PORT(clk: IN BIT; q: BUFFER INTEGER RANGE 15 DOWNTO 0); --q定义为BUFFER模式 END cnt4; ARCHITECTURE behav OF cnt4 IS BEGIN PROCESS(clk) BEGIN IF clk'EVENT AND clk ='1' THEN q<=q+1; --q允许反馈,即可以出现在赋值符号<=右侧 END IF; END PROCESS; END behav;

4.1.4 VHDL语言特点4位二进制加法计数器更一般的表达方式 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY count4 IS PORT(clk: IN STD_LOGIC; q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); --q定义为OUT模式 END count4; ARCHITECTURE behav OF count4 IS SIGNAL q1: STD_LOGIC_VECTOR(3 DOWNTO 0); --定义信号 BEGIN PROCESS(clk) BEGIN IF clk'EVENT AND clk='1' THEN q1<=q1+1; END IF; q<=q1; END PROCESS; END behav;

…… 此处隐藏:1539字,全部文档内容请下载后查看。喜欢就下载吧 ……
第4章 硬件描述语言VHDL.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/1992786.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)