EDA技术实用教程-VHDL版课后答案
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技术与vhdl设计答案
eda技术与vhdl设计答案eda技术与vhdl设计答案【篇一:eda技术与vhdl复习练习题】/p> 一、填空题1、pld的中文含义是:________。
2、asic的中文含义是:________。
3、“与-或”结构的可编程逻辑器件主要由四部分构成:________、________、____________和____________。
4、可编程逻辑器件结构图中一般用“x”表示此编程单元为________。
6、可编程逻辑器件结构图中无任何标记表示此编程单元为________。
7、可编程逻辑器件按规模的大小一般分为________和_________。
8、低密度可编程逻辑器件的主要有________和_________。
9、gal器件________取代全部pal器件。
10、pal器件只能________次编程。
11、gal器件能________次编程。
12、gal器件________取代ttl器件。
13、gal器件采用________擦除。
14、pal和gal器件________在系统编程。
15、pal和gal器件需要使用________编程。
二、选择题1、可编程逻辑器件pld的基本结构形式是_______:a:与——与b:与——或c:或——与d:或——或2、可以多次编程的器件是_______:a:prom b:plac:pal d:gal3、pld器件未编程时_______:a:有逻辑功能 b:没有逻辑功能c:pal器件有逻辑功能d:gal 器件有逻辑功能 4、gal器件可以用擦除:a:普通光 b:紫外线c:红外线 d:电5、gal16v8器件的输出引脚最多有______:a:16b:4 c:8 d:206、pal16v8器件的输入引脚最多有_______:a:16 b:4 c:8 d:207、gal16v8不能取代_________:a:pal16v b:74ls138c:74ls373 d:isplsi1032e-70plcc848、gal16v8的_______不可编程:a:与阵列b:或阵列c:输出逻辑宏单元olmc d:a、b都三、判断题1、gal器件的输出逻辑宏单元olmc不能实现pal器件的所有输出形式。
2023年大学_EDA技术与VHDL第二版(潘松著)课后习题答案下载
2023年EDA技术与VHDL第二版(潘松著)课后习题答案下载EDA技术与VHDL第二版(潘松著)课后答案下载第1章 EDA技术概述1.1 EDA技术及其发展1.1.1 EDA技术的发展1.1.2 EDA技术的涵义1.1.3 EDA技术的基本特征1.2 EDA技术的主要内容及主要的EDA厂商1.2.1 EDA技术的主要内容1.2.2 主要EDA厂商概述1.3 EDA技术实现目标1.3.1 超大规模可编程逻辑器件1.3.2 半定制或全定制ASIC1.3.3 混合ASIC1.4 EDA技术应用1.4.1 EDA技术应用形式1.4.2 EDA技术应用场合1.5 EDA技术的发展趋势1.5.1 可编程器件的发展趋势1.5.2 软件开发工具的发展趋势1.5.3 输入方式的发展趋势__小结思考题和习题第2章大规模可编程逻辑器件2.1 可编程逻辑器件概述2.1.1 PLD的'发展进程2.1.2 PLD的种类及分类方法2.2 简单可编程逻辑器件2.2.1 PLD电路的表示方法及有关符号 2.2.2 PROM基本结构2.2.3 PLA基本结构2.2.4 PAL基本结构2.2.5 GAL基本结构2.3 复杂可编程逻辑器件2.3.1 CPLD基本结构2.3.2 Altera公司器件2.4 现场可编程逻辑器件2.4.1 FPGA整体结构2.4.2 Xilinx公司FPGA器件2.5 在系统可编程逻辑器件2.5.1 ispLSl/pLSl的结构2.5.2 Lattice公司ispLSI系列器件 2.6 FPGA和CPLD的开发应用2.6.1 CPLD和FPGA的编程与配置2.6.2 FPGA和CPLD的性能比较2.6.3 FPGA和CPLD的应用选择__小结思考题和习题第3章 EDA设计流程与开发3.1 EDA设计流程3.1.1 设计输入3.1.2 综合3.1.3 适配3.1.4 时序仿真与功能仿真3.1.5 编程下载3.1.6 硬件测试3.2 ASIC及其设计流程3.2.1 ASIC设计方法3.2.2 一般的ASIC设计流程3.3 可编程逻辑器件的开发环境 3.4 硬件描述语言3.5 IP核__小结思考题和习题第4章硬件描述语言VHDL4.1 VHDL概述4.1.1 VHDL的发展历程4.1.2 VHDL的特点4.2 VHDL程序基本结构4.2.1 实体4.2.2 结构体4.2.3 库4.2.4 程序包4.2.5 配置4.3 VHDL基本要素4.3.1 文字规则4.3.2 数据对象4.3.3 数据类型4.3.4 运算操作符4.3.5 VHDL结构体描述方式 4.4 VHDL顺序语句4.4.1 赋值语句4.4.2 IF语句4.4.3 等待和断言语句4.4.4 cASE语句4.4.5 LOOP语句4.4.6 RETIARN语句4.4.7 过程调用语句4.4.8 REPORT语句4.5 VHDL并行语句4.5.1 进程语句4.5.2 块语句4.5.3 并行信号代人语句4.5.4 并行过程调用语句4.5.5 并行断言语句4.5.6 参数传递语句4.5.7 元件例化语句__小结思考题和习题第5章 QuartusⅡ软件及其应用5.1 基本设计流程5.1.1 建立工作库文件夹和编辑设计文件 5.1.2 创建工程5.1.3 编译前设计5.1.4 全程编译5.1.5 时序仿真5.1.6 应用RTL电路图观察器5.2 引脚设置和下载5.2.1 引脚锁定5.2.2 配置文件下载5.2.3 AS模式编程配置器件5.2.4 JTAG间接模式编程配置器件5.2.5 USBBlaster编程配置器件使用方法 __小结思考题和习题第6章 VHDL应用实例6.1 组合逻辑电路设计6.1.1 基本门电路设计6.1.2 译码器设计6.1.3 数据选择器设计6.1.4 三态门设计6.1.5 编码器设计6.1.6 数值比较器设计6.2 时序逻辑电路设计6.2.1 时钟信号和复位信号6.2.2 触发器设计6.2.3 寄存器和移位寄存器设计6.2.4 计数器设计6.2.5 存储器设计6.3 综合实例——数字秒表的设计__小结思考题和习题第7章状态机设计7.1 一般有限状态机7.1.1 数据类型定义语句7.1.2 为什么要使用状态机 7.1.3 一般有限状态机的设计 7.2 Moore型有限状态机设计 7.2.1 多进程有限状态机7.2.2 单进程有限状态机7.3 Mealy型有限状态机7.4 状态编码7.4.1 状态位直接输出型编码 7.4.2 顺序编码7.4.3 一位热码编码7.5 状态机处理__小结思考题和习题第8章 EDlA实验开发系统8.1 GW48型实验开发系统原理与应用8.1.1 系统性能及使用注意事项8.1.2 GW48系统主板结构与使用方法8.2 实验电路结构图8.2.1 实验电路信号资源符号图说明8.2.2 各实验电路结构图特点与适用范围简述8.3 GW48CK/GK/EK/PK2系统信号名与芯片引脚对照表 __小结思考题和习题第9章 EnA技术实验实验一:全加器的设计实验二:4位加减法器的设计实验三:基本D触发器的设计实验四:同步清零计数器的设计实验五:基本移位寄存器的设计串人/串出移位寄存器实验六:同步预置数串行输出移位寄存器的设计实验七:半整数分频器的设计实验八:音乐发生器的设计实验九:交通灯控制器的设计实验十:数字时钟的设计EDA技术与VHDL第二版(潘松著):内容简介《EDA技术与VHDL》主要内容有Altera公司可编程器件及器件的选用、QuartusⅡ开发工具的使用;VHDL硬件描述语言及丰富的数字电路和电子数字系统EDA设计实例。
EDA实用技术课后习题解答及课程意见
习题5-8设计一个7人表决电路,参加的表决的7人,同意为1,不同意为0,同意者过半则表决通过,绿指示灯亮;表决不通过则红指示灯亮。
图1 .bdf条件图2 RTL综合图实验5-4(3)完成半加器和全加器的设计Full_adder的VHDL语言:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY work;ENTITY f_adder ISPORT(cin : IN STD_LOGIC;bin : IN STD_LOGIC;ain : IN STD_LOGIC;count : OUT STD_LOGIC;sum : OUT STD_LOGIC);END f_adder;ARCHITECTURE bdf_type OF f_adder IS COMPONENT or2aPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;c : OUT STD_LOGIC);END COMPONENT;COMPONENT h_adderPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;co : OUT STD_LOGIC;so : OUT STD_LOGIC);END COMPONENT;SIGNAL SYNTHESIZED_WIRE_0 : STD_LOGIC; SIGNAL SYNTHESIZED_WIRE_1 : STD_LOGIC; SIGNAL SYNTHESIZED_WIRE_2 : STD_LOGIC; BEGINb2v_inst : or2aPORT MAP(a => SYNTHESIZED_WIRE_0,b => SYNTHESIZED_WIRE_1,c => count);b2v_inst1 : h_adderPORT MAP(a => ain,b => bin,co => SYNTHESIZED_WIRE_0,so => SYNTHESIZED_WIRE_2);b2v_inst2 : h_adderPORT MAP(a => SYNTHESIZED_WIRE_2,b => cin,co => SYNTHESIZED_WIRE_1,so => sum);END bdf_type;f_adder适配图f_adde r原理输入图f_adder时序仿真图h_adder的VHDL语言:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY H_ADDER ISPORT(a,b :IN STD_LOGIC;co, so:OUT STD_LOGIC);END ENTITY H_ADDER;ARCHITECTURE FH1 OF H_ADDER ISBEGINso <=NOT(a XOR (NOT B));co <=a AND b;END ARCHITECTURE FH1;RTL综合图习题6-8判断下面三个程序中是否有错误,若有则指出错误所在,并给出完整程序程序1:Signal A, EN : std_logic;Process(A, EN)Variable B:std_logic;Beginif EN = l then B<=A; end if; --将“B<=A”改成“B:=A”end process;程序2:Architecture one of sample isvariable a,b,c:integer;beginc<=a+b; --将“c<=a+b”改成“c:=a+b”end;完整程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mux21 isport(clk:in integer range 10 downto 0;d:out integer range 20 downto 0);end mux21;architecture one of mux21 isbeginprocess (clk)variable a,b:integer range 10 downto 0 ;variable c :integer range 20 downto 0 ;beginif clk = 1 thena:=10;b:=5;c:=a+b;d<=c;else c:=a-b;d<=c;end if;end process;end architecture one;RTL综合图仿真图程序3:library ieee;use ieee.std_logic_1164.all;entity mux21 isport(a,b:in std_logic; sel:in std_logic;c:out std_logic;); --将“;)”改成“)” end sam2; --将“sam2”改成“entity mux21” architecture one of mux2l isbegin --增加“process(a,b,sel) begin” if sel= '0' then c:=a; else c:=b; end if; --应改成“if sel= '0' then c<=a;else c<=b; end if;”--增加“end process;”end two; --将“two”改成“architecture one”完整程序:library ieee;use ieee.std_logic_1164.all;entity mux21 isport (a,b:in std_logic;sel:in std_logic;c :out std_logic);end entity mux21;architecture one of mux21 isbeginprocess(a,b,sel)beginif sel= '0' then c<=a; else c<=b; end if;end process;end architecture one;RTL综合图仿真图实验6-4 32位并进/并出移位寄存器设计仅用例6-8一个8位移位寄存器,再增加一些电路,如4个8位锁存器等,设计成为一个能为32位二进制数进行不同方式移位的移位寄存器。
《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);3-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 。
vhdl课后习题答案
vhdl课后习题答案VHDL课后习题答案在学习VHDL(VHSIC Hardware Description Language)这门课程时,课后习题是巩固知识、提高能力的重要方式。
通过认真完成课后习题并查看答案,我们可以更好地理解和掌握VHDL的相关知识,提高自己的编程能力。
下面我们将通过几个典型的VHDL课后习题答案来展示VHDL的魅力和应用。
1. 课后习题一题目:使用VHDL编写一个简单的门电路,包括AND门、OR门和NOT门,并进行仿真验证。
答案:首先,我们定义AND门、OR门和NOT门的输入输出信号。
然后,使用VHDL语言编写各个门电路的逻辑实现,并进行仿真验证。
最后,我们可以观察仿真波形图,验证门电路的功能是否符合预期。
2. 课后习题二题目:使用VHDL编写一个4位全加器,并进行综合、布线和时序分析。
答案:首先,我们定义全加器的输入输出信号。
然后,使用VHDL语言编写4位全加器的逻辑实现,并进行综合、布线和时序分析。
最后,我们可以观察综合和布线报告,分析全加器的资源利用情况和时序性能。
3. 课后习题三题目:使用VHDL编写一个有限状态机(FSM),实现一个简单的计数器,并进行状态转移图和状态转移表的分析。
答案:首先,我们定义有限状态机的状态和状态转移条件。
然后,使用VHDL 语言编写有限状态机的逻辑实现,并进行状态转移图和状态转移表的分析。
最后,我们可以观察状态转移图和状态转移表,验证有限状态机的状态转移是否符合预期。
通过以上几个VHDL课后习题答案的展示,我们可以看到VHDL在数字电路设计和硬件描述方面的强大应用。
通过学习VHDL并完成课后习题,我们可以提高自己的编程能力,掌握数字电路设计的基本原理和方法。
希望大家在学习VHDL的过程中能够认真完成课后习题,并不断提高自己的编程水平。
EDA技术使用教程课后答案第4章
【例4-8】 】 ... IF a1 > b1 THEN q1 <= '1' ; ELSE q1 <= '0' ; END IF; ...
的电路图( 综合) 图4-6 例4-8的电路图(Synplify综合) 的电路图 综合
图4-2 mux21a结构体 结构体
KX
康芯科技
4.1 多路选择器的 多路选择器的VHDL描述 描述
4.1.1 2选1多路选择器的 选 多路选择器的 多路选择器的VHDL描述 描述
【例4-1】 】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN y <= a WHEN s = '0' ELSE END ARCHITECTURE one ;
KX
康芯科技
4.2 寄存器描述及其 寄存器描述及其VHDL语言现象 语言现象
4.2.2 VHDL描述的语言现象说明 描述的语言现象说明 2. 设计库和标准程序包
LIBRARY LIBRARY WORK ; STD ;
图4-4 D触发器
USE STD.STANDARD.ALL ; 使用库和程序包的一般定义表式是: 使用库和程序包的一般定义表式是: LIBRARY USE <设计库名>; 设计库名>
< 设计库名>.<程序包名>.ALL ; 设计库名> 程序包名>
eda技术实用教程-veriloghdl答案
eda技术实用教程-veriloghdl答案【篇一:eda技术与vhdl程序开发基础教程课后答案】eda的英文全称是electronic design automation2.eda系统设计自动化eda阶段三个发展阶段3. eda技术的应用可概括为4.目前比较流行的主流厂家的eda软件有、5.常用的设计输入方式有原理图输入、文本输入、状态机输入6.常用的硬件描述语言有7.逻辑综合后生成的网表文件为 edif8.布局布线主要完成9.10.常用的第三方eda工具软件有synplify/synplify pro、leonardo spectrum1.8.2选择1.eda技术发展历程的正确描述为(a)a cad-cae-edab eda-cad-caec eda-cae-cadd cae-cad-eda2.altera的第四代eda集成开发环境为(c)a modelsimb mux+plus iic quartus iid ise3.下列eda工具中,支持状态图输入方式的是(b)a quartus iib isec ispdesignexpertd syplify pro4.下列几种仿真中考虑了物理模型参数的仿真是(a)a 时序仿真b 功能仿真c 行为仿真d 逻辑仿真5.下列描述eda工程设计流程正确的是(c)a输入-综合-布线-下载-仿真b布线-仿真-下载-输入-综合c输入-综合-布线-仿真-下载d输入-仿真-综合-布线-下载6.下列编程语言中不属于硬件描述语言的是(d)a vhdlb verilogc abeld php1.8.3问答1.结合本章学习的知识,简述什么是eda技术?谈谈自己对eda技术的认识?答:eda(electronic design automation)工程是现代电子信息工程领域中一门发展迅速的新技术。
2.简要介绍eda技术的发展历程?答:现代eda技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。
《VHDL应用教程》课后习题参考答案
第1章绪论1.1电子设计自动化1.2EDA技术,是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。
1.31、用软件的方式设计硬件。
2、用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的。
3、设计过程中可用有关软件进行各种仿真。
4、系统可现场编程,在线升级。
5、整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。
因此,EDA技术是现代电子设计的发展趋势。
1.4可编程逻辑器件(Programmable Logic Device,PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。
FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。
1.51、自顶向下设计方法是一种模块化设计方法。
它对设计的描述从上到下,逐步由粗略到详细,符合常规的逻辑思维习惯。
由于高层设计与器件无关,设计易于在各种集成电路工艺或可编程器件之间移植。
2、适合多个设计者同时进行设计。
随着技术的不断进步,许多设计由一个设计者已无法完成,而必须经过多个设计者分工协作来完成。
在这种情况下,应用自顶向下的设计方法便于多个设计者同时进行设计,对设计任务进行合理分配,并用系统工程的方法对设计进行管理。
第2章可编程逻辑器件2.1按结构的复杂程度分类、按互连结构分类、按可编程特性分类、按可编程器件的编程元件分类2.2主动串行配置式、主动并行配置模式、外设配置模式、从动串行配置模式、菊花链配置模式2.31、编程单元。
查找表型FPGA的编程单元为SRAM结构,可以无限次编程,但它属于易失性元件,掉电后芯片内的信息会丢失;而CPLD则采用EEPROM编程单元,不仅可无限次编程,且掉电后片内的信息不会丢失。
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技术与VHDL课后答案(第3版)潘松 黄继业
USE IEEE.STD_LOGIC_1164.ALL ;
ENTITY 8f_suber IS
PORT ( x0,x1,x2,x3,x4,x5,x6,x7 : IN STD_LOGIC ;
y0,y1,y2,y3,y4,y5,y6,y7 : IN STD_LOGIC ;
sub_in : IN STD_LOGIC ;
ELSIF u2_y<= u2_b ;
ELSE u2_y<= NULL ;
END IF ;
END PROCESS p_ MUX21A_u2 ;
u1_s<= s0 ; u1_a<= a2 ; u1_b<= a3 ;
tmp<= u1_y ;
u2_s<=s1 ; u2_a<= a1 ; u2_b<= tmp;
diff=>diff2 ) ;
u3 : f_suber PORT MAP (x=>x3, y=>y3, sub_in=>c, sub_out=>d,
diff=>diff3 ) ;
u4 : f_suber PORT MAP (x=>x4, y=>y4, sub_in=>d, sub_out=>e,
diff=>diff4 ) ;
sub_in x y
sub_out
diffr
0
x
0
y
0
f_suber
sub_in x y
sub_out
diffr
1
x
1
y
1
f_suber
sub_in x y
sub_out
diffr
EDA技术与VHDL基础课后习题答案
《EDA技术与VHDL基础》课后习题答案第一章EDA技术概述一、填空题一、电子设计自动化二、超级高速集成芯片硬件描述语言3、CAD、CAE、EDA4、原理图输入、状态图输入、文本输入五、VHDL、Verilog HDL六、硬件特性二、选择题一、A二、C3、A4、D五、C六、D7、A第二章可编程逻辑器件基础一、填空题一、PLD二、Altera公司、Xilinx公司、Lattice公司3、基于反熔丝编程的FPGA4、配置芯片二、选择题一、D二、C3、C4、D第三章VHDL程序初步——程序结构一、填空题一、结构、行为、功能、接口二、库和程序包、实体、结构体、配置3、实体名、类型表、端口表、实体说明部份4、结构体说明语句、功能语句五、端口的大小、实体中子元件的数量、实体的按时特性六、设计库7、元件、函数八、进程PROCESS、进程PROCEDURE九、顺序语句、并行语句二、选择题一、D二、C3、C4、B五、D六、B7、A八、C三、简答题二、LIBRARY IEEE;USE nand_3in ISPORT(a,b,c:IN STD_LOGIC;y:OUT STD_LOGIC); END;ARCHITECTURE bhv OF nand_3in IS BEGINy<=NOT(a AND b AND c);END bhv;五、0000六、(247)第四章VHDL基础一、填空题一、顺序语句、并行语句二、跳出本次循环3、等待、信号发生转变时4、函数、进程五、值类属性、函数类属性、信号类属性、数据类型类属性、数据范围类属性六、程序调试、时序仿真7、子程序、子程序二、选择题一、B二、A3、A4、C五、B六、C7、D三、判定题一、√二、√3、√4、√五、×六、×四、简答题九、修更正确如下所示:LIBRARY IEEE;USE 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;…1一、修更正确如下所示: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;1二、(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;1五、(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<= count1六、修更正确如下所示:LIBRARY IEEE;USE 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 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、实体名二、FPGA、CPLD3、.vhd4、输入、综合、适配、仿真、下载五、RTL Viewer、Technology Map Viewer六、功能、参数含义、利用方式、硬件描述语言、模块参数设置7、mif、hex八、根目录二、选择题一、C二、D第七章有限状态机设计一、设计题1、LIBRARY IEEE;USE 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;二、LIBRARY IEEE;USE 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_state<=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 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、输入信号、所处状态二、组合逻辑、时序逻辑3、触发器、14、D触发器、RS触发器、JK触发器、T触发器二、选择题一、A二、C。
eda技术实用教程verilog答案
eda技术实用教程verilog答案【篇一:eda技术实用教程课后答案---潘松,黄继业】端有四个输入:s0、s1、s2、s3。
当且仅当s0=0时:y=a;s1=0时:y=b;s2=0时:y=c;s3=0时:y=d。
--解:4选1多路选择器vhdl程序设计。
library ieee;use ieee.std_logic_1164.all; entity mux41a isport( a,b,c,d : in std_logic;s0,s1,s2,s3 : in std_logic; y : outstd_logic); end entity mux41a;architecture one of mux41a issignal s0_3 : std_logic_vector(3 downto 0); begins0_3=s0s1s2s3;y=a when s0_3=0111 else b when s0_3=1011 else c whens0_3=1101 else d when s0_3=1110 else z;end architecture one;3-4 给出1位全减器的vhdl描述;最终实现8位全减器。
要求:1)首先设计1位半减器,然后用例化语句将它们连接起来,图4-20中h_suber是半减器,diff是输出差a xin (diff=x-y),s_out是借位输出(s_out=1,xy),sub_in是借位输入。
diff_out cyinb图3-19 1位全加器--解(1.1):实现1位半减器h_suber(diff=x-y;s_out=1,xy)library ieee;use ieee.std_logic_1164.all; entity h_suber isport( x,y: in std_logic;diff,s_out: out std_logic); end entityh_suber;architecture hs1 of h_suber is begindiff = x xor (not y);s_out = (not x) and y;end architecture hs1;--解(1.2):采用例化实现图4-20的1位全减器library ieee; --1位二进制全减器顺层设计描述 useieee.std_logic_1164.all; entity f_suber isport(xin,yin,sub_in: in std_logic;sub_out,diff_out: outstd_logic); end entity f_suber;architecture fs1 of f_suber iscomponent h_suber --调用半减器声明语句port(x, y: instd_logic; diff,s_out: out std_logic); end component;signal a,b,c: std_logic; --定义1个信号作为内部的连接线。
《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),即从行为域到结构域的综合,即行为综合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章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)。
综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。
1-4在EDA技术中,自顶向下的设计方法的重要意义是什么? P7~10答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。
1-5 IP在EDA技术的应用和发展中的意义是什么? P11~12答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。
第二章2-1 叙述EDA的FPGA/CPLD设计流程。
P13~16答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。
2-2 IP是什么?IP与EDA技术的关系是什么? P24~26IP是什么? 答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。
IP与EDA技术的关系是什么?答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP 通常是以硬件描述语言HDL源文件的形式出现。
固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。
硬IP提供设计的最终阶段产品:掩模。
2-3 叙述ASIC的设计方法。
P18~19答:ASIC设计方法,按版图结构及制造方法分有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。
全定制方法是一种基于晶体管级的,手工设计版图的制造方法。
半定制法是一种约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。
半定制法按逻辑实现的方式不同,可再分为门阵列法、标准单元法和可编程逻辑器件法。
2-4 FPGA/CPLD在ASIC设计中有什么用途? P16,18答:FPGA/CPLD在ASIC设计中,属于可编程ASIC的逻辑器件;使设计效率大为提高,上市的时间大为缩短。
2-5 简述在基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具,及其在整个流程中的作用。
P19~23答:基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具有:设计输入编辑器(作用:接受不同的设计输入表达方式,如原理图输入方式、状态图输入方式、波形输入方式以及HDL的文本输入方式。
);HDL综合器(作用:HDL综合器根据工艺库和约束条件信息,将设计输入编辑器提供的信息转化为目标器件硬件结构细节的信息,并在数字电路设计技术、化简优化算法以及计算机软件等复杂结体进行优化处理);仿真器(作用:行为模型的表达、电子系统的建模、逻辑电路的验证及门级系统的测试);适配器(作用:完成目标系统在器件上的布局和布线);下载器(作用:把设计结果信息下载到对应的实际器件,实现硬件设计)。
第三章3-1 OLMC(输出逻辑宏单元)有何功能?说明GAL是怎样实现可编程组合电路与时序电路的。
P34~36 OLMC有何功能? 答:OLMC单元设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、寄存器输出、寄存器输出双向口等。
说明GAL是怎样实现可编程组合电路与时序电路的? 答:GAL(通用阵列逻辑器件)是通过对其中的OLMC (输出逻辑宏单元)的编程和三种模式配置(寄存器模式、复合模式、简单模式),实现组合电路与时序电路设计的。
3-2 什么是基于乘积项的可编程逻辑结构? P33~34,40答:GAL、CPLD之类都是基于乘积项的可编程结构;即包含有可编程与阵列和固定的或阵列的PAL(可编程阵列逻辑)器件构成。
3-3 什么是基于查找表的可编程逻辑结构? P40~41答:FPGA(现场可编程门阵列)是基于查找表的可编程逻辑结构。
3-4 FPGA系列器件中的LAB有何作用? P43~45答:FPGA(Cyclone/Cyclone II)系列器件主要由逻辑阵列块LAB、嵌入式存储器块(EAB)、I/O单元、嵌入式硬件乘法器和PLL等模块构成;其中LAB(逻辑阵列块)由一系列相邻的LE(逻辑单元)构成的;FPGA可编程资源主要来自逻辑阵列块LAB。
3-5 与传统的测试技术相比,边界扫描技术有何优点? P47~50答:使用BST(边界扫描测试)规范测试,不必使用物理探针,可在器件正常工作时在系统捕获测量的功能数据。
克服传统的外探针测试法和“针床”夹具测试法来无法对IC内部节点无法测试的难题。
3-6 解释编程与配置这两个概念。
P58答:编程:基于电可擦除存储单元的EEPROM或Flash技术。
CPLD一股使用此技术进行编程。
CPLD被编程后改变了电可擦除存储单元中的信息,掉电后可保存。
电可擦除编程工艺的优点是编程后信息不会因掉电而丢失,但编程次数有限,编程的速度不快。
配置:基于SRAM查找表的编程单元。
编程信息是保存在SRAM中的,SRAM在掉电后编程信息立即丢失,在下次上电后,还需要重新载入编程信息。
大部分FPGA采用该种编程工艺。
该类器件的编程一般称为配置。
对于SRAM 型FPGA来说,配置次数无限,且速度快;在加电时可随时更改逻辑;下载信息的保密性也不如电可擦除的编程。
3-7 请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻辑结构的PLD器件归类为CPLD;将基于查找表的可编程逻辑结构的PLD器什归类为FPGA,那么,APEX系列属于什么类型PLD器件? MAX II系列又属于什么类型的PLD器件?为什么? P54~56答:APEX(Advanced Logic Element Matrix)系列属于FPGA类型PLD器件;编程信息存于SRAM中。
MAX II 系列属于CPLD类型的PLD器件;编程信息存于EEPROM中。
第四章4-1:画出与下例实体描述对应的原理图符号元件:ENTITY buf3s IS -- 实体1:三态缓冲器PORT (input : IN STD_LOGIC ; -- 输入端enable : IN STD_LOGIC ; -- 使能端output : OUT STD_LOGIC ) ; -- 输出端END buf3x ;ENTITY mux21 IS --实体2: 2选1多路选择器PORT (in0, in1, sel : IN STD_LOGIC;output : OUT STD_LOGIC);4-1.答案4-2. 图3-30所示的是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。
4-2.答案LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --输入选择信号a,b,c,d:IN STD_LOGIC; --输入信号y:OUT STD_LOGIC);--输出端END ENTITY;ARCHITECTURE ART OF MUX41 ISBEGINPROCESS(s)BEGINIF (S="00") THEN y<=a;ELSIF (S="01") TH EN y<=b;ELSIF (S="10") TH EN y<=c;ELSIF (S="11") TH EN y<=d;ELSE y<=NULL;END IF;EDN PROCESS;END ART;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(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 ISBEGINPROCESS(s)BEGINCASE s ISWHEN “00” => y<=a;WHEN “01” => y<=b;WHEN “10” => y<=c;WHEN “11” => y<=d;WHEN OTHERS =>NULL;END CASE;END PROCESS;END ART;4-3. 图3-31所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s='0'和'1'时,分别有y<='a'和y<='b'。