设计过程中的仿真有三种:行为仿真、功能仿真、时序仿真
数字系统的两个模块(子系统):数据处理子系统、控制子系统
数据处理子系统主要完成数据的采集、存储、运算、传输,主要由存储器、运算器、数据选择器等功能电路组成。
数字系统设计方法:模块设计方法、自顶向下设计法、自底向上设计法。
一般采用自顶向下、由粗到细、逐步求精的方法。
数字系统的设计准则:1)分割准则2)系统的可观测性3)同步和异步电路4)最优化设计5)系统设计的艺术
数字系统的设计步骤:1)系统任务分析2)确定逻辑算法3)建立系统及子系统模型4)系统(或模块)逻辑描述5)逻辑电路级设计及系统仿真6)系统的物理实现
VHDL语言要素:数据对象、数据类型、各类操作数及运算操作符
标识符规则:以英文字母开头,不连续使用下划线“_”,不以下划线结尾的,由26个大小写英文字母、数字0~9及下划线“_”组成的字符串,英文字母不区分大小写,VHDL的保留字不能用于作为标识符使用。
在进程中,只能将信号列到敏感表,而不能将变量列入敏感表。
可见进程对信号敏感。
VHDL中的数据类型:标量型(包括:实数型、整数型、枚举型、时间类型)、复合类型(数组型、记录型)、存取型、文件类型
VHDL四大类数据类型又可分为两类:预定义数据类型、用户自定义数据类型(基于预定义数据类型)
预定义数据类型:1)布尔型2)位数据类型(BIT)3)位矢量(BIT_VECTOR)4)字符型5)整数型6)自然数和正整数型7)实数型8)字符串型9)时间型10)错误等级
数据类型:标准逻辑位STD_LOGIC、标准逻辑矢量STD_LOGIC_VECTOR VHDL中六类基本顺序语句:赋值语句、转向控制语句、等待语句、子程序调用语句、返回语句、空操作语句。
在信号赋值时,当统一进程中,同一信号赋值目标有多个赋值源时,信号赋值目标获得的是最后一个赋值,其前面相同的赋值目标则不作任何变化。
转向控制语句五种:IF语句、CASE语句、LOOP语句、NEXT语句、EXIT 语句
当执行WAIT等待语句,程序将被挂起,知道满足结束条件后,程序重新开始执行。
已列出敏感量的进程不能使用任何形式的WAIT语句过程调用:执行一个给定名字和参数的过程
过程名[([形参名=>] 实参表达式 {,[形参名=>]实参表达式})];过程调用步骤:1)将IN和INOUT的形参值赋给调用过程中与之对应的
形参;2)执行这个过程;3)将过程中IN和INOUT的形参值赋给对应的实参
函数调用:返还一个指定数据类型的值,函数的参量只能是输入值
任何时刻,一个对象(信号、常量、变量)只有一个值,但可有多个属性
预定义属性描述:属性测试项目名’属性标识符
CLOCK’EVENT AND CLOCK=’1’对上升沿的测试(或者NOT(CLOCK’STABLE AND CLOCK=’1’))
CLOCK’EVENT AND CLOCK=’0’对下降沿的测试(或者CLOCK’STABLE AND CLOCK=’0’)
并行语句在结构体中的执行是同步的。
每一并行语句内部的语句运行方式:并行执行、顺序执行。
结构体中并行语句有七种:1)并行信号赋值语句2)进程语句3)块语句4)条件信号赋值语句5)元件例化语句6)生成语句7)并行过程调用语句
PROCESS中规定了每个进程语句在它的摸个敏感信号的值改变时都必须立即完成某个功能行为。
进程的激活必须由敏感信号表中定义的敏感信号的变化来启动,否则必须有一个显示的WAIT语句激活
并行信号赋值语句包括:简单信号赋值语句、条件信号赋值语句、选择信号赋值语句
简单信号赋值语句:信号赋值语句<=表达式;
条件信号赋值语句:赋值目标<=表达式 WHEN 赋值条件 ELSE (类似于IF语句)表达式 WHEN 赋值条件 ELSE
……
表达式;
选择信号赋值语句:WITH 选择表达式 SELECT
(类似于CASE语句)赋值目标<=表达式 WHEN 选择值,
表达式 WHEN 选择值,
……
表达式 WHEN 选择值;
元件例化是使VHDL设计实体构成自上而下层次化设计的一个重要途径。
组成部分:1)将一个现成的设计实体定义为一个元件的语句;2)此元件与当前设计实体中的连接说明
元件例化语句中定义的例化元件的端口名与当前系统的连接实体端口名的接口表达式表达有两种方式:1)名字关联方式:通过“=>”一一对应2)位置关联方式:按例化元件端口的定义顺序将例化元件的对应的连接实体端口名一一列出
生成语句有一种复制功能。
生成语句的四个组成部分:生成方式、说明部分、并行语句、标号。
子程序是利用顺序语句来定义和完成算法的。
只能通过子程序调用及与子程序的界面端口进行通信。
包括过程(可单独存在,多个返回值,有输入/出双向参数)和函数(作为语句的一部分调用,一个返回值,所有参数都是输入参数),可在VHDL的结构体或程序包中任何位置调用子程序。
子程序特性:可重载性,即允许有许多重名的子程序,但这些子程序的参数类型及返回值数据类型不同
函数组成:函数首(作用:作为程序包的有关此函数的一个接口界面)、函数体
重载函数:VHDL允许相同的函数名定义函数,但要求函数中定义的操作数具有不同的数据类型。
过程组成部分:过程首、过程体。
过程首不是必须的,过程体可以独立存在和使用
过程首参数表用于对常数、变量、信号三类数据对象目标作出说明,并用IN、OUT、INOUT定义参数工作模式(信息流向)
一般把EDA技术的发展分为CAD、CAE、EDA三个阶段。
EDA设计流程包括设计准备、设计输入、设计处理、器件编程四个步骤.
EDA的设计验证包括功能仿真、时序仿真、器件测试三个过程
EDA的设计输入包括文本输入方式、图形输入方式、波形输入方式三个过程
当前最流行的并成为IEEE标准的硬件描述语言包括VHDL 语言、Verilog 和 HDL 语言
将硬件描述语言转化为硬件电路的重要工具软件称为HDL 综合器
基于EPROM、E2PROM和快闪存储器件的可编程器件,在系统断电后编程信息不丢失
基于SRAM结构的可编程器件,在系统断电后编程信息会丢失
CPLD器件中至少包括可编程逻辑宏单元、可编程 I/O 单元、可编程内部连线三种结构
FPGA的三种可编程电路分别是可编程逻辑块 CLB、输入/输出模块IOB、互连资源三种结构
根据逻辑功能块的大小不同,可将FPGA(可编程逻辑器件)分为细密度、粗密度两类;据FPGA内部连线结构的不同,可将FPGA分为分段互连型、连续互连型两类;据FPGA采用的开关元件不同,可将FPGA分一次编程型(OTP)、可重复编程型(MTP)两类
目前常见的可编程逻辑器件的编程和配置工艺包括电可擦存储单元的 E2PROM 或 Flash 技术、SRAM 查找表的编程单元、反熔丝编程单元三种编程工艺。
VHDL设计实体的基本结构由库、程序包使用说明、设计实体的说明、结构体说明、配置等部分组成
实体、结构体是设计实体的基本组成部分,他们可以构成最基本的VHDL程序
在VHDL的端口声明语句中,端口方向包括in out buffer inout VHDL的数据对象包括常数 constant、变量 variable、信号 signal 它们是用来存放各种类型数据的容器
VHDL的操作符包括逻辑操作符、关系操作符、算术操作符、符号操作符
VHDL的顺序语句只能出现在进程 process、函数 function、过程procedure中,按照书写顺序自上而下,一条一条执行。
VHDL的进程(process)语句是由顺序语句组成的,但其本身却是并行语句
Maxplus Ⅱ支持图形、符号、文本、波形等不同编辑方式
指定设计电路的输入/输出端口与目标芯片引脚的连接关系的过程称为引脚锁定
在完成设计电路的输入/输出端口与目标芯片引脚的锁定后,再次对设计电路的仿真称时序仿真或后仿真
图形文件设计结束后一定要通过仿真,检查设计文件是否正确
以EDA方式设计实现的电路设计文件,最终偶可以编程下载到 FPGA 和 CPLD 芯片中,完成硬件设计和验证
MAX+PLUS的文本文件类型是(后缀名) .VHD
在PC上利用VHDL进行项目设计,不允许在根目录下进行,不惜在根目录为设计建立一个工程目录(文件夹)
VHDL源程序的文件名应与实体名相同,否则无法通过编译
EDA 名词解释
1.CPLD: 复杂可编程逻辑器件
2.HDL:硬件描述语言
3.LUT:查找表(Look-Up-Table)
4.ASIC:专用集成电路
5.SOC:单芯片系统
6.VHDL:超高速硬件描述语言
7.FPGA:现场可编程门阵列8.RTL:寄存器传输级
9.SOPC:可编程片上系统10.EAB:嵌入式阵列块
B:逻辑阵列块12.IP:知识产权核
13.EDA:电子设计自动化14.IEEE:美国电气电子工程师协会15.ISP:在系统编程16.LPM:参数可定制红模块库
17.UART:串口(通用异步触发器)
18.元件例化:将预先设计好的设计实体定义为一个元件,然后利用特定的语句将此元件与当前的设计实体中的指定端口相连接,从而为当前设计实体引入一个新的低一级的设计层次。
19.简要解释 JTAG,指出 JTAG 的用途:JTAG:联合测试行动小组的简称,又意指其提出的一种硬件测试标准,常用于器件测试、编程下载和配置等操作。