数字系统设计.docx
- 文档编号:9588487
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:14
- 大小:319.79KB
数字系统设计.docx
《数字系统设计.docx》由会员分享,可在线阅读,更多相关《数字系统设计.docx(14页珍藏版)》请在冰豆网上搜索。
数字系统设计
第一次作业
1.1EDA的英文全称是什么?
EDA的中文含义是什么?
答:
ED自动化A即ElectronicDesignAutomation的缩写,直译为:
电子设计。
1.2什么叫EDA技术?
利用EDA技术进行电子系统的设计有什么特点?
答:
EDA技术有狭义和广义之分,狭义EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。
①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。
1.3从使用的角度来讲,EDA技术主要包括几个方面的内容?
这几个方面在整个电子系统的设计中分别起什么作用?
答:
EDA技术的学习主要应掌握四个方面的内容:
①大规模可编程逻辑器件;②硬件描述语言;③软件开发工具;④实验开发系统。
其中,硬件描述语言是重点。
对于大规模可编程逻辑器件,主要是了解其分类、基本结构、工作原理、各厂家产品的系列、性能指标以及如何选用,而对于各个产品的具体结构不必研究过细。
对于硬件描述语言,除了掌握基本语法规定外,更重要的是要理解VHDL的三个“精髓”:
软件的强数据类型与硬件电路的惟一性、硬件行为的并行性决定了VHDL语言的并行性、软件仿真的顺序性与实际硬件行为的并行性;要掌握系统的分析与建模方法,能够将各种基本语法规定熟练地运用于自己的设计中。
对于软件开发工具,应熟练掌握从源程序的编辑、逻辑综合、逻辑适配以及各种仿真、硬件验证各步骤的使用。
对于实验开发系统,主要能够根据自己所拥有的设备,熟练地进行硬件验证或变通地进行硬件验证。
1.4什么叫可编程逻辑器件(简称PLD)?
FPGA和CPLD的中文含义分别是什么?
国际上生产FPGA/CPLD的主流公司,并且在国内占有较大市场份额的主要有哪几家?
其产品系列有哪些?
其可用逻辑门/等效门数大约在什么范围?
答:
可编程逻辑器件(简称PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。
FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。
国际上生产FPGA/CPLD的主流公司,并且在国内占有市场份额较大的主要是Xilinx,Altera,Lattice三家公司。
Xilinx公司的FPGA器件有XC2000,XC3000,XC4000,XC4000E,XC4000XLA,XC5200系列等,可用门数为1200~18000;Altera公司的CPLD器件有FLEX6000,FLEX8000,FLEX10K,FLEX10KE系列等,提供门数为5000~25000;Lattice公司的ISP-PLD器件有ispLSI1000,ispLSI2000,ispLSI3000,ispLSI6000系列等,集成度可多达25000个PLD等效门。
第二次作业
1.8目前比较流行的、主流厂家的EDA的软件工具有哪些?
这些开发软件的主要区别是什么?
答:
目前比较流行的、主流厂家的EDA的软件工具有Altera的MAX+plusII、Lattice的ispEXPERT、Xilinx的FoundationSeries。
1.10对于目标器件为FPGA/CPLD的VHDL设计,其工程设计包括几个主要步骤?
每步的作用是什么?
每步的结果是什么?
答:
第一:
需要进行“源程序的编辑和编译”—用一定的逻辑表达手段将设计表达出来;第二:
要进行“逻辑综合”---将用一定的逻辑表达手段将表达出来的设计经过一系列的操作,分解成一系列的逻辑电路及对应的关系(电路分解);第三:
要进行目标器件的“布线/适配”---在选用的目标器件中建立这些基本逻辑电路的对应关系(逻辑实现)第四:
目标器件的编程下载---将前面的软件设计经过编程变成具体的设计系统(物理实现);最后要进行硬件仿真/硬件测试---验证所设计的系统是否符合要求。
同时,在设计过程中要进行有关仿真”---模拟有关设计结果与设计构想是否相符。
1.11名词解释:
逻辑综合、逻辑适配、行为仿真、功能仿真、时序仿真。
答:
逻辑综合:
逻辑综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形的描述,针对给定硬件结构组件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述文件。
由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定硬件结构用某种网表文件的方式联系起来。
显然,综合器是软件描述与硬件实现的一座桥梁。
综合过程就是将电路的高级语言描述转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件。
逻辑适配:
适配器的功能是将由综合器产生的网表文件配置于指定的目标器件中,产生最终的下载文件,如JEDEC格式的文件。
适配所选定的目标器件(FPGA/CPLD芯片)必须属于原综合器指定的目标器件系列。
行为仿真:
在综合以前可以先对VHDL所描述的内容进行行为仿真,即将VHDL设计源程序直接送到VHDL仿真器中仿真,这就是所谓的VHDL行为仿真。
因为此时的仿真只是根据VHDL的语义进行的,与具体电路没有关系。
功能仿真:
仅对VHDL描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及具体器件的硬件特性,如延时特性。
时序仿真:
时序仿真是接近真实器件运行的仿真,仿真过程中已将器件特性考虑进去了,因而,仿真精度要高得多。
但时序仿真的仿真文件必须来自针对具体器件的布线/适配器所产生的仿真文件。
综合后所得的EDIF/XNF门级网表文件通常作为FPGA布线器或CPLD适配器的输入文件。
通过布线/适配的处理后,布线/适配器将生成一个VHDL网表文件,这个网表文件中包含了较为精确的延时信息,网表文件中描述的电路结构与布线/适配后的结果是一致的。
此时,将这个VHDL网表文件送到VHDL仿真器中进行仿真,就可以得到精确的时序仿真结果了。
1.12谈谈你对EDA技术应用的展望。
1.EDA技术将广泛应用于高校电类专业实践教学工作中;2.EDA技术将广泛应用于科研工作和新产品的开发中;3.EDA技术将广泛应用于专用集成电路的开发中;4.EDA技术将广泛应用于传统机电设备的升级换代和技术改造中。
第三次作业
2.1简述PLD的基本类型和分类方法。
答:
常见的PLD产品有:
PROM、EPROM、EEPROM、PLA、FPLA、PAL、GAL、CPLD、EPLD、EEPLD、HDPLD、FPGA、pLSI、ispLSI、ispGDS。
分类方法有:
1、从结构的复杂度分类;2、从互连结构树上分类;3、从可编程特性上分类;4、从可编程元件上分类;
2.2CPLD和FPGA是如何进行标识的?
举例进行说明。
答:
FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。
通常的分类方法是:
将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。
将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。
第四次作业
2.3Altera公司、Xilinx公司、Lattice公司有哪些器件系列?
这些器件各有什么性能指标?
答:
这些公司有CPLD器件系列、FPGA系列、ispLSI和pLSI逻辑器件系列;CPLD器件系列提高了芯片的利用率和工作频率;FPGA系列具有高密度、高速率、系列化、标准化、小型化、多功能、低功耗、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试等优点。
ispLSI和pLSI逻辑器件系列即有低密度PLD使用方便、性能可靠等优点,又有FPGA器件的高密度和灵活性。
2.4CPLD的英文全称是什么?
CPLD的结构主要由哪几部分组成?
每一部分的作用如何?
答:
ComplexProgrammableLogicDevices;主要由宏单元、可编程连线、I/O控制块组成;宏单元是基本结构、可编程连线负责信号传递,连线所有的宏单元。
I/O控制块负责输入输出的电气特性控制。
2.7什么叫FPGA的配置模式?
FPGA器件有哪几种配置模式?
每种配置模式有什么特点?
FPGA的配置流程如何?
答:
FPGA的配置模式是指FPGA用来完成设计时的逻辑配置和外部连接方式;FPGA器件有三类配置下载方式:
主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式。
AS由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列.如EPCS1,EPCS4配置器件专供AS模式,目前只支持 Cyclone系列。
使用Altera串行配置器件来完成。
Cyclone期间处于主动地位,配置期间处于从属地位。
配置数据通过DATA0引脚送入 FPGA。
配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。
PS则由外部计算机或控制器控制配置过程。
通过加强型配置器件(EPC16,EPC8,EPC4)等配置器件来完成,在PS配置期间,配置数据从外部储存部件,通过DATA0引脚送入FPGA。
配置数据在DCLK上升沿锁存,1个时钟周期传送1位数据。
JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEE Std 1149.1联合边界扫描接口引脚,支持JAM STAPL标准,可以使用Altera下载电缆或主控器来完成;FPGA的配置流程一般包括芯片的初始化、配置和启动等几个过程;
2.8什么叫系统可编程?
是不是只有Lattice公司的产品具有系统可编程的特性?
答:
系统可编程就是当系统上电并正常工作时,计算机通过系统中的CPLD拥有ISP接口并直接对其进行编程,器件在编程后立即进入工作状态。
不是;
第五次作业
3.2VHDL程序一般包括几个组成部分?
每部分的作用是什么?
答:
(1)三个基本组成部分:
库、程序包使用说明,实体描述和实体对应的结构体描述。
(2)库、程序包使用说明:
用于打开调用本设计实体将用到的库、程序;实体描述:
用于描述该设计实体与外界的接口信号说明;结构体描述:
用于描述该设计实体内部的组成及内部工作的逻辑关系,结构体配置语句主要用于层次化的方式对特定的设计实体进行元件的例化,或是为实体选定某个特定的结构体。
3.4库由哪些部分组成?
在VHDL语言中常见的有几种库?
编程人员怎样使用现有的库?
答:
设计库由若干程序包组成,每个程序包都有一个包声明和一个可选的包体声明。
在设计库中,包声明和包体声明是分别编译的;常用的库有四种IEEE库、STD库、WORK库、VITAL库;
库、程序包的使用格式如下:
LIBRARY库名;
USE库名.程序包名.项目名/ALL
第六次作业
1什么叫标识符?
VHDL的基本标识符是怎样规定的?
答:
标识符是指用来为常数、变量、信号、端口、子程序或者参数等命名,由英文字母、数字和下划线组成。
遵从的规则:
(1)首字符必须是英文字母。
(2)不连续使用下划线“_”,不以下划线“_”结尾的。
(3)大小写英文字母等效,可以大小写混合输入。
(4)标识符中不能有空格。
(5)VHDL的保留字不能用于作为标识符使用。
第七次作业
3.10VHDL语言中的标准数据类型有哪几类?
用户可以自己定义的数据类型有哪几类?
并简单介绍各数据类型。
(1)标量型:
属单元素最基本的数据类型,通常用于描述一个单值数据对象,它包括实数类型、整数类型、枚举类型和时间类型。
复合类型:
可以由细小的数据类型复合而成,如可有标量复合而成。
复合类型主要有数组型和记录型。
存取类型:
为给定的数据类型的数据对象提供存取方式。
文件类型:
用于提供多值存取类型。
(2)用户可自定义的数据类型:
枚举类型、整数类型、数组类型、记录类型、时间类型、实数类型等。
3.8 用户怎样自定义数据类型?
试举例说明。
答:
利用类型定义语句TYPE 和子类型定义语句SUBTYPE 实现。
如TYPEWEEKIS(SON,MON,TUE,WED,THU,FRI,SAT)SUBTYPEDIGITSINTEGERRANGE0TO9
第八次作业
3.13 VHDL语言有哪几类操作符?
在一个表达式中有多种操作符时应按怎样的准则进行运算?
下列三个表达式是否等效:
① A<=NOT B AND C OR D; ② A<=(NOT B AND C) OR D; ③ A<=NOT B AND (C OR D).
答:
(1)主要有四种操作符逻辑运算符,关系运算符,算术运算符,符号运算符此外还有重载运算符。
(2)按照操作符的优先级高低进行运算(3)这三个表达式不等效。
1式表达错误,对同一优先级的不同运算符应加上括号。
2和3式的运算顺序不同。
3.22 在CASE 语句中在什么情况下可以不要WHEN OTHERS语句?
在什么情况下一定要WHEN OTHERS语句?
答:
case语句执行时,根据选择表达式的值来选择执行哪个顺序语句,要求对于选择表达式的每个可能取值,有且仅有一个选择值与之匹配。
因此,当已列出的选择值能够覆盖选择表达式的所有可能取值时,可以不要when others语句。
否则,要用 when others表示其它未列出的选择值。
3-19VHDL中,信号复制与变量赋值有什么区别?
其赋值符号是否异同?
答:
变量赋值与信号复制的区别在于,变量具有局部特征,它的有效只局限于所定义的一个进程中,或一个子程序中,它是一个局部的、暂时性数据对象。
信号则不同,信号具有全局性特征,它不但可以作为一个设计实体内部各单元之间数据传送的载体,而且可通过信号与其他的实体进行通信。
变量赋值目标:
=赋值源;
信号赋值目标<=赋值源;
第九次作业
3-21转向控制语句有几种?
他们各用在什么场合?
使用它们时特别需要注意什么?
答:
共有5种:
IF条件语句、CASE选择语句、LOOP循环语句、NEXT语句和EXIT语句;1)if 条件表达式1 then 顺序语句;
elsif 条件表达式2 then 顺序语句;
else 条件表达式n then 顺序语句;
end if;
if语句可根据一个或多个布尔条件,有选择的执行指定的顺序语句。
使用时应注意:
1.关键字then后可包含一个或多个顺序语句。
2.elsif子句可以有多个或没有,每个elsif子句执行时具有向前与的作用。
3.else子句可以没有。
4.关键字then后的顺序语句可以是if语句,即if语句可以嵌套。
(2)case选择表达式 is
when 选择值1 => 顺序语句;
when 选择值2 => 顺序语句; ......
end case;
case语句可根据一个表达式的不同取值执行不同的顺序语句。
使用时应注意:
1.表达式的值可以是整型或枚举型的,或是这些数据类型构成的数组。
2.选择值可以是单个取值,如4;也可以是一个取值范围,如2 to 5;也可以是多个并列的取值,如2|6;还可以是以上三种取值方式的混合。
3.case语句执行时,根据选择表达式的值来选择执行哪个顺序语句,选择的结果和每个选择值的顺序无关,只要求对于选择表达式的每个可能取值,有且仅有一个选择值与之匹配即可。
4.常用 when others表示其它未列出的选择值。
5.“=> ”后面的顺序语句可以有多个。
(3)[标号:
] for 循环变量 in 范围 loop [标号:
] while 条件 loop
顺序语句; 顺序语句;
end loop [标号]; end loop [标号];
for循环用于循环次数已知的情况;while 循环用于循环次数未知的情况。
使用时应注意:
for循环中的循环变量无需事先定义,可自动加/减1。
(4)next; 无条件中止当前循环,返回循环起点,开始下次循环。
exit; 无条件退出当前循环。
next loop标号; 无条件中止LOOP标号标明的循环,返回LOOP标号处,开始下次循环。
exit loop标号; 无条件退出LOOP标号标明的循环。
next loop标号 when 条件; 条件为真时中止LOOP标号标明的循环,返回LOOP标号处,开始下次循环。
exit loop标号when 条件; 条件为真时退出LOOP标号标明的循环。
3-25WAIT有几种书写格式?
哪些格式可以进行逻辑综合?
答:
wait until 结构 wait on 结构 其中wait until 结构可以进行逻辑组合
3-27试用EVENT属性描述一种用时钟CLK上升沿触发的D触发器及一种用时钟CLK下降沿触发的JK触发器。
答:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY dtrigger IS
PORT(clk:
IN STD_LOGIC;
d :
IN STD_LOGIC;
q :
OUT STD_LOGIC);
END dtrigger;
ARCHITECTURE behave OF dtrigger IS
BEGIN
PROCESS(clk)
BEGIN
IF clk'EVENT AND clk='1' THEN
q:
=d;
END IF;
8/23é،µ
END PROCESS;
END behave;
第十次作业
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYLATCHIS
PORT(D:
INSTD_LOGIC;
ENA:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC);
ENDENTITYLATCH;
ARCHITECTUREART1OFLATCHIS
SIGNALS0:
STD_LOGIC;
BEGIN
PROCESS(D,ENA)IS
BEGIN
IFENA='1'THEN
S0<=D;
ENDIF;
Q<=S0;
ENDPROCESS;
ENDARCHITECTUREART1;
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYMY74373IS
PORT(D:
INSTD_LOGIC_VECTOR(8DOWNTO1);
OEN:
INSTD_LOGIC;
G:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC_VECTOR(8DOWNTO1));
ENDENTITYMY74373;
ARCHITECTUREART1OFMY74373IS
COMPONENTLATCHIS
PORT(D,ENA:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC);
ENDCOMPONENTLATCH;
SIGNALS1:
STD_LOGIC_VECTOR(8DOWNTO1);
BEGIN
GELATCH:
FORNOIN1TO8GENERATE
LATCHX:
LATCHPORTMAP(D(NO),G,S1(NO));
ENDGENERATEGELATCH;
Q<=S1WHENOEN='0'ELSE
"ZZZZZZZZ";
ENDARCHITECTUREART1;
ARCHITECTUREART2OFMY74373IS
SIGNALS2:
STD_LOGIC_VECTOR(8DOWNTO1);
BEGIN
PROCESS(D,OEN,G)IS
BEGIN
IFOEN='0'THEN
Q<=S2;ELSE
Q<="ZZZZZZZZ";
ENDIF;
IFG='1'THEN
S2<=D;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREART2;
第十二次作业
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
FNTITYTRI_BUFSIS
PORT(DIN:
INSTD_LOGIC_VECTOR(7DOWNTO0);
EN:
INSTD_LOGIC;
DOUT:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDENTITYTRI_BUFS;
ARCHITECTUREARTOFTRI_BUFSIS
BEGIN
PROCESS(EN,DIN)IS
BEGIN
IF(EN='1')THEN
DOUT<=DIN;
ELSE
DOUT<="ZZZZZZZZ"
ENDIF;
ENDPROCESS;
ENDARCHITECTUREART;
WelcomeTo
Download!
!
!
欢迎您的下载,资料仅供参考!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 系统 设计