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实验课后习题答案

1.功能仿真和时序仿真有何不同?为什么?答:EDA 中功能仿真是纯理论的仿真,功能仿真不考虑信号传送过程中的延迟。
仿真结果可以和我们的真值表对应起来。
而时序仿真则要考虑信号传送过程中的延迟,有可能出现竞争冒险等。
时序仿真比较接近实际。
由图(2)(3)中可知时序仿真中的波形有一小段时间比功能仿真中的波形多了一个BCD码--13。
因为功能仿真只是考虑元件的理想功能,而时序仿真考虑到实际元器件的信号延时、输入/输出时间的延时、触发器的建立/保持时间、寄存器的性能等等1,什么是同步清零和异步清零?同步清零就是把清零信号和时钟信号与或者与非处理后输入到清零端,异步清零的清零信号直接输入到清零端。
同步清零可以保证状态在时钟的有效期内不会改变。
就是说,同步清零要与时钟同步触发,而异步清零就不关心时钟上升沿是否到来。
2,BCD计数器和一般二进制计数器有何差别?用4位二进制数来表示1位十进制数中的0~9这10个数码,简称BCD码。
称BCD码或二-十进制代码,亦称二进码十进数。
是一种二进制的数字编码形式,用二进制编码的十进制代码。
由于十进制数共有0、1、2、……、9十个数码,因此,至少需要4位二进制码来表示1位十进制数。
4位二进制码共有2^4=16种码组,在这16种代码中,可以任选10种来表示10个十进制数码,共有N=16!/(16-10)!约等于2.9乘以10的10次方种方案。
二进制计数器是数字系统中用得较多的基本逻辑器件。
它不仅能记录输入时钟脉冲的个数,还可以实现分频、定时、产生节拍脉冲和脉冲序列等。
例如,计算机中的时序发生器、分频器、指令计数器等都要使用计数器。
计数器的种类很多。
按时钟脉冲输入方式的不同,可分为同步计数器和异步计数器;按进位体制的不同,可分为二进制计数器和非二进制计数器;按计数过程中数字增减趋势的不同,可分为加计数器、减计数器和可逆计数器3.键盘为什么要防抖动?如何防抖动?主要目的是为了提高按键输入可靠性,由于机械触点的弹性振动,按键在按下时不会马上稳定地接通而在弹起时也不能一下子完全地断开,因而在按键闭合和断开的瞬间均会出现一连串的抖动,这称为按键的抖动干扰。
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技术使用教程课后答案第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技术课后参考答案(陈炳权_曾庆立)之欧阳歌谷创编

答案由个人做出,可能有不全或错误之处,欢迎大家批评指正。
欧阳歌谷(2021.02.01)第一章1.EDA的英文全称及其中文含义是什么?答:EDA是Electronic Design Automation,其中文含义是“电子设计自动化”。
2.什么叫EDA技术?简述EDA技术的发展历程。
答:EDA技术有狭义和广义之分,狭义EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。
3.简述用EDA技术设计电路的设计流程。
答EDA设计流程包括:设计准备、设计输入、设计处理、设计校验、器件编程、器件测试和设计验证。
4.什么叫”综合”和”网表文件”?答:(A)在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
(1)从自然语言转换到VHDL 语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从RTL 级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC 设计),或转换到 FPGA 的配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中处于核心地位。
(B)文件是描述电路的连接关系的文件,一般以文本文件的形式存在。
英文为 netlist file格式有cdl, spice, aucdl...等5.从使用的角度来讲,EDA技术主要包括几个方面的内容?这几个方面在整个电子系统的设计中分别起什么作用?答: EDA技术的学习主要应掌握4个方面的内容:①大规模可编程逻辑器件;②硬件描述语言;③软件开发工具;④实验开发系统。
智慧树知道网课《EDA技术》课后章节测试满分答案

智慧树知道网课《EDA技术》课后章节测试满分答案绪论单元测试1【多选题】(10分)学习EDA技术这门课程的具体要求是()A.初步掌握基于FPGA的VLSI系统设计与实现的方法和技术,具备分析、解决实际问题的能力,具有较强的专业实践能力和创新能力。
B.较好地掌握应用EDA技术进行系统设计开发的方法,具备应用EDA技术进行综合性数字系统设计的初步能力,经过后续的综合应用实践,能够从事FPGA的设计与开发、SOPC的设计与开发以及ASIC 的前端设计等工作。
C.掌握EDA技术的基本概念、基础知识;了解FPGA/CPLD的结构、工作原理、性能指标及应用选择;熟练掌握硬件描述语言VHDL的编程;熟练掌握EDA技术的开发软件及EDA实验开发系统的使用。
2【多选题】(10分)学习EDA技术这门课程,我们希望达到的学习目标是()A.基本掌握ASIC的后端设计与开发B.基本掌握ASIC的前端设计与开发C.掌握一种硬件描述语言VHDLD.基本掌握SOC的设计与开发方法E.基本掌握SOPC的设计与开发方法F.熟悉FPGA的设计与开发3【多选题】(10分)EDA技术课程的学习要点是()A.以课题为中心,以研究式教学为主要形式B.抓住一个重点(硬件描述语言编程)C.掌握两个工具(FPGA/CPLD开发软件、EDA实验开发系统的使用)D.运用四种手段(案例分析、应用设计、线上学习、上机实践)E.采用五个结合(边学边用相结合、边用边学相结合、理论与实践相结合、线上与线下相结合、课内与课外相结合)第一章测试1【单选题】(10分)EDA的中文含义是()A.计算机辅助工程设计B.计算机辅助设计C.电子设计自动化2【判断题】(10分)狭义的EDA技术,就是指以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。
EDA技术实用教程习题答案——潘松黄继业

EDA技术实用教程潘松黄继业第一章1-1 EDA技术与ASIC设计和FPGA开发有什么关系?答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
1-2与软件描述语言相比,VHDL有什么特点?答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。
eda 习题答案习题王金明

eda 习题答案习题王金明
EDA 习题答案习题王金明
在学习数据分析的过程中,掌握有效的数据分析方法和技巧是非常重要的。
而EDA(Exploratory Data Analysis)作为数据分析的第一步,对于理解数据的特征和规律起着至关重要的作用。
在这个过程中,习题王金明成为了许多学生的良师益友,他总是能够耐心地解答学生们遇到的难题,帮助他们更好地理解和掌握数据分析的知识。
习题王金明在数据分析领域拥有丰富的经验和深厚的理论功底,他善于运用各种数据分析工具和技术,能够快速准确地分析数据,发现其中的规律和趋势。
他不仅能够熟练运用统计学和数学知识进行数据分析,还能够结合实际问题,提出切实可行的解决方案,为学生们在数据分析领域指明了一条清晰的学习路径。
在习题王金明的帮助下,许多学生在数据分析方面取得了显著的进步。
他总是耐心地解答学生们提出的各种问题,给予他们积极的指导和建议,帮助他们更好地理解和掌握数据分析的知识。
他的教学风格幽默风趣,深入浅出,让学生们在轻松愉快的氛围中学习数据分析,收获了知识和乐趣。
习题王金明的教学方法和风格深受学生们的喜爱和赞誉,他的课程总是受到学生们的热烈欢迎。
他不仅仅是一位优秀的数据分析师,更是一位教学大师,他用自己的实际行动影响和激励着更多的学生,让他们对数据分析充满热情和信心。
在今后的学习和工作中,我们应该向习题王金明学习,不断提升自己的数据分析能力,努力成为一名优秀的数据分析师,为社会和企业的发展贡献自己的力
量。
同时,我们也要将习题王金明的教学精神传承下去,帮助更多的人掌握数据分析的知识,实现自己的人生价值。
让我们共同努力,为数据分析领域的发展贡献自己的力量!。
- 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(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 1-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~26 IP是什么 答: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 MUX41 IS PORT(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 IS BEGIN PROCESS(s) BEGIN IF (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 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; 4-3. 图3-31所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s='0'和'1'时,分别有y<='a'和y<='b'。试在一个结构体中用两个进程来表达此电路,每个进程中用CASE语句描述一个2选1多路选择器MUX21A。