EDA课后习题答案
EDA 技术实用教程 课后作业答案
作业3-6module Mux3_1(a1,a2,a3,s0,s1,outy); input a1,a2,a3,s0,s1;output outy;reg outy;reg temp;always @(a2,a3,s0)beginif(s0 == 1'b0)temp = a2;elsetemp = a3;endalways @(a1, temp,s1)beginif(s1 == 1'b0)outy = a1;elseouty = temp;endendmodule作业3-7 半减器module H_suber(x,y,diff,s_out);input x,y;output diff,s_out;reg s_out;wire diff;assign diff = x ^ y;always @(x,y)beginif(x < y)s_out = 1'b1;elses_out = 1'b0;endendmodule全减器module F_suber(x,y,sub_in,diffr,sub_out); input x,y,sub_in;output diffr,sub_out;wire diffr,sub_out;wire H_diff,H_sout,s_out;assign sub_out = s_out || H_sout;H_suber U1 (.x(x),.y(y),.diff(H_diff),.s_out(H_sout));H_suber U2 (.x(H_diff),.y(sub_in),.diff(diffr),.s_out(s_out));Endmodule8位全减器module Bit8_suber(X,Y,Sub_in,Diff,Sub_out);input[7:0] X,Y;input Sub_in;output[7:0] Diff;output Sub_out;wire[7:0] Diff;wire Sub_out;wire[6:0] sub_out;F_suber U1(.x(X[0]),.y(Y[0]),.sub_in(Sub_in),.diffr(Diff[0]),.sub_out(sub_out[0]));F_suber U2(.x(X[1]),.y(Y[1]),.sub_in(sub_out[0]),.diffr(Diff[1]),.sub_out(sub_out[1])); F_suber U3(.x(X[2]),.y(Y[2]),.sub_in(sub_out[1]),.diffr(Diff[2]),.sub_out(sub_out[2])); F_suber U4(.x(X[3]),.y(Y[3]),.sub_in(sub_out[2]),.diffr(Diff[3]),.sub_out(sub_out[3])); F_suber U5(.x(X[4]),.y(Y[4]),.sub_in(sub_out[3]),.diffr(Diff[4]),.sub_out(sub_out[4])); F_suber U6(.x(X[5]),.y(Y[5]),.sub_in(sub_out[4]),.diffr(Diff[5]),.sub_out(sub_out[5])); F_suber U7(.x(X[6]),.y(Y[6]),.sub_in(sub_out[5]),.diffr(Diff[6]),.sub_out(sub_out[6])); F_suber U8(.x(X[7]),.y(Y[7]),.sub_in(sub_out[6]),.diffr(Diff[7]),.sub_out(Sub_out)); Endmodule作业3-13Amodule DFF_A(D,EN,CLK,RST,Q,Q1);input D,EN,CLK,RST;output Q,Q1;reg Q;wire Q1;wire D_temp;assign D_temp = D && EN;assign Q1 = (~D_temp)||RST;always @(negedge RST or posedge CLK)beginif(!RST)Q <= 1'b0;elseif(EN)Q <= D;elseQ <= Q;endmoduleBmodule DFF_B (A,B,C,D,Y);input A,B,C,D;output Y;reg Y;wire temp1,temp2,temp3;assign temp1 = A || B;assign temp2 = C && D;assign temp3 = temp1 ^ temp2; always @(A,temp1,temp3)beginif(temp1)Y = temp3;elseY = A;endendmoduleCmodule DFF_C(RST,D,CLK,Q,DOUT); input RST,D,CLK;output Q,DOUT;reg Q,DOUT;reg D_temp1;wire D_temp2;assign D_temp2 = D ^ D_temp1; always @(RST,D)beginif(RST)D_temp1 = 1'b0;elseD_temp1 = D;endalways @(posedge CLK)beginQ <= D_temp1;DOUT <= D_temp2;endmoduleDmodule DFF_D(SET,D,CLK,EN,RESET,Q);input SET,D,CLK,EN,RESET;output Q;reg Q;wire SET_temp;assign SET_temp = (~RESET) && SET;always @(posedge CLK or posedge RESET or posedge SET_temp) beginif(RESET)Q <= 1'b0;elseif(SET_temp)Q <= 1'b1;elseif(EN)Q <= D;elseQ <= Q;endendmodule8-2.用Mealy机类型,写出控制ADC0809采样的状态机。
EDA课后答案打印版
红外多路遥控系统单片机红外发射红外接收本文介绍了红外多路遥控系统。
红外多路遥控系统可实现16路的红外开关控制。
以码分制多通道红外遥控为设计的基本思路。
通过键盘及代码生成电路、编码、脉冲调制振荡和红外发射构成红外发射电路。
通过红外接收,解码以及由单片机控制的医码控制电路组成红外接收电路。
1.前言1.1序言随着电子技术的飞速发展,尤其是跨入2000年后,红外技术得到了迅猛发展。
红外遥控已渗透到国民经济的各行各业和人们日常生活的方方面面,在工业自动化、生产控制过程、采集和处理、通信、红外制导、激光武器、电子对抗、环境监测、红外育种安全防范、家用电器控制及日常生活各个方面都得到了广泛的应用。
1.2国内外研究概况目前国内外都在进行红外的研究开发,已取得了相当不错的成绩。
红外技术的研究开发是自动化控制的主要方向。
它的研究针对国民经济的各行各业和人们日常生活的方方面面,在工业自动化、生产控制过程、采集和处理、通信、红外制导、激光武器、电子对抗、环境监测、红外育种安全防范、家用电器控制及日常生活各个方面都在进行红外研究开发和控制。
1.3主要工作概述针对国内外的发展情况,可见红外遥控系统是我国未来智能化发展方向。
本课题要设计的红外多路遥控系统,主要红外发射和红外接收这两部分,本设计依托市面上常见的红外发射和红外接收元器件,使设计具有传输距离一般、硬件简单、安装方便、价格便宜的优点。
本文所介绍的红外多路遥控系统,是采用码分制多通道红外遥控系统装置。
早期的码分制的脉冲指令编码多采用分离元器件及小规模数字集成电路,编码、译码电路弄得很复杂,可靠性也差。
但随着大规模数字集成技术的发展和日趋成熟,各种大规模专用集成编、译码集成器件的层出不穷,使外围元器件很少,电路简单,功能完善。
2.系统总体方案设计2.1方案比较方案一:采用频分制多通道红外遥控发射和接收系统。
频分制的频率编码一般采用频道编码开关,通过改变振荡电路的参数来改变振荡电路的振荡参数和频率。
EDA技术实用教程课后答案———潘松版 黄继业(第三版)
第一章1-1EDA技术与ASIC设计和FPGA开发有什么关系?P3~4答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
1-2与软件描述语言相比,VHDL有什么特点?P6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL 程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?P5什么是综合?答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。
EDA课后答案
ENTITY buf3s IS
习
题
3-1. 画出与下例实体描述对应的原理图符号元件: 画出与下例实体描述对应的原理图符号元件: -- 实体 : 三态缓冲器 实体1: -- 输入端 -- 使能端 -- 输出端
PORT (input : IN STD_LOGIC ; enable : IN STD_LOGIC ; output : OUT STD_LOGIC ) ; END buf3x ; ENTITY mux21 IS PORT (in0, --实体 : 实体2: 实体 in1, sel :
九江学院电子工程学院 张友木主讲
习
题
数字逻辑系统设计
3-4. 给出 位全减器的 给出1位全减器的 位全减器的VHDL描述。要求: 描述。 描述 要求:
习
题
(1) 首 先 设 计 1 位 半 减 器 , 然 后 用 例 化 语 句 将 它 们 连 接 起 来 , 图 3-32 中 h_suber是半减器,diff是输出差,s_out是借位输出,sub_in是借位输入。 是半减器, 是输出差, 是借位输出, 是借位输入。 是半减器 是输出差 是借位输出 是借位输入 (2) 以1位全减器为基本硬件,构成串行借位的 位减法器,要求用例化语 位全减器为基本硬件, 位减法器, 位全减器为基本硬件 构成串行借位的8位减法器 句来完成此项设计(减法运算是 句来完成此项设计 减法运算是 x – y - sun_in = diffr)。 。
选 九江学院电子工程学院图3-30 4选1多路选择器 张友木主讲 多路选择器
数字逻辑系统设计
library ieee; use ieee.std_logic_1164.all; entity sel4_if is port(s1,s0:in std_logic; a,b,c,d:in std_logic; y:out std_logic); end; architecture behave of sel4_if is begin process(a,b,c,d,s1,s0) begin if(s1='0' and s0='0') then y<=a; elsif (s1='0' and s0='1') then y<=b; elsif (s1='1' and s0='0') then y<=c; else y<=d; end if; end process; end; 九江学院电子工程学院 张友木主讲
eda技术及应用课后习题答案
eda 技术及应用课后习题答案【篇一:eda 技术实用教程(第四版)》习题答案】ss=txt>1 习题1- 1 eda 技术与asic 设计和fpga 开发有什么关系?fpga 在asic 设计中有什么用途?p3~41- 2 与软件描述语言相比,vhdl 有什么特点? p6l- 3 什么是综合?有哪些类型? 综合在电子设计自动化中的地位是什么? p51- 4 在eda 技术中,自顶向下的设计方法的重要意义是什么? p7~101- 5 ip 在eda 技术的应用和发展中的意义是什么? p22~141- 6 叙述eda 的fpga/cpld 设计流程,以及涉及的eda 工具及其在整个流程中的作用。
(p11~13)2 习题2- 1 olmc (输出逻辑宏单元)有何功能? 说明gal 是怎样实现可编程组合电路与时序电路的。
p34~362- 2 什么是基于乘积项的可编程逻辑结构? p33~34 ,40 什么是基于查找表的可编程逻辑结构? p40~412- 3 fpga 系列器件中的lab 有何作用? p43~452- 5 解释编程与配置这两个概念。
p582- 6 请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻辑结构的pld 器件归类为cpld ;将基于查找表的可编程逻辑结构的pld 器什归类为fpga ,那么,apex 系列属于什么类型pld 器件? max ii 系列又属于什么类型的pld 器件?为什么? p54~563 习题3- 1 画出与以下实体描述对应的原理图符号元件: entity buf3s is -- 实体1: 三态缓冲器port(input:in std_logic; -- 输入端enable:in std_logic; -- 使能端output:out std_logic); -- 输出端end buf3s ;entity mux21 is -- 实体2: 2 选1 多路选择器port(in0, in1,sel: in std_logic; output:out std_logic);3- 2 图3-16 所示的是4 选1 多路选择器,试分别用if_then 语句和case 语句的表达方式写出此电路的vhdl 程序,选择控制信号s1 和s0 的数据类型为std_logic_vector; 当s1='0',s0=;'s01'='0',s0= ;'1' s1 =' 1' ,s0=和Sf='1' ,s0=时,分别执行y=a、y=b、y=c、y=d。
EDA完整版答案
1. 一个项目的输入输出端口是定义在 A 。
A. 实体中B. 结构体中C. 任何位置D. 进程体2. 描述项目具有逻辑功能的是 B 。
A. 实体B. 结构体C. 配置D. 进程3. 关键字ARCHITECTURE定义的是 A 。
A. 结构体B. 进程C. 实体D. 配置4. MAXPLUSII中编译VHDL源程序时要求 C 。
A. 文件名和实体可以不同名B. 文件名和实体名无关C. 文件名和实体名要相同D. 不确定5. 1987标准的VHDL语言对大小写是 D 。
A. 敏感的B. 只能用小写C. 只能用大写D. 不敏感6. VHDL语言中变量定义的位置是 D 。
A. 实体中中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置7. VHDL语言中信号定义的位置是 D 。
A. 实体中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置8. 变量是局部量可以写在 B 。
A. 实体中B. 进程中C. 线粒体D. 种子体中9. 变量和信号的描述正确的是 A 。
A. 变量赋值号是:=B. 信号赋值号是:=C. 变量赋值号是<=D. 二者没有区别10. 变量和信号的描述正确的是 B 。
A. 变量可以带出进程B. 信号可以带出进程C. 信号不能带出进程D. 二者没有区别11. 关于VHDL数据类型,正确的是 B 。
A. 数据类型不同不能进行运算B. 数据类型相同才能进行运算C. 数据类型相同或相符就可以运算D. 运算与数据类型无关12. 下面数据中属于实数的是 B 。
A. 4.2B. 3C. …1‟D. “11011”13. 下面数据中属于位矢量的是 D 。
A. 4.2B. 3C. …1‟D. “11011”14. 关于VHDL数据类型,正确的是 B 。
A. 用户不能定义子类型B. 用户可以定义子类型C. 用户可以定义任何类型的数据D. 前面三个答案都是错误的15. 可以不必声明而直接引用的数据类型是 C 。
数字系统设计与EDA技术课后练习题含答案
数字系统设计与EDA技术课后练习题含答案一、十进制和二进制数转换练习题1:将十进制数87转换为二进制数。
答案1:87的二进制表示为1010111。
练习题2:将二进制数1110101转换为十进制数。
答案2:1110101的十进制表示为117。
练习题3:将十进制数170转换为八进制数。
答案3:170的八进制表示为252。
练习题4:将八进制数243转换为十进制数。
答案4:243的十进制表示为163。
练习题5:将十进制数189转换为十六进制数。
答案5:189的十六进制表示为0xBD。
练习题6:将十六进制数0x3F转换为十进制数。
答案6:0x3F的十进制表示为63。
二、布尔代数和逻辑门电路练习题1:使用逻辑门实现以下布尔代数:Y = (A and B and C) or D答案1:这个布尔代数可以用以下逻辑门实现: +----+A -------| ||AND +--------+B -------| | |+----+ +----v----+C --------------| || OR +----- YD --------------| |+----------+练习题2:设计一个电子逻辑门电路,将两个单字节二进制数相加。
输入是两个二进制数,输出是相加的结果。
假设不会有溢出。
答案2:这个电子逻辑门电路可以用以下连线和逻辑门实现:输入1 --> +-----+--> | |+-----+| | | ADD +--> C3 --------+ +-----+--> || |输入2 --> +-----+--> | | | | | | | ADD |+-----+--> C2 --------+-->| |--> | +--+--+| | ||| | ||+-----+--> ||||||+-----+--> C1 --------+--> 输出其中ADD代表一个加法器电路,C1-C3代表进位。
EDA技术使用教程课后答案(第三版)潘松版
第一章1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD 通常也被称为可编程专用IC,或可编程ASIC。
FPGA和CPLD的应用是EDA 技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
1-2与软件描述语言相比,VHDL有什么特点? P6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5 什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。
EDA课后习题答案
注意:关键字都是小写的。如reg是关键字,但REG不属于关键字,所以可用作普
通标识符。
精选ppt课件
12
2-4 定义以下的变量和常数[7:0] Q1;) (2) 定义一个名字为asg的整数。 ( integen asg; ) (3) 定义参数s1=3’b010,s2=3’b110,s3=3’b011。
形成结构,即用SRAM来构成逻辑函数发生器。一个N输入LUT可以实现N个
输入变量的任何逻辑功能,如N输入“与”、N输入“异或”等。
LE是Cyclone III FPGA器件的最基本的可编程单元,LE主要由一个4输入的
查找表LUT、进位链逻辑、寄存器链逻辑和一个可编程的寄存器构成。
精选ppt课件
7
1-9 为什么说用逻辑门作为衡量逻辑资源大小的最小单元不准确。 答:专业习惯是将OLMC及左侧的可编程与阵列合称一个逻辑宏单元,即标 志PLD器件逻辑资源的最小单元,由此可以认为GAL16V8器件的逻辑资源是 8个逻辑宏单元,而目前最大的FPGA的逻辑资源达数十万个逻辑宏单元。也 有将逻辑门的数量作为衡量逻辑器件资源的最小单元,如某CPLD的资源约 2000门等,但此类划分方法误差较大。
2-5 设“reg[3:0]A; reg[7:0]B; reg[15:0]C;”, (1) 执行赋值语句A<=8B’11011010后,A实际获得赋值是多少?(1010) (2) 执行赋值语句A<=8H’3456后,A实际获得赋值是多少? (6、0110) (3) 执行赋值语句C<=9和C<=-9,C分别获得赋值是什么?什么类型?
EDA课后题答案
EDA课后题答案第⼀章1.什么叫EDA技术?及狭义定义(书P1)Electronic Design Automation--电⼦设计⾃动化。
EDA的⼴义定义范围包括:半导体⼯艺设计⾃动化、可编程器件设计⾃动化、电⼦系统设计⾃动化、印刷电路板设计⾃动化、仿真与测试、故障诊断⾃动化、形式验证⾃动化统称EDA⼯程。
2.EDA发展历程:CAD- CAE -EDA3 .EDA技术的主要内容实现载体(硬件基础):⼤规模可编程逻辑器件(PLD_Programmable Logic Device)描述⽅式:硬件描述语⾔(HDL_Hard descripation Lauguage,VHDL,Verilog HDL等)设计⼯具:开发软件、开发系统硬件验证:实验开发系统FPGA 在结构上主要分为三个部分,即可编程逻辑单元,可编程输⼊/输出单元和可编程连线三个部分。
CPLD在结构上主要包括三个部分,即可编程逻辑宏单元,可编程输⼊/输出单元和可编程内部连线。
4.硬件描述语⾔(HDL_Hardware Description Language)VHDL:IEEE标准硬件描述语⾔,在电⼦⼯程领域,已成为事实上的通⽤硬件描述语⾔。
系统级抽象描述能⼒较强。
Verilog:⽀持的EDA⼯具较多,适⽤于RTL级和门电路级的描述,其综合过程较VHDL 稍简单,门级开关电路描述能级较强,但其在⾼级描述⽅⾯不如VHDL。
ABEL:⼀种⽀持各种不同输⼊⽅式的HDL,系统级抽象描述能⼒差,适应于门级电路描述。
5. 仿真⼯具功能仿真(也叫前仿真、系统级仿真、⾏为仿真)验证系统的功能。
时序仿真(也叫后仿真、电路级仿真):验证系统的时序特性、系统性能。
6. EDA的⼯程设计流程(P8)第⼆章1.在系统可编程技术(ISP)定义ISP(In_System Programmability/Programming)是指对器件、电路板、整个电⼦系统进⾏逻辑重构和修改功能的能⼒。
EDA技术实用教程课后习题答案(20210110132612)
第一章1- 1 EDA技术与ASIC设计与FPGA开发有什么关系?答:利用EDA技术进行电子系统设计得最后目标就是完成专用集成电路ASIC得设计与实现;FPGA与CPLD就是实现这一途径得主流器件。
FPGA与CPLD通常也被称为可编程专用IC,或可编程ASIC o FPGA与CPLD得应用就是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)与ASIC设计,以及对自动设计与自动实现最典型得诠释。
1- 2与软件描述语言相比,VHDL有什么特点? P6答:编译器将软件程序翻译成基于某种特定CPU得机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU得硬件结构,只能被动地为其特定得硬件电路结构所利用。
综合器将VHDL程序转化得目标就是底层得电路结构网表文件,这种满足VHDL设计程序功能描述得电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达得电路功能转化成具体得电路结构网表过程中,具有明显得能动性与创造性,它不就是机械得一一对应式得“翻译”,而就是根据设计库、工艺库以及预先设置得各类约束条件,选择最优得方式完成电路结构得设计。
1- 3什么就是综合?有哪些类型?综合在电子设计自动化中得地位就是什么?什么就是综合?答:在电子设计领域中综合得概念可以表示为:将用行为与功能层次表达得电子系统转换为低层次得便于具体实现得模块组合装配得过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域得综合,即行为综合。
(3)从RTL级表示转换到逻辑门(包括触发器)得表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA得配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中得地位就是什么?答:就是核心地位(见图1- 3)。
EDA课后习题.
1-10 简述在基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具,及其 在整个流程中的作用。 答:基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具有: (1)设计输入编辑器(作用:接受不同的设计输入表达方式,如原理图 输入方式、状态图输入方式、波形输入方式以及HDL的文本输入方式。); (2)HDL综合器(作用:HDL综合器根据工艺库和约束条件信息,将设 计输入编辑器提供的信息转化为目标器件硬件结构细节的信息,并在数字 电路设计技术、化简优化算法以及计算机软件等复杂结体进行优化处理); (3)仿真器(作用:行为模型的表达、电子系统的建模、逻辑电路的验 证及门级系统的测试);适配器(作用:完成目标系统在器件上的布局和 布线); (4)下载器(作用:把设计结果信息下载到对应的实际器件,实现硬件 设计)。
而丢失,但编程次数有限,编程的速度不快。
配置:基于SRAM查找表的编程单元。编程信息是保载
入编程信息。大部分FPGA采用该种编程工艺。该类器件的编程一般称
为配置。对于SRAM型FPGA来说,配置次数无限,且速度快;在加电 时可随时更改逻辑;下载信息的保密性也不如电可擦除的编程。
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUX41 IS PORT( s : IN STD_LOGIC_VECTOR(1 DOWNTO 0); a , b , c , d : IN STD_LOGIC; y : OUT STD_LOGIC); END MUX41; ARCHITECTURE ART OF MUX41 IS BEGIN PROCESS(s) BEGIN CASE s IS WHEN “00” => y<=a; WHEN “01” => y<=b; WHEN “10” => y<=c; WHEN “11” => y<=d; WHEN OTHERS => NULL; END CASE; END PROCESS; END ART;
《EDA技术与VHDL基础》课后习题答案
《EDA技术与VHDL基础》课后习题答案第一章EDA技术概述一、填空题1、电子设计自动化2、非常高速集成芯片硬件描述语言3、CAD、CAE、EDA4、原理图输入、状态图输入、文本输入5、VHDL、Verilog HDL6、硬件特性二、选择题1、A2、C3、A4、D5、C6、D7、A第二章可编程逻辑器件基础一、填空题1、PLD2、Altera公司、Xilinx公司、Lattice公司3、基于反熔丝编程的FPGA4、配置芯片二、选择题1、D2、C3、C4、D第三章VHDL程序初步——程序结构一、填空题1、结构、行为、功能、接口2、库和程序包、实体、结构体、配置3、实体名、类型表、端口表、实体说明部分4、结构体说明语句、功能语句5、端口的大小、实体中子元件的数目、实体的定时特性6、设计库7、元件、函数8、进程PROCESS、过程PROCEDURE9、顺序语句、并行语句二、选择题1、D2、C3、C4、B5、D6、B7、A8、C三、简答题2、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY nand_3in ISPORT(a,b,c:IN STD_LOGIC;y:OUT STD_LOGIC);END;ARCHITECTURE bhv OF nand_3in ISBEGINy<=NOT(a AND b AND c);END bhv;5、00006、11110111(247)第四章VHDL基础一、填空题1、顺序语句、并行语句2、跳出本次循环3、等待、信号发生变化时4、函数、过程5、值类属性、函数类属性、信号类属性、数据类型类属性、数据范围类属性6、程序调试、时序仿真7、子程序、子程序二、选择题1、B2、A3、A4、C5、B6、C7、D三、判断题1、√2、√3、√4、√5、×6、×四、简答题9、修改正确如下所示:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY count ISPORT(clk:IN BIT;q:OUT BIT_VECTOR(7 DOWNTO 0)); END count;ARCHITECTURE a OF count ISBEGINPROCESS(clk)IF clk'EVENT AND clk='1' THENq<=q+1;END PROCESS;END a;10、修改正确如下所示:…SIGNAL invalue:IN INTEGER RANGE 0 TO 15; SIGNAL outvalue:OUT STD_LOGIC;…CASE invalue ISWHEN 0=>outvalue<='1';WHEN 1=>outvalue<='0';WHEN OTHERS=>NULL;END CASE;…11、修改正确如下所示:ARCHITECTURE bhv OF com1 ISBEGINSIGNAL a,b,c:STD_LOGIC;pro1:PROCESS(clk)BEGINIF NOT (clk'EVENT AND clk='1') THENx<=a XOR b OR c;END IF;END PROCESS;END;12、(1) PROCESS(…) --本题中两条IF语句均为信号c进行可能赋值,VHDL语言不允许IF a=b THENc<=d;END IF;IF a=4 THENc<=d+1;END IF;END PROCESS;(2)ARCHITECTURE behave OF mux IS --同时为q进行多次可能赋值,VHDL语言不允许BEGINq<=i0 WHEN a='0' AND b='0' ELSE '0'; --WHEN ELSE语句语法错误q<=i1 WHEN a='0' AND b='1' ELSE '0';q<=i2 WHEN a='1' AND b='0' ELSE '0';q<=i3 WHEN a='1' AND b='1' ELSE '0';END behave;13、next1<=1101 WHEN (a='0' AND b='0') ELSEd WHEN a='0' ELSEc WHEN b='1' ELSE1011;15、(1)、STD_LOGIC_UNSIGNED(2)、GENERIC(3)、IN(4)、width-1(7)(5)、counter_n(6)、“00000000”(7)、clk’EVENT AND clk=’1’(8)、ELSIF(9)、END IF(10)、q<= count16、修改正确如下所示:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CNT10 ISPORT ( clk: IN STD_LOGIC;q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END CNT10;ARCHITECTURE bhv OF CNT10 ISSIGNAL q1 : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS (clk)BEGINIF RISING_EDGE(clk) begin –begin修改为THENIF q1 < 9 THEN --q1为STD_LOGIC数据类型,而9为整型不可直接比较q1 <= q1 + 1; -- q1为STD_LOGIC数据类型,而1为整型不可直接相加ELSEq1 <= (OTHERS => '0');END IF;END IF;END PROCESS;q <= q1;END bhv;17、使用IF语句实现LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21 ISPORT(ain,bin,sel:IN STD_LOGIC_VECTOR(1 DOWNTO 0);cout:OUT STD_LOGIC_VECTOR(1 DOWNTO 0));END;ARCHITECTURE bhv OF mux21 ISSIGNAL cout_tmp:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINPROCESS(ain,bin,sel)BEGINIF (sel="00") THEN cout_tmp<=ain OR bin;ELSIF (sel="01") THEN cout_tmp<=ain XOR bin;ELSIF (sel="10") THEN cout_tmp<=ain AND bin;ELSE cout_tmp<=ain NOR bin;END IF;END PROCESS;cout<=cout_tmp;END bhv;第五章QuartusⅡ集成开发软件初步一、填空题1、实体名2、FPGA、CPLD3、.vhd4、输入、综合、适配、仿真、下载5、RTL Viewer、Technology Map Viewer6、功能、参数含义、使用方法、硬件描述语言、模块参数设置7、mif、hex8、根目录二、选择题1、C2、D第七章有限状态机设计一、设计题1、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ztj ISPORT(clk,reset:IN STD_LOGIC;in_a:IN STD_LOGIC_VECTOR(1 DOWNTO 0);out_a:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END;ARCHITECTURE bhv OF ztj ISTYPE state IS(s0,s1,s2,s3); --用枚举类型定义状态,简单直观SIGNAL current_state,next_state:state; --定义存储现态和次态的信号BEGINp1:PROCESS(clk) --状态更新进程BEGINIF clk'EVENT AND clk='1' THENIF reset='1' THEN current_state<=s0;ELSE current_state<=next_state;END IF;END IF;END PROCESS;p2:PROCESS(current_state,in_a) --次态产生进程BEGINCASE current_state ISWHEN s0=>IF in_a/=”00” THEN next_state<=s1;ELSE next_state<=s0;END IF;WHEN s1=>IF in_a=/'”01” THEN next_state<=s2;ELSE next_state<=s1;END IF;WHEN s2=>IF in_a=”11” THEN next_state<=s0ELSE next_state<=s3;END IF;WHEN s3=>IF in_a/='11' THEN next_state<=s0;ELSE next_state<=s3;END IF;WHEN OTHERS=>NULL;END CASE;END PROCESS;p3:PROCESS(current_state)BEGINCASE current_state ISWHEN s0=>out_a<='”0101”;WHEN s1=>out_a<=”1000”;WHEN s2=>out_a<=”1100”;WHEN s3=>out_a<=”1101”;WHEN OTHERS=>NULL;END CASE;END PROCESS;END;2、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ztj ISPORT(clk,reset:IN STD_LOGIC;ina:IN STD_LOGIC_VECTOR(2 DOWNTO 0);outa:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END;ARCHITECTURE bhv OF ztj ISTYPE state IS(s0,s1,s2,s3); --用枚举类型定义状态,简单直观SIGNAL current_state,next_state:state;BEGINp1:PROCESS(clk) --状态更新进程BEGINIF clk'EVENT AND clk='1' THENIF reset='1' THEN current_state<=s0;ELSE current_state<=next_state;END IF;END IF;END PROCESS;p2:PROCESS(current_state,ina)BEGINCASE current_state ISWHEN s0=> IF ina =”101” THEN outa<=”0010”;ELSIF ina=”111” THEN outa <=”1100”;END IF;IF ina =”000” THEN next_state<=s1;ELSE next_state<=s0;END IF;WHEN s1=> outa<=”1001”;IF ina =”110” THEN next_state<=s2;ELSE next_state<=s1;END IF;WHEN s2=> outa<=”1111”;IF ina =”011” THEN next_stat e<=s1;ELSIF ina =”100” THEN next_state<=s2;ELSE next_state<=s3;END IF;WHEN s3=> IF ina =”101” THEN outa<=”1101”;ELSIF ina=”011” THEN outa <=”1100”;END IF;IF ina =”010” THEN next_state<=s0;ELSE next_state<=s1;END IF;WHEN OTHERS=>NULL;END CASE;END PROCESS;END;3、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ztj ISPORT(clk,reset:IN STD_LOGIC;ina:IN STD_LOGIC_VECTOR(1 DOWNTO 0);outa:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END;ARCHITECTURE bhv OF ztj ISTYPE state IS(s0,s1,s2,s3); --用枚举类型定义状态,简单直观SIGNAL state:istate;BEGINp1:PROCESS(clk)BEGINIF clk'EVENT AND clk='1' THENIF reset='1' THEN state<=s0;result<='0';ELSECASE state ISWHEN s0=>outa<=”0000”;IF ina=”00” THEN state<=s1;ELSE state<=s0;END IF;WHEN s1=> outa <=”0001”;IF ina=”01” THEN state<=s2;ELSE state<=s1;END IF;WHEN s2=> outa <=”1100”;IF ina=”11” THEN state<=s3;ELSE state<=s0;END IF;WHEN s3=> outa <=”1111”;IF ina=”00” THEN state<=s0;ELSE state<=s3;END IF;WHEN OTHERS=>NULL;END CASE;END IF;END IF;END PROCESS;END;第九章VHDL基本逻辑电路设计一、填空题1、输入信号、所处状态2、组合逻辑、时序逻辑3、触发器、14、D触发器、RS触发器、JK触发器、T触发器二、选择题1、A2、C。
EDA潘松课后全部答案
第一章1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD 是实现这一途径的主流器件。
FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
1-2与软件描述语言相比,VHDL有什么特点? P6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。
《EDA技术实用教程(第四版)》(包括第九、十章)习题答案解析
《EDA技术实用教程(第四版)》习题1 习题1-1EDA技术与ASIC设计和FPGA开发有什么关系?FPGA在ASIC设计中有什么用途?P3~41-2 与软件描述语言相比,VHDL有什么特点? P6l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?P51-4 在EDA技术中,自顶向下的设计方法的重要意义是什么? P7~101-5 IP在EDA技术的应用和发展中的意义是什么? P22~141-6叙述EDA的FPGA/CPLD设计流程,以及涉及的EDA工具及其在整个流程中的作用。
(P11~13)2 习题2-1OLMC(输出逻辑宏单元)有何功能?说明GAL是怎样实现可编程组合电路与时序电路的。
P34~362-2什么是基于乘积项的可编程逻辑结构?P33~34,40什么是基于查找表的可编程逻辑结构?P40~412-3FPGA系列器件中的LAB有何作用? P43~452-5 解释编程与配置这两个概念。
P582-6 请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻辑结构的PLD器件归类为CPLD;将基于查找表的可编程逻辑结构的PLD器什归类为FPGA,那么,APEX系列属于什么类型PLD器件? MAX II系列又属于什么类型的PLD器件?为什么? P54~563 习题3-1 画出与以下实体描述对应的原理图符号元件:ENTITY buf3s IS --实体1:三态缓冲器PORT(input:IN STD_LOGIC; --输入端enable:IN STD_LOGIC; --使能端output:OUT STD_LOGIC); --输出端END buf3s ;ENTITY mux21 IS --实体2: 2选1多路选择器PORT(in0, in1,sel: IN STD_LOGIC;output:OUT STD_LOGIC);mux21in0outputin1sel3-2 图3-16所示的是4选1多路选择器,试分别用IF_THEN语句和CASE语句的表达方式写出此电路的VHDL程序,选择控制信号s1和s0的数据类型为STD_LOGIC_VECTOR;当s1=’0’,s0=’0’;s1=’0’,s0=’1’;s1=’1’,s0=’0’和s1=’1’,s0=’1’时,分别执行y<=a、y<=b、y<=c、y<=d。
《EDA技术实用教程(第五版)》课后习题答案(第1_10章)
《EDA技术实用教程(第五版)》课后习题及答案1 习题1-1EDA技术与ASIC设计和FPGA开发有什么关系?FPGA在ASIC设计中有什么用途?P3~4EDA技术与ASIC设计和FPGA开发有什么关系?答:利用EDA 技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
FPGA在ASIC设计中有什么用途?答:FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA实现ASIC设计的现场可编程器件。
1-2 与软件描述语言相比,VHDL有什么特点? P4~6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?P6什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
eda课后习题答案
用VHDL设计一个秒表电路姓名:朱芳学号:200803050221 专业:08电气2班1.实验目的:掌握MAXPLU SⅡ的VHDL语言描述输入法(1)掌握VHDL语言描述输入法(2)掌握VHDL语言(3)理解if语句进行描述计数器2.实验内容:利用VHDL语言设计一个秒表电路,最小计时精度为0.01S,最长为99S。
3.实验原理:计算器是数字系统中用的交代的基本逻辑器件,它的基本功能是统计时钟脉冲的个数,即实现计数操作,它也是用于与分频,定时,产生节拍脉冲和脉冲序列。
4.实验源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count100 isport (clk :in bit;oc :out bit;y :out integer range 0 to 99 );end ;architecture a of count100 issignal q :integer range 0 to 99;beginp1:process(clk)beginif (clk'event and clk='1')then if q=99 thenq<=0;elseq<=q+1;end if;end if;if q<50 thenoc<='0';elseoc<='1';end if;y<=q;end process;end;5.编译过程:6.时序波形仿真:7.时域分析:。
EDA技术与应用课后习题答案(2)
EDA技术与应用课后习题答案(2)EDA技术与应用课后习题答案大全END IF;END PROCESS;PR02:PROCESS(s1)BEGINIF s1=”0” THEN outy<=a1;ELSE outy<=tmp;END IF;END PROCESS;END ARCHITECTURE ONE;END CASE;4-4.下图是一个含有上升沿触发的D触发器的时序电路,试写出此电路的VHDL设计文件。
4-4.答案LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MULTI ISPORT(CL:IN STD_LOGIC; --输入选择信号CLK0:IN STD_LOGIC; --输入信号OUT1:OUT STD_LOGIC);--输出端END ENTITY;ARCHITECTURE ONE OF MULTI ISSIGNAL Q : STD_LOGIC;BEGINPR01: PROCESS(CLK0)BEGINIF CLK ‘EVENT AND CLK=’1’THEN Q<=NOT(CL OR Q);ELSEEND IF;END PROCESS;PR02: PROCESS(CLK0)BEGINOUT1<=Q;END PROCESS;END ARCHITECTURE ONE;END PROCESS;4-5.给出1位全减器的VHDL描述。
要求:(1) 首先设计1位半减器,然后用例化语句将它们连接起来,图3-32中h_suber是半减器,diff是输出差,s_out是借位输出,sub_in 是借位输入。
(2) 以1位全减器为基本硬件,构成串行借位的8位减法器,要求用例化语句来完成此项设计(减法运算是 x – y - sun_in = diffr) 4-5.答案底层文件1:or2a.VHD实现或门操作LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY or2a ISPORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc <= a OR b;END ARCHITECTURE one;底层文件2:h_subber.VHD实现一位半减器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY h_subber ISPORT(x,y:IN STD_LOGIC;diff,s_out::OUT STD_LOGIC);END ENTITY h_subber;ARCHITECTURE ONE OF h_subber ISSIGNAL xyz: STD_LOGIC_VECTOR(1 DOWNTO 0); BEGINxyz <= x & y;PROCESS(xyz)BEGINCASE xyz ISWHEN "00" => diff<='0';s_out<='0';WHEN "01" => diff<='1';s_out<='1';WHEN "10" => diff<='1';s_out<='0';WHEN "11" => diff<='0';s_out<='0';WHEN OTHERS => NULL;END CASE;END PROCESS;END ARCHITECTURE ONE;顶层文件:f_subber.VHD实现一位全减器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY f_subber ISPORT(x,y,sub_in:IN STD_LOGIC;diffr,sub_out:OUT STD_LOGIC);END ENTITY f_subber;ARCHITECTURE ONE OF f_subber IS COMPONENT h_subberdiff,S_out:OUT STD_LOGIC);END COMPONENT;COMPONENT or2aPORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END COMPONENT;SIGNAL d,e,f: STD_LOGIC;BEGINu1: h_subber PORT MAP(x=>x,y=>y,diff=>d,s_out=>e);u2: h_subber PORT MAP(x=>d,y=>sub_in,diff=>diffr,s_out=>f);u3: or2a PORT MAP(a=>f,b=>e,c=>sub_out);END ARCHITECTURE ONE;END ARCHITECTURE ART;4-6.根据下图,写出顶层文件MX3256.VHD的VHDL设计文件。
EDA技术实用教程课(潘松)后答案解答
《EDA技术实用教程》部分习题解答习题四习题4-5 列表详细说明MAX+plusII 中prim.mf 和mega_lpm 库中的内容和用法。
答:prim:基本的元件mf:主要是74 系列芯片的逻辑元件mega_lpm:参数可定制的复杂逻辑元件⊕习题4-7 用74139 组成一个5-24 线译码器。
解:共使用 3 片74139 作6 个2-4 译码图习题4-8 用74283 加法器和逻辑门设计实现一位8421BCD 码加法器电路,输入输出均是BCD 码,CI 为低位的进位信号,CO 为高位的进位信号,输入为两个 1 位十进制数A,输出用S 表示。
解:如果二进制的和大于9,需要再加上 6 来补成BCD 码2第 1 章概述图习题4-9 设计一个7 人表决电路,参加表决者7 人,同意为1,不同意为0,同意者过半则表决通过,绿指示灯亮;表决不通过则红指示灯亮。
解:方法有多种,仅举一例。
有多个 1 位全加器构成。
图其中 1 位全加器的原理图如下:图 1 位全加器第 1 章 概述3习题 4-10 使用 prim 和 mf 库中的元件设计一个周期性产生二进制序列 010******** 的序列发生器,用移 位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。
解:给出一种解法习题 4-11 用 D 触发器设计 3 位二进制加法计数器。
解:注意 D 触发器级联时应取非端,否则只能作分频器下图是异步计数器方式,同步计数器方式请读者自行考虑习题 4-12 用 D 触发器构成按循环码(000->001->011->111->101->100->000)规律工作的六进制同步计数器。
解:用同步计数器来实现。
(事实上要求设计的是一个袼雷码计数器) 考虑不同状态时,对应的 DFF 输入端的值:4 D 0 =Q 第 1 章 概述Q 2 + Q 2 1 Q D 1 = Q 2 0 = D 2 Q Q2Q 0 + Q 2 14-13 应用 4 位全加器和 74374 构成 4 位二进制加法计数器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1-5 叙述EDA的FPGA/CPLD设计流程,以及涉及的EDA工具及其在整个流 程中的作用。 答:完整地了解利用EDA技术进行设计开发的流程对于正确地选择和使用 EDA软件、优化设计项目、提高设计效率十分有益。一个完整的、典型的 EDA设计流程既是自顶向下设计方法的具体实施途径,也是EDA工具软件 本身的组成结构。
1-4 IP在EDA技术的应用和发展中的意义是什么? 答:IP就是知识产权核或知识产权模块的意思,在EDA技术和开 发中具有十分重要的地位。美国著名的Dataquest咨询公司将半 导体产业的IP定义为“用于ASIC或FPGA中的预先设计好的电路功 能模块”。IP分软IP、固IP和硬IP。 软IP是用HDL等硬件描述语言描述的功能块,但是并不涉 及用什么具体电路元件实现这些功能。 固IP是完成了综合的功能块。它有较大的设计深度,以网 表文件的形式提交客户使用。 硬IP提供设计的最终阶段产品——掩模。随着设计深度的 提高,后续工序所需要做的事情就越少;当然,灵活性也就越小。 不同的客户可以根据自己的需要订购不同的IP产品。
1-9 为什么说用逻辑门作为衡量逻辑资源大小的最小单元不准确。 答:专业习惯是将OLMC及左侧的可编程与阵列合称一个逻辑宏单元,即标 志PLD器件逻辑资源的最小单元,由此可以认为GAL16V8器件的逻辑资源是 8个逻辑宏单元,而目前最大的FPGA的逻辑资源达数十万个逻辑宏单元。也 有将逻辑门的数量作为衡量逻辑器件资源的最小单元,如某CPLD的资源约 2000门等,但此类划分方法误差较大。 1-10 标志FPGA/CPLD逻辑资源的逻辑宏单元包含哪些结构? 答: CPLD( MAX7000S)系列中的 逻辑宏单元由3个功能块组成:逻辑阵列、 乘积项选择矩阵和可编程寄存器,它们可以被单独地配置为时序逻辑和组合逻 辑工作方式。其中逻辑阵列实现组合逻辑,可以给每个逻辑宏单元提供5个乘 积项。“乘积项选择矩阵”分配这些乘积项作为到“或门”和“异或门”的主 要逻辑输入,以实现组合逻辑函数;或者把这些乘积项作为宏单元中寄存器的 辅助输入:清零(Clear)、置位(Preset)、时钟(Clock)和时钟使能控制 (Clock Enable)。 FPGA(Cyclone III)器件的可编程资源主要来自逻辑阵列块LAB,而每个LAB都 由多个逻辑宏单元(Logic Element,LE)构成。LE是Cyclone III FPGA器件 的最基本的可编程单元,LE主要由一个4输入的查找表LUT、进位链逻辑、寄 存器链逻辑和一个可编程的寄存器构成。
2-4 定义以下的变量和常数。 (1) 定义一个名字为Q1的8位reg总线。 (reg[7:0] Q1;) (2) 定义一个名字为asg的整数。 ( integen asg; ) (3) 定义参数s1=3’b010,s2=3’b110,s3=3’b011。 parameter s1=3’b010,s2=3’b110,s3=3’b011; (4) 定义一个容量(深度)为128,字长为32位的存储器,存储器名是MEM32。 (reg[31:0] mem [127:0] MEM32;) (5) 定义一个名字为WBUS的16位wire总线。 (wire[15:0] WBUS)
第3章
Verilog行为语句
3-1 讨论always和initial异同点。 答: Verilog支持两种过程语句,即always和initial语句。通常情况下 initial语句不可综合,主要用于仿真程序中的初始化; always语句属于可 综合语句,主要引导行为描述语句,使用频度非常高。在一个Verilog程 序模块(module)中, always和initial语句被使用的次数没有限制,即它 们本身属于并行执行特征的语句。 过程语句的基本格式如下: always@(敏感信号及敏感信号列表或表达式) 包括块语句的各类行为语句 Verilog的过程语句除always外,还有initial过程语句。其基本格式 如下: initial begin语句1;语句2;...end 与always结构不同,initial过程语句结构中没有敏感信号列表,即不 带触发条件。initial过程中的块语句沿时间方向轴只执行一次。(always 总是可以自动执行无限次) initial语句通常用于仿真模块中对激励矢量 的描述,或用于给寄存器变量赋初值,而在实际电路中,赋初值是没有意 义的。因此这是面向模拟仿真的过程语句,通常不能被综合工具所接受, 或在综合时被忽略,但却可以对存储器加载初始化文件,这是可综合行为。
第1章
EDA技术概述
1-1 EDA技术与ASIC设计和FPGA开发有什么关系?FPGA在ASIC设计中有 什么用途? 答:EDA技术进行电子系统设计的最后目标,是完成专用集成电路(ASIC) 的设计和实现,FPGA是实现这一途径的主流器件,它们的特点是直接面向 用户、具有极大的灵活性和通用性、使用方便、硬件测试和实现快捷、开发 效率高、成本低、上市时间短、技术维护简单、工作可靠性好等。FPGA的 应用是EDA技术有机融合软硬件电子设计技术、ASIC设计,以及对自动设计 与自动实现最典型的诠释。 1-2 与软件描述语言相比,Verilog有什么特点? 答:Verilog语言的特点: (1)按照设计目的,Verilog程序可以划分为面向仿真和面向综合两类,而 可综合的Verilog程序能分别面向FPGA和ASIC开发两个领域。 (2)能在多个层次上对所设计的系统加以描述,从开关级、门级、寄存器 传输级(RTL)至行为级都可以加以描述。 (3)灵活多样的电路描述风格。
1-3 什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? 答:综合(Synthesis),就其字面含义应该是:把抽象的实体结合成单个或 统一的实体。 在电子设计领域,综合的概念可以表述为:将用行为和功能层次表达的 电子系统转换为低层次的、便于具体实现的模块组合装配的过程。 (1)从自然语言转换到Verilog语言算法表述,即自然语言综合。 (2)从算法表述转换到寄存器传输级(Register Transport Level,RTL)表 述,即从行为域到结构域的综合,也称行为综合。 (3)从RTL级表述转换到逻辑门(包括触发器)的表述,即逻辑综合。 (4)从逻辑门表述转换到版图级表述(如ASIC设计),或转换到FPGA的 配置网表文件,可称为版图综合或结构综合。 综合器就是能够将一种设计表述形式自动向另一种设计表述形式转换的 计算机程序,或协助进行手工转换的程序。它可以将高层次的表述转化为低 层次的表述,可以将行为域转化为结构域,可以将高一级抽象的电路描述 (如算法级)转化为低一级的电路描述(如门级),并可以用某种特定的 “技术”(如CMOS)实现。
1-11 解释编程与配置这两个概念。 答:基于电可擦除存储单元的EEPROM或Flash技术。CPLD一般使用 此技术进行编程(Progam)。CPLD被编程后改变了电可擦除存储单 元中的信息,掉电后可保持。 Altera的FPGA器件有两类配置下载方式:主动配置方式和被动配 置方式。主动配置方式由FPGA器件引导配置操作过程,它控制着外 部存储器和初始化过程,而被动配置方式则由外部计算机或控制器 控制配置过程。 对于SRAM型FPGA,在实用中必须利用专用配置器件来存储编程信 息,以便在上电后,该器件能对FPGA自动编程配置。 EPC器件中的EPC2型号的器件是采用Flash存储工艺制作的具有可 多次编程特性的配置器件。
图1-14 寄存器输出结构
1-7 什么是基于乘积项的可编程逻辑结构?什么是基于查找表的可编程逻辑 结构? 答:基于乘积项的可编程结构,即由可编程的“与”阵列和固定的“或”阵 列组成。 可编程的查找表(Look Up Table,LUT)结构,LUT是可编程的最小逻 辑构成单元。大部分FPGA采用基于SRAM(静态随机存储器)的查找表逻 辑形成结构,即用SRAM来构成逻辑函数发生器。一个N输入LUT可以实现N 个输入变量的任何逻辑功能,如N输入“与”、N输入“异或”等。 1-8 就逻辑宏单元而言,GAL中的OLMC、CPLD中的LC、FPGA中的LUT 和LE的含义和结构特点是什么?它们都有何异同点? 答:输出逻辑宏单元(Output Logic Macro Cell,OLMC),此结构使得 PLD器件在组合逻辑和时序逻辑中的可编程或可重构性能都成为可能。 MAX7000S系列器件包含32~256个逻辑宏单元(Logic Cell,LC),其单个 逻辑宏单元结构如图1-15所示。 LUT即可编程的查找表(Look Up Table,LUT)结构,是可编程的最小逻辑 构成单元。大部分FPGA采用基于SRAM(静态随机存储器)的查找表逻辑 形成结构,即用SRAM来构成逻辑函数发生器。一个N输入LUT可以实现N个 输入变量的任何逻辑功能,如N输入“与”、N输入“异或”等。 LE是Cyclone III FPGA器件的最基本的可编程单元,LE主要由一个4输入的 查找表LUT、进位链逻辑、寄存器链逻辑和一个可编程的寄存器构成。
第2章
Verilog程序结构与数据类型
习
题
2-1 wire型变量与reg型变量的什么本质区别,它们可用于什么类型语句中? 答:书上P33~35《第2章 Verilog程序结构与数据类型 》 线网(wire)表示硬件单元之间的连接。就像在真实的电路中一样,线网由其 连接器件的输出端连续驱动。线网不能储存值,而且它必须受到驱动器(例如门 或连续赋值语句,assign)的驱动。如果没有驱动源,则线网的值为z。 reg寄存器用来表示存储元件,它保持原有的数值,通过赋值语句可以改变 寄存器储存的值,其作用与改变触发器储存的值相当。reg类型数据的默认初始 值为不定值x。 定义为Net型的变量常被综合为硬件电路中的物理连接,其特点是输出的值 紧跟输入值的变化而变化,因此常被用来表示以assign关键词引导的组合电路 描述。 Register类型变量必须放在过程语句中,如initial、always引导的语句中, 通过过程赋值语句(包括阻塞与非阻塞语句)完成赋值操作,换言之,在always和 initial等过程结构内被赋值的变量必须定义成Variable类型。