文档介绍:第一次上机安排
第六周
周一晚(提高1、2,通信001~012)
周二上(通信014~085)
周四上(通信086~154)
周四下(通信250~282,电信001~043)
周五晚(电信044~125)
第七周
周一下(电信125~216)
周二上(电信217~302)
周二下(电信302~385)
VHDL硬件描述语言基础
简介
基本结构
基本数据类型
设计组合电路
设计时序电路
设计状态机
大规模电路的层次化设计
Function and Procedure
简介--背景
传统数字电路设计方法不适合设计大规模的系统。工程师不容易理解原理图设计的功能。
众多软件公司开发研制了具有自己特色的电路硬件描述语言(Hardware Description Language,HDL),存在着很大的差异,工程师一旦选用某种硬件描述语言作为输入工具,就被束缚在这个硬件设计环境之中。因此,硬件设计工程师需要一种强大的、标准化的硬件描述语言,作为可相互交流的设计环境。
简介--背景
美国国防部在80年代初提出了VHSIC(Very High Speed Integrated Circuit)计划,其目标之一是为下一代集成电路的生产,实现阶段性的工艺极限以及完成10万门级以上的设计,建立一项新的描述方法。1981年提出了一种新的HDL,称之为VHSIC Hardware Description Language,简称为VHDL,这种语言的成就有两个方面:
描述复杂的数字电路系统
成为国际的硬件描述语言标准
VHDL的优点
用于设计复杂的、多层次的设计。支持设计库和设计的重复使用
与硬件独立,一个设计可用于不同的硬件结构,而且设计时不必了解过多的硬件细节。
有丰富的软件支持VHDL的综合和仿真,从而能在设计阶段就能发现设计中的Bug,缩短设计时间,降低成本。
更方便地向ASIC过渡
VHDL有良好的可读性,容易理解。
VHDL与计算机语言的区别
运行的基础
计算机语言是在CPU+RAM构建的平台上运行
VHDL设计的结果是由具体的逻辑、触发器组成的数字电路
执行方式
计算机语言基本上以串行的方式执行
VHDL在总体上是以并行方式工作
验证方式
计算机语言主要关注于变量值的变化
VHDL要实现严格的时序逻辑关系
--p4 is a four bit parator
Library IEEE;
use ;
entity p4 is
port(a, b:in std_logic_vector(3 downto 0);
equal :out std_logic);
end p4;
architecture dataflow of p4 is
begin
equal <= ‘1’ when a=b else ‘0’;
End dataflow;
VHDL 大小写不敏感
包
实体
构造体
文件名和实体名一致
每行;结尾
关键字begin
关键字end后跟实体名
关键字end后跟构造体名
库
实体(Entity)
描述此设计功能输入输出端口(Port)
在层次化设计时,Port为模块之间的接口
在芯片级,则代表具体芯片的管脚
A[3..0]
B[3..0]
equal
Entity p4 is
port(a, b: in std_logic_vector(3 downto 0);
equal:out std_logic
);
end p4;
实体--端口的模式
输入(Input)
输出(Output)
双向(Inout):可代替所有其他模式,但降低了程序的可读性,一般用于与CPU的数据总线接口
缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号
Out与Buffer的区别
Entity test1 is
port(a: in std_logic;
b,c: out std_logic
);
end test1;
architecture a of test1 is
begin
b <= not(a);
c <= b;--Error
end a;
Entity test2 is
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;
end a;