重庆大学2012期末EDA复习纲要

更新时间:2024-04-03 00:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Leo True

1、题型

填空10*2’ 简答4*5’ 分析3*10’(程序分析,画出对应波形图;给出程序,画出电路) 设计2*15’(要求条例分明,逻辑清晰) 2、考点

一、EDA设计流程

1、EDA设计流程:设计输入、综合、适配、时序仿真及功能仿真、编程下

载、硬件测试

2、设计输入:图形输入、HDL文本输入。图形输入:原理图输入、状态图

输入和波形图输入。

3、时序仿真:接近真实器件运行特性的仿真,仿真文件中包含了器件硬件特

性参数,仿真精度高。

4、功能仿真:直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测

试,以了解其实现的功能是否满足原设计要求,仿真过程不涉及任何具体器件的硬件特性。设计耗时短,对硬件库、综合器等没有任何要求。一般先进行功能测试再进行时序仿真。

二、FPGA/CPLD

1、CPLD:乘积项原理 FPGA:查找表原理 三、有限状态机设计

1、状态编码:状态位直接输出型编码、顺序编码、一位热键编码

2、状态位直接输出型编码:将状态编码直接输出作为控制信号,即output=state,要求对状态机个状态的编码做特殊的选择,以适应控制时序的要求。

3、顺序编码:000-?001-?010-?011-?100-?101-?110-?111,8位状态机只需要

1 / 7

Leo True

三个状态机。

4、一位热键编码:用n个触发器实现具有n个状态的状态机,状态机中的每一位都由其中一个触发器的状态表示。

100000-?010000-?001000--?000100-?000010-?000001。 四、VHDL文字规则

1、整数、实数(必须带有小数点)、物理量文字(VHDL不接受此类文字),如:60s,100m

2、字符串:一维的字符数组。字符以单引号标示,字符串以双引号标示。文字字符串:双引号括起的一段文字。数字字符串,预定义的数据类型BIT的一位数组。B:二进制;O:八进制,每位位矢数组长度3;X:十六进制,每位位矢数组长度4。

3、标识符:必须以英文字母开头、必须是单一的下划线,且其前后必须是字母或数字;允许包含图形符号(回车、换行等),也允许包含空格。

4、操作符:逻辑操作符,关系操作符,算术操作符。

逻辑操作符:and,or,xor,xnor等等;关系操作符:=,<=,>=,<,>等等;算术运算符:加减乘除移位等等。 五、属性描述语句。

1、信号类属性:event,stable与之相反。对于目前的VHDL综合器,Event只能用于if、when语句中。

2、数据区间属性:’range[(n)]以及’reverse_range[(n)],两者返回次序相反,前者与原序列相同,后者相反。返回值是一个区间。

Eg:signal range1: in std_logic_vector(7 downto 0)。

2 / 7

Leo True

3、数值类属性:left、right、high、low。Page306 4、数组属性:’length,表征数组长度。A=array1’length 六、IP核

1、软IP:用VHDL等硬件描述语言描述的功能模块,但是不涉及什么具体电路元件实现这些功能。周期短,投入少,不涉及物理实现,增大了IP的灵活性与适应性。

2、固IP:完成了综合的功能块。较大的设计深度,一般以网表形式提交用户使用。

3、硬IP:提供设计的最终产品:掩模。设计深度高,后续工作少,但灵活性差。

七、PCB印刷版电路设计

1、类别:刚性和挠性;单层、双层和多层 2、封装类型:

分离封装、双列直插式封装(dual in-line package)、针阵式封装(pin grid package)、表面贴装器件(surface mount device)、针栅阵列封装(PGA)、塑料引线片式载体封装(PLCC)、球状栅格阵列封装(BGA)等等 3、板面介绍

元件面(component side)、焊接面(与元件面相对,solder side)、丝印层(用于标注元件,采用丝印法)、阻焊层、焊盘、金属化孔、通孔、坐标网格(定于元件与网格交点上)。 4、常用设计标准

网格尺寸(常用2.5mm)、标称孔径与最小焊盘直径、导线宽度、导线间距、

3 / 7

Leo True

焊盘形状(方、圆、椭圆等)。 八、顺序语句

赋值语句、if、case、loop、next、exit、wait、子程序调用语句、return语句、null语句 九、并行语句

并行信号赋值语句、块语句、并行过程调用语句、元件例化语句、report语句、断言语句 十、范本 Use ieee;

Use ieee.std_logic_1164.all; Entity xxx is

Port(xxx);

End entity xxx;

Architecture xxx of xxx is begin

Xxx:process(x,x,x) Begin Xxx Xxx

End process xxx End xxx 十一、常用语法

4 / 7

Leo True

1、信号与变量。

信号signal:用于作为电路中的信号连接,在整个结构体内的任何地方都能使用,在进程最后才对信号赋值。变量variable:用于作为进程中局部数据储存单元,只能在所定义的进程中使用,立即赋值。信号的赋值需要一个延时,end process语句到达后延迟才发生,延迟后进程内所有语句同时完成,而最接近end process的语句先被赋值。进程语句必须由敏感信号的变化来驱动。 2、仿真延时。

1)、固有延时:b<=a after 20ns;当a的时间长度小于20ns,对b无影响。 2)、传输延时:b<= transport a after20ns; 无论a时间多长,b始终会完成赋值,尽是传输时间延迟。 3、if语句 If xxx then Xxxxx Elsif xxx then Xxx . . . Else

xxxxx End if 4、case语句

5 / 7

Leo True

case xxx is

when 选择值=>y<=a when…

选择值可以是:1、单个普通数值;2、数值选择范围,如2 to 4 ;3、并列数值,如1|2,取值3或者5 ;4、混合方式(以上三种方式的混合)。 当选择范围确定时,各选择值必须对应一种状态,且不允许重叠。 5、loop语句

1)for n in 0 to 7 loop xxxx; end loop; 2)l1:loop Xxxx

Exit l1 when xxxx; End loop l1; 3)next语句

用于有条件或无条件的转向控制 Next;开始下一次循环 Next loop 标号;

Next loop 标号 when 条件表达式;一定条件时调到下一次循环或其他循环。 4)exit语句 Exit loop 标号。 6、null空操作,用于匹配else语句等 7、Wait挂起语句

6 / 7

Leo True

Wait ,永远挂起

Wait on 信号表,当信号变化时停止挂起 Wait until 条件表达式 ,条件等待语句 Wait for 时间表达式,超时等待语句

8、有限状态机(mealy,同步输出;moore,异步输出)

自定义数据类型 type 数据类型名 is 数据类型定义 of 基本数据类型 Type st1 is array (0 to 15) of std_logic;

Type week is (sun,mon,tue,wed,thu,fri,sat);枚举型 枚举型定义,用数字是,必须加单引号 Type a is(‘1’,’a’,’2’); 子类型subtype,定义同type

调用type同signal,在进程前说明,进程中使用。 9、元件例化 参见教材page297

7 / 7

本文来源:https://www.bwwdw.com/article/6udr.html

Top