当前位置:文档之家› VHDL硬件描述语言基础

VHDL硬件描述语言基础

当a和b的宽度发生变化 时,需要修改设计,当 宽度过大时,设计非常 繁琐
2.3结构体之结构化描述
architecture struct of eqcomp4 is begin
U0:xnor2 port map(a(0),b(0),x(0)); U1:xnor2 port map(a(1),b(1),x(1)); U2:xnor2 port map(a(2),b(2),x(2)); 类似于电路的网络表, 将各个器件通过语言 的形式进行连接,与 电路有一一对应的关 系。一般用于大规模 电路的层次化设计。

返回目录
2015-1-15 湖北众友科技EDA工作室 3
1.1 VHDL背景
美国国防部在80年代初提出了VHSIC(Very High Speed Integrated Circuit)计划,其目标 之一是为下一代集成电路的生产,实现阶段性的工 艺极限以及完成10万门级以上的设计,建立一项新 的描述方法。1981年提出了一种新的HDL,称之为 VHSIC Hardware Description Language,简称为 VHDL,这种语言的成就有两个方面:
2015-1-15 湖北众友科技EDA工作室 7
1.4 VHDL设计过程
采用VHDL及自顶向下方法在大型数字系统设 计中被广泛采用。在设计中你可采用较抽象的语 言(行为/算法)来描述系统结构,然后细化成各 模块,最后可借助编译器将VHDL描述综合为门级。
本教程仅对用于CPLD/FPGA设计描述的VHDL语言 作一简单说明。其设计过程一般如下:
结构体(Architectures)
定义了实体的实现。即 电路的具体描述
返回目录
2.1 实例基本结构图
eqcomp4.vhd 库 包 实体
--eqcomp4 is a four bit equality comparator
文件名和实体 名一致
Library IEEE; use IEEE.std_logic_1164.all;
3.有丰富的软件支持VHDL的综合和仿真,从而能在 设计阶段就能发现设计中的Bug,缩短设计时间,降 低成本。
4.更方便地向ASIC过渡 5.VHDL有良好的可读性,容易理解。
2015-1-15
湖北众友科技EDA工作室
5
1.3 VHDL与计算机语言的区别
HDL的出现是为了适应电子系统设计的日益复杂性。若以计算机软件 的设计与电路设计做个类比,机器码好比晶体管/MOS管;汇编语言 好比网表;则HDL语言就如同高级语言,VHDL在语法和风格上类似于 现代高级编程语言,如C语言。但要注意,VHDL毕竟描述的是硬件, 它包含许多硬件特有的结构。
port(a: in std_logic; b: buffer std_logic; c: out std_logic);
end test2;
architecture a of test2 is begin b <= not(a); c <= b;
b <= not(a);
c <= b;--Error end a;
1.4 VHDL与Verilog HDL的区别
一般的硬件描述语言可以在三个层次上进行电路描述,其层次由高 到低依次可分为行为级、RTL级和门电路级。VHDL语言通常更适于行为 级和RTL级的描述,Verilog通常只适于RTL级和门电路级的描述。任何一 种语言源程序,最终都要转换成门电路级才能被布线器或适配器所接受。 因此,VHDL语言源程序的综合通常要经过行为级十RTL级向门电路级的 转化,而Venlog语言源程序的综合过程要稍简单,即经过RTL级十门电路 级的转化。与Verilog相比,VHDL语言是一种高级描述语言,适用于电路 高级建模,易于系统级设计。随着VHDL综合器的进步,综合的效率和效 果将越来越好。vedlog语言则是一种较低级的描述语言,最适于描述门 级电路,尤其是开关级电路,易于控制电路资源。 显然,VHDL和Verilog主要的区别在于逻辑表达的描述级别:VHDL虽 然也可以直接描述门电路,但这方面的能力却不如Verilog语言:反之, Verilog在高级描述方面不如VHDL。 两种语言功能侧重点不同,最好两种语言都会, 两种语言具体功能可 参考光盘中附带的VerilogHDL教程和VHDL实用教程两本EDA学习电子书,它 们详细讲述了两种语言基本结构功能及用法,我们在这里以VHDL为重点,此 课件仅供学生快速入门,详细学习可参考电子书或其它相关资料与教材。
2.3结构体之行为描述
Architecture behavioral of eqcomp4 is begin
comp: process (a,b)
begin if a=b then equal <= ‘1’; else equal <=‘0’; end if; end process comp; end behavioral ;
VHDL硬件描述语言基础
VHDL用户入门教程
EDA工作室
E-mail:Zhongyou@
VHDL语言学习课件目录
第一章 VHDL简介 第二章 VHDL程序基本结构 第三章 VHDL数据和表达式 第四章VHDL主要描述语句 第五章元件及元件例化 第六章配臵 第七章子程序 第八章VHDL的模板 第九章常见错误 第十章保留字
1.描述复杂的数字电路系统 2.成为国际的硬件描述语言标准 1987年被采纳为IEEE 1076标准 1993年被更新为IEEE 1164标准
2015-1-15
湖北众友科技EDA工作室
4
1.2 VHDL的优点
1.用于设计复杂的、多层次的设计。支持设计库和 设计的重复使用。 2.与硬件独立,一个设计可用于不同的硬件结构, 而且设计时不必了解过多的硬件细节。
U3:xnor2 port map(a(3),b(3),x(3));
U4:and4 port map(x(0),x(1),x(2),x(3),equal);
end struct;
2.3三种描述方式的比较
描述方式 优点
结构化描 连接关系清晰, 述 电路模块化清晰
缺点
数据流描 布尔函数 述 定义明白
行为描述 电路特性 清楚明了
在芯片级,则代表具体芯片的管脚
Entity eqcomp4 is port(a, b: in std_logic_vector(3 downto 0); equal:out std_logic ); end eqcomp4; A[3..0] equal B[3..0]
注意:此 处不用“;”
2.2实体的格式
2015-1-15 湖北众友科技EDA工作室 2
第一章 VHDL简介
传统数字电路设计方法不适合设计大规模的系统。 工程师不容易理解原理图设计的功能。

众多软件公司开发研制了具有自己特色的电路硬 件描述语言(Hardware Description Language,HDL), 存在着很大的差异,工程师一旦选用某种硬件描述语 言作为输入工具,就被束缚在这个硬件设计环境之中。 因此,硬件设计工程师需要一种强大的、标准化的硬 件描述语言,作为可相互交流的设计环境。
适用场合 电路不易理解、 电路层次化 繁琐、复杂 设计 不易描述复杂电 小门数设计 路,修改不易
进行综合效率相 对较低 大型复杂的电 路模块设计
2015-1-15
湖北众友科技EDA工作室
19
2.4程序包与USE语句
在VHDL语言中,数据类型、常量与子程序可以在实 体说明部分和结构体部分加以说明;而且实体说明部分 所定义的类型,常量及子程序在相应的结构体中是可见 的(可以被使用)。但是,在一个实体的说明部分与结 构体部分中定义的数据类型,常量及子程序对于其它实 体的说明部分与结构体部分是不可见的。程序包就是为 了使一组类型说明,常量说明和子程序说明对多个设计 实体都成为可见的而提供的一种结构。 程序包定义了一组数据类型说明、常量说明、元件 说明和子程序说明。以供其他多个设计实体引用。它如 同C语言中的*.H文件,定义了一些类型说明、函数一样。
1.运行的基础
计算机语言是在CPU+RAM构建的平台上运行 VHDL设计的结果是由具体的逻辑、触发器组成的数字电路
2.执行方式
计算机语言基本上以串行的方式执行 VHDL在总体上是以并行方式工作
3.验证方式
计算机语言主要关注于变量值的变化 VHDL要实现严格的时序逻辑关系
2015-1-15 湖北众友科技EDA工作室 6
2015-1-15
湖北众友科技EDA工作室
13
2.2Out与Buffer的区别
Entity
is
port(a: in std_logic; b,c: out std_logic); end test1; architecture a of test1 is begin
VHDL 大小 写不敏感
每行;结尾 关键字end后跟 实体名
构造体
关键字begin
关键字end后跟 构造体名
注:各完整语句均以‚;‛结尾,除此处外。 以‚--” 开始的语句为注释语句,不参与编译。
2.2实体(Entity)
描述设计功能输入输出端口(Port) 在层次化设计时,Port为模块之间的接口
entity eqcomp4 is port(a, b:in std_logic_vector(3 downto 0); equal :out std_logic); end eqcomp4; architecture dataflow of eqcomp4 is begin equal <= „1‟ when a=b else „0‟; End dataflow;
end a;
2.3结构体(Architecture)
描述实体的行为结构体有三种描述方式: A.行为描述(behavioral) B.数据流描述(dataflow) C.结构化描述(structural) 结构体(Architecture) 声明区(Declarations)
相关主题