eda实验课后习题答案
EDA课后答案打印版
红外多路遥控系统单片机红外发射红外接收本文介绍了红外多路遥控系统。
红外多路遥控系统可实现16路的红外开关控制。
以码分制多通道红外遥控为设计的基本思路。
通过键盘及代码生成电路、编码、脉冲调制振荡和红外发射构成红外发射电路。
通过红外接收,解码以及由单片机控制的医码控制电路组成红外接收电路。
1.前言1.1序言随着电子技术的飞速发展,尤其是跨入2000年后,红外技术得到了迅猛发展。
红外遥控已渗透到国民经济的各行各业和人们日常生活的方方面面,在工业自动化、生产控制过程、采集和处理、通信、红外制导、激光武器、电子对抗、环境监测、红外育种安全防范、家用电器控制及日常生活各个方面都得到了广泛的应用。
1.2国内外研究概况目前国内外都在进行红外的研究开发,已取得了相当不错的成绩。
红外技术的研究开发是自动化控制的主要方向。
它的研究针对国民经济的各行各业和人们日常生活的方方面面,在工业自动化、生产控制过程、采集和处理、通信、红外制导、激光武器、电子对抗、环境监测、红外育种安全防范、家用电器控制及日常生活各个方面都在进行红外研究开发和控制。
1.3主要工作概述针对国内外的发展情况,可见红外遥控系统是我国未来智能化发展方向。
本课题要设计的红外多路遥控系统,主要红外发射和红外接收这两部分,本设计依托市面上常见的红外发射和红外接收元器件,使设计具有传输距离一般、硬件简单、安装方便、价格便宜的优点。
本文所介绍的红外多路遥控系统,是采用码分制多通道红外遥控系统装置。
早期的码分制的脉冲指令编码多采用分离元器件及小规模数字集成电路,编码、译码电路弄得很复杂,可靠性也差。
但随着大规模数字集成技术的发展和日趋成熟,各种大规模专用集成编、译码集成器件的层出不穷,使外围元器件很少,电路简单,功能完善。
2.系统总体方案设计2.1方案比较方案一:采用频分制多通道红外遥控发射和接收系统。
频分制的频率编码一般采用频道编码开关,通过改变振荡电路的参数来改变振荡电路的振荡参数和频率。
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技术实用教程(第五版)》习题答案(第1~10章) 潘
《EDA技术实用教程(第五版)》习题答案(第1~10章)潘《eda技术实用教程(第五版)》习题答案(第1~10章)--潘EDA技术实践课程练习(第五版)1习题1-1 EDA技术与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)从算法表示到寄存器传输层(RTL),即从行为域到结构域的综合,即行为综合。
EDA课后答案(适用于《EDA技术及应用》)
1.1、设计集成计数器74161,设计要求如下:4-BIT BINARY UP COUNTER WITH SYNCHRONOUS LOAD AND ASYNCHRONOUS CLEAR NOTEINPUTS: CLK LDN CLRN D C B AOUTPUTS:QD QC QB QA RCO*RCO = QD & QC & QB & QALIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4 ISPORT(CLK,LDN,CLRN : IN STD_LOGIC;D,C,B,A : IN STD_LOGIC;CARRY : OUT STD_LOGIC;QD,QC,QB,QA : OUT STD_LOGIC);END;ARCHITECTURE A OF CNT4 ISSIGNAL DATA_IN: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINDATA_IN<=D&C&B&A;PROCESS(DATA_IN,CLK,LDN,CLRN)VARIABLE CNT:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF CLRN='0' THENCNT:=(OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF LDN='0' THENCNT:=DATA_IN;ELSECNT:=CNT+1;END IF;END IF;CASE CNT ISWHEN "1111"=> CARRY<='1';WHEN OTHERS=> CARRY<='0';END CASE;QA<=CNT(0);QB<=CNT(1);QC<=CNT(2);QD<=CNT(3);END PROCESS;END A;1.2、设计一个通用双向数据缓冲器,要求缓冲器的输入和输出端口的位数可以由参数决定。
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实用技术课后习题解答及课程意见
习题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实验答案
2.2异步清零同步使能的一位十进制减法计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT(CLK,RST,EN:IN STD_LOGIC;DOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END CNT10;ARCHITECTURE behav OF CNT10 ISBEGINPROCESS(CLK,RST,EN)VARIABLE Q:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF RST='0' THEN Q:=(OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF EN='1' THENIF Q>0 THEN Q:=Q-1 ;ELSEQ:="1001";END IF;END IF;END IF;IF Q="0000" THEN COUT<='1';ELSE COUT<='0';END IF;DOUT<=Q;END PROCESS;END behav;2.1异步清零同步使能的一位十进制加法计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY uc10 ISPORT(CLK,RST,EN:IN STD_LOGIC;DATA:IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END uc10;ARCHITECTURE behav OF uc10 ISBEGINPROCESS(CLK,RST,EN)VARIABLE Q:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF RST='0' THEN Q:=(OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF EN='1' THENIF Q<9 THEN Q:=Q+1;ELSE Q:=(OTHERS=>'0');END IF;END IF;END IF;IF Q="1001" THEN COUT<='1';ELSE COUT<='0';END IF;DOUT<=Q;END PROCESS;END behav;2.3利用D触发器设计异步4位二进制加法计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF2 ISPORT(rst,clk:IN STD_LOGIC;qout:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);c:OUT STD_LOGIC);END ENTITY DFF2;ARCHITECTURE df OF DFF2 ISCOMPONENT dffsPORT(CLK,RST,D:IN STD_LOGIC;Q,QB:OUT STD_LOGIC);END COMPONENT;SIGNAL e,f,g,h:STD_LOGIC;BEGINu1:dffs PORT MAP(RST=>rst,D=>e,CLK=>clk,Q=>qout(0),QB=>e);u2:dffs PORT MAP(RST=>rst,D=>f,CLK=>e,Q=>qout(1),QB=>f);u3:dffs PORT MAP(RST=>rst,D=>g,CLK=>f,Q=>qout(2),QB=>g);u4:dffs PORT MAP(RST=>rst,D=>h,CLK=>g,Q=>qout(3),QB=>h);c<=NOT(qout(0) OR qout(1) OR qout(2) OR qout(3));END ARCHITECTURE df;3.周期性输出一个脉冲,待输出序列可以通过预置输入LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FSM ISPORT(clk,load:IN STD_LOGIC;data:IN STD_LOGIC_VECTOR(3 DOWNTO 0);q:OUT STD_LOGIC);END FSM;ARCHITECTURE bhv OF FSM ISTYPE STATES IS(s0,s1,s2,s3);SIGNAL c_st,next_state:STATES;SIGNAL a:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINREG:PROCESS(load,clk) BEGINIF load='1' THEN a<=data; end IF;IF CLK='1' AND CLK'EVENT THEN c_st<=next_state;END IF; END PROCESS REG;COM:PROCESS(c_st) BEGINCASE c_st ISWHEN s0=>q<=a(3);next_state<=s1;WHEN s1=>q<=a(2);next_state<=s2;WHEN s2=>q<=a(1);next_state<=s3;WHEN s3=>q<=a(0);next_state<=s0;WHEN OTHERS=>next_state<=s0;END CASE;END PROCESS COM;END bhv;4.巴克码识别LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SCHK ISPORT(DIN,CLK,RST:IN STD_LOGIC;SOUT:OUT STD_LOGIC);END SCHK;ARCHITECTURE BHV OF SCHK ISTYPE STATES IS(s0,s1,s2,s3,s4,s5,s6,s7);SIGNAL ST,NST:STATES:=s0;BEGINCOM:PROCESS(ST,DIN) BEGINCASE ST IS--1110010WHEN s0=> IF DIN='1' THEN NST<=s1;ELSE NST<=s0;END IF;WHEN s1=> IF DIN='1' THEN NST<=s2;ELSE NST<=s0;END IF;WHEN s2=> IF DIN='1' THEN NST<=s3;ELSE NST<=s0;END IF;WHEN s3=> IF DIN='0' THEN NST<=s4;ELSE NST<=s3;END IF;WHEN s4=> IF DIN='0' THEN NST<=s5;ELSE NST<=s1;END IF;WHEN s5=> IF DIN='1' THEN NST<=s6;ELSE NST<=s0;END IF;WHEN s6=> IF DIN='0' THEN NST<=s7;ELSE NST<=s2;END IF;WHEN s7=> IF DIN='0' THEN NST<=s0;ELSE NST<=s1;END IF;WHEN OTHERS =>NST<=s0;END CASE;END PROCESS;REG: PROCESS (CLK,RST) BEGINIF RST='1' THEN ST<=s0;ELSIF CLK'EVENT AND CLK='1' THEN ST<=NST;END IF; END PROCESS REG;SOUT<='1' WHEN ST=s7 ELSE '0';END BHV;5.数控分频器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MHZ ISPORT(CLK:IN STD_LOGIC;OUTP:OUT STD_LOGIC);END MHZ;ARCHITECTURE BHV OF MHZ ISSIGNAL CLKT: STD_LOGIC;SIGNAL OUTM,OUTM_TMP:STD_LOGIC;SIGNAL COUNTM:INTEGER RANGE 47 DOWNTO 0; SIGNAL L:INTEGER RANGE 243 DOWNTO 0;SIGNAL TONE: INTEGER RANGE 243 DOWNTO 0; BEGINPROCESS(CLK)VARIABLE Q:STD_LOGIC_VECTOR(15 DOWNTO 0); BEGINIF CLK'EVENT AND CLK='1' THENIF Q=31999 THEN Q:=(OTHERS=>'0');CLKT<='1';ELSE Q:=Q+1;CLKT<='0';END IF;END IF;END PROCESS;PROCESS(CLKT)BEGINIF CLKT'EVENT AND CLKT='1' THENIF COUNTM=47 THEN COUNTM<=0;ELSE COUNTM<=COUNTM+1;END IF;END IF;END PROCESS;PROCESS(COUNTM)BEGINCASE COUNTM ISWHEN 0 => TONE<=163;WHEN 1 => TONE<=163;。
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技术课后练习题含答案
数字系统设计与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课后习题答案
注意:关键字都是小写的。如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技术课后参考答案(陈炳权_曾庆立)
问案由部分干出,大概有不齐大概过失之处,欢迎大家批评指正.之阳早格格创做第一章1.EDA的英文齐称及其华文含意是什么?问:EDA是Electronic Design Automation,其华文含意是“电子安排自动化”.2.什么喊EDA技能?简述EDA技能的死长历程.问:EDA技能有狭义战广义之分,狭义EDA技能便是以大规模可编程逻辑器件为安排载体,以硬件形貌谈话为系统逻辑形貌的主要表白办法,以估计机、大规模可编程逻辑器件的启垦硬件及真验启垦系统为安排工具,通过有闭的启垦硬件,自动完毕用硬件的办法安排的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分隔、逻辑概括及劣化、逻辑筹备布线、逻辑仿真,曲至完毕对付于特定目标芯片的适配编译、逻辑映射、编程下载等处事,最后产死集成电子系统大概博用集成芯片的一门新技能,大概称为IES/ASIC自动安排技能..问EDA安排过程包罗:安排准备、安排输进、安排处理、安排校验、器件编程、器件尝试战安排考证.4.什么喊”概括”战”网表文献”?问:(A)正在电子安排范畴中概括的观念不妨表示为:将用止为战功能条理表白的电子系统变更为矮条理的便于简曲真止的模块拉拢拆置的历程.(1)从自然谈话变更到VHDL 谈话算法表示,即自然谈话概括.(2)从算法表示变更到寄存器传输级(RegisterTransport Level,RTL),即从止为域到结构域的概括,即止为概括.(3)从 RTL 级表示变更到逻辑门(包罗触收器)的表示,即逻辑概括.(4)从逻辑门表示变更到版图表示(ASIC 安排),大概变更到 FPGA 的摆设网表文献,可称为版图概括大概结构概括. 概括正在电子安排自动化中处于核心底位.(B)文献是形貌电路的对接闭系的文献,普遍以文本文献的形式存留.英文为 netlist file要收有cdl, spice, aucdl...等5.从使用的角度去道,EDA技能主要包罗几个圆里的真量?那几个圆里正在所有电子系统的安排中分别起什么效用?问: EDA技能的教习主要应掌握4个圆里的真量:①大规模可编程逻辑器件;②硬件形貌谈话;③硬件启垦工具;④真验启垦系统.6.姑且流通的合流厂家的EDA的硬件工具备哪些?比较那些EDA硬件的好别.问: (1)姑且比较流通的合流厂家的EDA的硬件工具备Altera的MAX+plus II、Quartus II 、Lattice的ispEXPERT、Xilinx的Foundation Series.(2)Max+plus II 是A1tera公司推出的一个使用非常广大的EDA硬件工具,它支援本理图、VHDL战Verilog谈话的文本文献,以及波形图与EDIF等要收的文献动做安排输进,并支援那些文献的任性混同安排.它具备门级仿真器,不妨举止功能仿真战时序仿真,不妨爆收透彻的仿真截止.正在适配之后,Max+plus II死成供时序仿真用的Edif、VHDL战Verilog 3种分歧要收的网表文献.Max+plus II界里友佳,使用便利,被毁为业界最易教易用的EDA硬件,并支援合流的第三圆EDA工具,支援除APEx20K系列除中的所有A1tera公司的FPGA/CPLD 大规模逻辑器件.Quartus II是A1tera公司新近推出的EDA硬件工具,其安排工具真足支援VHDL战Verilog的安排过程,其里里嵌有VHDL、Verilog逻辑概括器.第三圆的概括工具,如Leonardo Spectrum、Synplify pro战FPGA Compiler II有着更佳的概括效验,Quartus II不妨间接调用那些第三圆工具,果此常常修议使用那些工具去完毕VHDL/Verilog源步调的概括.共样,Quartus II具备仿真功能,也支援第三圆的仿真工具,如Modelsim.别的,Quartus II为A1tera DSP启垦包举止系统模型安排提供了集成概括环境,它与MATLAB战DSP Builder分离不妨举止鉴于FPGA的DSP系统启垦,是DSP硬件系统真止的闭键EDA工具.Quartus II还可与SOPC Builder分离,真止SOPC系统启垦. ispExPERT是Lattice公司的主要集成环境.通过它不妨举止VHDL、Verilog及ABEL谈话的安排输进、概括、适配、仿真战正在系统下载.ispExPERT是姑且流通的EDA硬件中最简单掌握的安排工具之一,它界里友佳、支配便当、功能强盛,并与第三圆EDA工具兼容良佳.Foundation Series是Xilinx公司较老练的集成启垦EDA工具.它采与自动化的、完备的集成安排环境.Foundation名目管造器集成Xilinx真止工具,并包罗了强盛的书籍馆Synopsys FPGA Express概括系统,是业界最强盛的EDA安排工具之一.7. 简要道述EDA技能的死长趋势战应用范畴问:从姑且的EDA技能去瞅,其死长趋势是政府沉视、使用遍及、应用文泛、工具百般、硬件功能强盛.EDA的范畴包罗:板滞、电子、通疑、航空航天、化工、矿产、死物、医教、军事等各个范畴,皆有EDA的应用.第二章 VHDL硬件形貌谈话1、简述真体(ENTITY)、结构体(ARCHITECTURE)与本理图的闭系.问:结构去道真体便是本理图的中瞅,结构体中的简曲步调便是本理图中的简曲真止.2、子步调调用与元件例化有何辨别,函数与历程正在简曲使用上有何分歧.问:从硬件角度道,一身材步调的调用类似于一个元件模块的例化,VHDL概括器为子步调的每一次调用皆死成一个电路逻辑块.所分歧的是,元件的例化将爆收一个新的安排条理,而子步调调用只对付应于目前条理的一部分.函数战历程的分歧正在于:函数惟有一个输出,只可通过函数体内的RETURN语句去真止,函数体内不克不迭有旗号赋值语句;而历程却不妨有不只一个输出,而且是通过历程体内的旗号赋值语句大概者变量赋值语句去真止的,历程体内的RETURN语句不用处,果此很多历程皆将其简略了.函数的调用只可通过表白式去真止,历程的调用则是通过历程调用语句去真止的.3、什么是沉载函数?沉载算符有何用处?怎么样调用沉载算符函数.问:(1)什么是沉载函数? 根据支配对付象变更处理功能.(2)沉载算符有何用处? 用于二个分歧典型的支配数据自动变更成共种数据典型,并举止运算处理.(3)怎么样调用沉载算符函数?采与隐式办法调用,无需预先声明.4、正在VHDL步调中摆设有何用处?问:摆设不妨把特定的结构体闭联到一个决定的真体,正如摆设一词汇自己的含意一般.摆设语句便是用去为较大的系统安排提供管造战工程构造的.摆设也是VHDL 安排真体中的一个基础单元,正在概括大概仿真中,不妨利用摆设语句为决定所有安排提供许多有用疑息.总之用于树立VHDL的处事参数以及处事模式.摆设用去采用真体的多个结构体的哪一个被使用.5.嵌套 BLOCK 的可视性准则是什么?以嵌套 BLOCK 的语句办法安排三个并列的 3 输进大概门.问:BLOCK是 VHD 中具备的一种区分体造,那种体造允许安排者合理天将一个模块分为数个天区,正在每个块皆能对付其局部旗号、数据典型战常量加以形貌战定义.所有能正在结构体的证明部分举止证明的对付象皆能正在 BLOCK 证明部分中举止证明.相闭参照代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY triple_input ISPORT (A :IN STD_LOGIC;B :IN STD_LOGIC;C :IN STD_LOGIC;OUTA :OUT STD_LOGIC);END triple_input;ARCHITECTURE ADO OF triple_input ISBEGINOUTA<= A AND B AND C;END ADO;6.简述函数与历程的同共面,历程与进程的同共面.问:子步调有二种典型,即历程(PROCEDURE)战函数(FUNCTION).函数战历程皆是串止的.它们的辨别正在于:历程的调用不妨通过其界里赢得多个返回值,而函数只可返回一个值;正在函数出心中,所有参数皆是输进参数,而历程有输进参数、输出参数战单背参数;历程普遍被瞅做一种语句结构,而函数常常是表白式的一部分;历程不妨单独存留,而函数常常动做语句的一部分调用.历程战进程的相共面:只可使用程序语句,不妨单独存留.分歧面:历程不克不迭像进程那样不妨从本结构体的其余块大概进程结构中间接读与旗号值大概者旗号赋值.7、推断下列VHDL 标记符是可合法,如果分歧规则指出本果:16#0FA#,10#12F#,8#789#,8#356#,2#0101010#,74HC245,\74HC574\,CLR/RESET,\IN 4/SCLK\, D100%.问:识符用准则定:(1)只可包罗英笔墨母,数字,下划线(2)标记符的尾字符只可是字母.故:(1)16#0FA#错正在尾字符是数字,且包罗非法字符“#“. 10#12F#、8#789#,8#356#,2#0101010#,74HC245也是犯共一过失.(2)\74HC574\,CLR/RESET,\IN4/SCLK\,D100%皆利害法,包罗非法字符….8、计划数据对付象旗号与变量间的同共处,证明它们的使用对付所产死的硬件结构有何效用.问:正在VHDL中,对付象是指用去脆持数据的一些客体单元.旗号跟变量是VHDL中的要害客体.旗号是指正在安排真体中数据接换的一种脚法,采与旗号对付象不妨把安排真体对接正在所有产死模块.正在硬件电路中代表一条硬件连线,偶尔旗号会被概括成一个寄存器.变量主假如对付姑且数据举止局部保存,它是一个局部量.旗号与变量正在使用前皆必须先声明后使用,可则会爆收编译过失.旗号不妨architecture、package、entitiy中声明,是齐部量不妨正在齐部使用.变量不妨process、function、procedure中声明,也只可正在process、function、procedur中使用不是齐部变量.他们之间的主要辨别有:旗号赋值起码要有δ延时;而变量赋值不.旗号除目前值中有许多相闭的疑息,如履历疑息战投影波形;而变量惟有目前值.进程对付旗号敏感而分歧过失变量敏感.旗号不妨是多个进程的齐部旗号;而变量只正在定义他们的程序域可睹(共享变量除中).旗号是硬件中连线的抽象形貌,他们的功能是保存变更的数据值战对接子元件,旗号正在元件的端心对接元件.变量正在硬件中不类似的对付应闭系,他们用于硬件个性的下条理修模所需要的估计中.从概括后所对付应的硬件电路结构去瞅,旗号普遍将对付应更多的硬件结构,但是正在许多情况下,旗号战变量并不什么辨别.比圆正在谦脚一定条件的进程中,概括后它们皆能引进寄存器.那时它们皆具备不妨担当赋值那一要害的共性,而VHDL概括器本去不睬会它们正在担当赋值时存留的延时个性.9. 运算符沉载函数常常要调用变更函数,以便不妨利用已有的数据典型.底下给出一个新的数据典型AGE,而且底下的变更函数已经真止:function CONV_INTEGER(ARG:AGE) return INTEGER;请仿照本章中的例子,利用此函数编写一个“+”运算符沉载函数,支援底下的运算:SIGNALa,c : AGE;...c <= a + 20;问:function “+”(L : AGE, R: i nteger) return AGE isBeginreturn CONV_AGE(L + CONV_INTEGER(R));End;10、安排16 位比较器,比较器的输进是2个待比较的16位数:A=[A15…A0],B=[B15…B0],输出是 D、E、F.当 A=B 时, D=1;当A>B 时,E=1;当A<B时,F=1(参照要收:用惯例的比较器安排要收,即间接利用闭系支配符举止编程安排,大概者利用减法器去完毕,通过减法运算后的标记战截止去判别二个被比较值的大小).问:略library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entit y compare isport(a: in std_logic_vector(16 downto 0); b: in std_logic_ve ctor(16 downto 0); X,Y,Z: out std_logic);end compare;architecture behav e of compare isbegin process(a,b) begin if (a > b) then X <='1'; Y <='0'; Z <='0'; elsif(a < b) then X <=' 0'; Y <='1'; Z <='0'; ELSE X <='0'; Y <='0'; Z <='1'; end if; end process; end behave;11. 正在VHDL 编程中,为什么应尽大概使用子典型对付典型的与值范畴赋予规定.问:由于子典型与其基础数据典型属共一数据典型,果此属于子典型的战属于基础数据典型的数据对付象间的赋值战被赋值不妨间接举止,不必举止数据典型的变更.利用子典型定义数据对付象的佳处是,除了使步调遍及可读性战易处理中,本去量性的佳处还正在于有用处遍及概括的劣化效用,那是果为概括器不妨根据子典型所设的拘束范畴,灵验天推知介进概括的寄存器的最符合的数目.12、推断底下3 例VHDL 步调中是可有过失,若有过失则指堕落误本果:步调1Signal A, EN : std_logic;Process (A, EN)Variable B : std_logic;Beginif EN =‘ 1 ’thenB <= A;end if;end process;步调 2Architecture one of sample isvariable a, b, c : integer;beginc <= a + b;end;步调 3library 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;②architecture one of mux21 isbegin③if sel = '0' then c := a;elsec := b;end if;④⑤end two;⑥问:步调1:将“B<=A”改成“B:=A”步调2:-将“c<=a+b”改成“c:=a+b”步调3:①将“;)”改成“)”②将“sam2”改成“entity mux21”③减少“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;”⑥将“two”改成“architecture one”13、分别用 CASE 语句战 IF安排3-8译码器.问:CASE语句:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder38 ISPORT(EN:IN STD_LOGIC;A0,A1,A2:IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ENTITY decoder38;ARCHITECTUR bhv OF decoder38 ISSIGNAL S:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINS<=A2&A1&A0;PROCESS (EN,S)BEGINIF (EN=’1’) THENCASE S ISWHEN “000”=>Y<=”00000001”;WHEN “001”=>Y<=”00000010”;WHEN “010”=>Y<=”00000100”;WHEN “011”=>Y<=”00001000”;WHEN “100”=>Y<=”00010000”;WHEN “101”=>Y<=”00100000”;WHEN “110”=>Y<=”01000000”;WHEN “111”=>Y<=”10000000”;WHEN OTHERS=>NULL;END CASE;END IF;END PROCESS;END ARCHITECTURE bhv;IF语句:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder38 ISPORT(EN:IN STD_LOGIC;A0,A1,A2:IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ENTITY decoder38; ARCHITECTUR bhv OF decoder38 IS BEGINPROCESS (EN,A2,A1,A0)BEGINIF (EN=’1’) THENIF(A2=’0’) THENIF(A1=’0’) THENIF(A0=’0’) THENY<=’00000001’;ELSEY<=’00000010’;ELSIF(A1=’1’) THENIF(A0=’0’) THENY<=’00000100’;ELSEY<=’00001000’;END IF;END IF;ELSIF(A2=’1’) THENIF(A1=’0’) THENIF(A0=’0’) THENY<=’00010000’;ELSEY<=’00100000’;END IF;ELSIF(A1=’1’) THENIF(A0=’0’) THENY<=’01000000’;ELSEY<=’10000000’;END IF;END IF;END IF;END IF;END PROCESS;END ARCHITECTURE bhv;library ieee;use ieee.std_logic_1164.all;entity sss isport (a: in std_logic_vector(2 downto 0); cout:out std_logic_vector(7 downto 0)); end ;architecture one of sss isbeginprocess(a)beginif a="000" then cout <="11111110";elsif a="001" then cout <="11111101";elsif a="010" then cout <="11111011";elsif a="011" then cout <="11110111";elsif a="100" then cout <="11101111";elsif a="101" then cout <="11011111";elsif a="110" then cout <="10111111";elsif a="111" then cout <="01111111";end if;end process;end;14、若正在进程中加进 WAIT语句,应注意哪几个圆里的问题.问:应注意以下问题:①已列出敏感旗号的进程中不克不迭使用所有形式的WAIT语句;②普遍情况下,惟有WAIT UNTIL要收的等待语句不妨被概括器所担当,其余语句要收只可正在VHDL仿真器中使用;③正在使用WAIT ON语句的进程中,敏感旗号量应写正在进程中的WAIT ON语句后里;④正在不使用WAIT ON语句的进程中,敏感旗号量应正在启头的闭键词汇PROCESS后里的敏感旗号表中列出.15、图中的f_adder是一位齐加器,cin 是输进进位,cout 是输出进位.试给出此电路的VHDL形貌.图2.15 习题15图问:library ieee;use ieee.std_logic_1164.all;entity ff isport (x,y,clock:in std_logic;sum:out std_logic);end;architecture one of ff iscomponent f_adderport(a,b,ci:in std_logic;su,co:out std_logic);end component;component dfport(d,cl:in std_logic;q1:out std_logic);end component;signal cout,tmp:std_logic;beginu1:f_adder port map(a=>x,b=>y,ci=>tmp,su=>sum,co=>cout); u2:df port map(d=>cout,cl=>clock,q1=>tmp);end architecture one;--下层文献1:D触收器library ieee;use ieee.std_logic_1164.all;entity df isport (d,cl:in std_logic;q1:out std_logic);end;architecture two of df issignal qq:std_logic;beginprocess(cl,qq)beginif cl 'event and cl='1'then qq<=d;end if;end process;q1<=qq;end architecture two;--下层文献2:齐加器library ieee;use ieee.std_logic_1164.all;entity f_adder isport (a,b,ci:in std_logic;su,co:out std_logic);end;architecture three of f_adder iscomponent h_adderport(a1,b1:in std_logic;so,cou:out std_logic);end component;component or2aport(a1,b1:in std_logic;c:out std_logic);end component;signal d,e,f:std_logic;beginu1:h_adder port map(a1=>a,b1=>b,cou=>d,so=>e);u2:h_adder port map(a1=>e,b1=>ci,cou=>f,so=>su);u3:or2a port map(a1=>d,b1=>f,c=>co);end architecture three;--下层文献2-1:半加器library ieee;use ieee.std_logic_1164.all;entity h_adder isport (a1,b1:in std_logic;so,cou:out std_logic);end;architecture four of h_adder isbeginso<=not(a1 xor(not b1));cou<=a1 and b1;end architecture four;--下层文献2-2:大概门library ieee;use ieee.std_logic_1164.all;entity or2a isport (a1,b1:in std_logic;c:out std_logic);end;architecture five of or2a isbeginc<=a1 or b1;end architecture five;16. 安排5位可变模数计数器.安排央供:令输进旗号M1战M0 统造计数模,即令(M1,M0)=(0,0)时为模19 加法计数器,(M1,M0)=(0,1)时为模4计数器,(M1,M0) =(1,0) 为模10 加法计数器,(M1,M0)=(1,1)时为模6计数器.问:Entity mod_cal isPort(M1,M0:in bit;Count:out std_logic_vector(4 downto 0);Clk:in std_logic);End entity;Architecture behav of mod_cal isSignal count1:std_logic_vector(4 downto 0);BeginProcess(clk,M1,M0)Variable sel is bit_vector(1 downto 0);BeginSel:=M1&M0;If clk’event and clk=’1’thenCount1<=Count1+1;Case sel isWhen“00”=>if Count1=”10011”then Count1<=”00000”;End if;When“01”=>if Count1=”00100”then Count1<=”00000”;End if;When“10”=>if Count1=”01010”then Count1<=”00000”;End if;When“11”=>if Count1=”00110”then Count1<=”00000”;End if;End case;End if;End process;Count<=count1;End behav;17.什么是 VHDL 结构体的止为形貌风格,道述止为形貌的劣缺面.问:如果 VHDL 的结构体只形貌了所期视电路的功能大概者道电路止为,而不间接指明大概波及真止那些止为的硬件结构,包罗硬件个性、连线办法、逻辑止为办法,则称为止为风格的形貌大概止为形貌.便宜:抽象程度最下,最能体现VHDL形貌下条理结媾战系统的本收.缺面:只表示输进与输出间变更的止为,它不包罗所有结构疑息.18.结构化形貌与调用子步调有何同共面,VHDL 步调中是怎么样举止结构化形貌的?结构化形貌需要哪些语句?问:略19. 试举一例,正在一个结构体中共时含有3种分歧形貌风格的VHDL 语句结构.问:略20.以数据流的办法安排一个 2 位比较器,再以结构形貌办法将已安排佳的比较器对接起去形成一个 8 位比较器问:略21. 采与VHDL举止数字系统安排有哪些个性?问:HDL的基础面:(1)与其余硬件形貌谈话相比,VHDL具备以下个性:(2)功能强盛、安排机动.(3)强盛的系统硬件形貌本收.(4)易于共享战复用.的基础步调结构由几部分组成?各部分的功能是什么?问:由5个部分组成,包罗真体、结构体、摆设、步调包战库.真体动做一个安排真体的组成部分,其功能是对付那个安排真体与中部电路举止接心形貌.结构体(ARCHITECTURE)是安排真体的一个要害部分,结构体将简曲真止一个真体.正在利用VHDL 举止工程安排中,为了遍及安排效用以及使安排按照某些统一的谈话尺度大概数据要收,有需要将一些有用的疑息搜集正在一个大概几个库中以供调用,那些疑息不妨是预先定义佳的数据典型、子步调等安排单元的集中体(步调包)大概预先安排佳的百般安排真体(元件库步调包).果此不妨把库瞅成是一种用去保存预先完毕的步调包、数据集中体战元件的堆栈.已正在安排真体中定义的数据典型、子步调大概数据对付象对付于其余安排真体是不可用的,大概者道是不可睹的.为了使已定义的常数、数据典型、元件调用证明以及子步调能被更多的VHDL 安排真体便当天考察战共享,不妨将它们支集正在一个VHDL 步调包中,多个步调包不妨并进一个VHDL 库中,使之适用于更普遍的考察战调用范畴,那一面对付于大系统启垦多个大概多组启垦人员共步并止处事隐得尤为要害.摆设不妨把特定的结构体闭联到一个决定的真体,正如摆设一词汇自己的含意一般.摆设也是VHDL 安排真体中的一个基础单元,正在概括大概仿真中,不妨利用摆设语句为决定所有安排提供许多有用疑息.23. 证明端心模式BUFFER与INOUT有何同共面?问:INOUT为输进输出单背端心,即从端心里里瞅,不妨对付端心举止赋值,即输出数据.也不妨今后端心读进数据,即输进.BUFFER为慢冲端心,功能与INOUT类似,辨别正在于当需要读进数据时,只允许里里回读里里爆收的输出旗号,即反馈.举个例子,安排一个计数器的时间不妨将输出的计数旗号定义为BUFFER,那样回读输出旗号不妨干下一计数值的初初值..24.用VHD安排一个真止三输进的普遍表决器.问:library ieee;use ieee.std_logic_1164.all;entity bjq3 isport(a,b,c:in std_logic;y:out std_logic);end;architecture x of bjq3 issignal ty:std_logic_vector(2 downto 0);beginty<=a&b&c;with ty selecty<='0' when "000",'0' when "001",'0' when "010",'1' when "011",'0' when "100",'1' when "101",'1' when "110",'1' when "111",'X' when others;end;25.用PROCESS语句形貌戴共步复位的JK触收器.问:library ieee;use ieee.std_logic_1164.all;entity jk_ff isport(clk,reset,j,k:in std_logic;q,qb:out std_logic);end;architecture behave of jk_ff issignal tq,tqb:std_logic;beginq<=tq;qb<=tqb;process(clk,reset)beginif (clk'event and clk='1') thenif (reset='0') thentq<='0';tqb<='1';elsif ((j='0')and(k='0')) thentq<=tq;tqb<=tqb;elsif ((j='0')and(k='1')) thentq<='0';tqb<='1';elsif ((j='1')and(k='0')) thentq<='1';tqb<='0';elsif ((j='1')and(k='1')) thentq<=not tq;tqb<=not tqb;end if;end if;end process;end;26.用并止旗号赋值语句安排8选1数据采用器.问:library ieee;use ieee.std_logic_1164.all;entity xzq8 isport(x:in std_logic_vector(7 downto 0);sel:in std_logic_vector(2 downto 0);f:out std_logic);end;architecture a of xzq8 isbeginf<=x(0) when sel="000" elsex(1) when sel="001" elsex(2) when sel="010" elsex(3) when sel="011" elsex(4) when sel="100" elsex(5) when sel="101" elsex(6) when sel="110" elsex(7) when sel="111" else'X';end;27.用VHDL安排一个三态输出的单4选1数据采用器.其天面旗号共用,且各有个矮电仄灵验的使能端问:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DUAL_MUX_41 ISPORT(A,B,C,D:IN STD_LOGIC;ENA_N,ENB_N:IN STD_LOGIC;S :IN STD_LOGIC_VECTOR(1 DOWNTO 0);OUTA,OUTB:OUT STD_LOGIC);ENDARCHITECTURE A OF DUAL_MUX_41 ISSIGNAL P,Q:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINP<=ENA_N & S;Q<=ENB_N & S;WITH P SELECTOUTA<=A WHEN “000”,B WHEN”001”,C WHEN”010”,D WHEN”011”,‘Z’ WHEN OTHERS;WITH Q SELECTOUTB<= A WHEN”000”,B WHEN”001”,C WHEN”010”,D WHEN”011”,‘Z’ WHEN OTHERS;END A;28.用VHDL安排真止由二输进端与非门形成的1位齐加器.问:略29. 用VHDL安排真止一百进造的计数器.问:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY counter ISGENERIC( count_value: INTEGER:=9);PORT (clk,clr,en: IN STD_LOGIC;co: OUT STD_LOGIC;count: OUT INTEGER RANGE 0 TO count_value); END counter;ARCHITECTURE a OF counter ISSIGNAL cnt: INTEGER RANGE 0 TO count_value; BEGINPROCESS (clk,clr)BEGINIF clr = '1' THENcnt <= 0;ELSIF (clk'EVENT AND clk = '1') THENIF en = '1' THENIF cnt = count_value THENcnt <= 0;ELSEcnt <= cnt + 1;END IF;END IF;END IF;END PROCESS;co<=’1’ WHEN cnt=count_value ELSE ‘0’;count <= cnt;END a;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity counter1 isport(clk,clr,en: in std_logic;co:out std_logic;count1: out integer range 0 to 9;count2: out integer range 0 to 9);end counter1;architecture rtl of counter1 issignal en1: std_logic;component counter isgeneric( count_value: integer);port (clk,clr,en: in std_logic; co: out std_logic;count: out integer range 0 to count_value);end component;beginaa: counter generic map( count_value => 9)port map(clk,clr,en, en1, count1);bb: counter generic map( count_value=>9)port map(clk=>clk,clr=>clr, en=>en1, co=>co,count=>count2);end rtl;30. 比较CASE语句与WITH_SELECT语句,道述它们的同共面.问:相共面:CASE语句中各子句的条件不克不迭有沉叠,必须包涵所有的条件;WITH_SECLECT语句也不允许采用值有沉叠局里,也不允许采用值涵盖不齐的情况.其余,二者对付子句各采用值的尝试皆具备共步性,皆依好于敏感旗号的变更.分歧面:CASE语句只可正在进程中使用,起码包罗一个条件语句,不妨有多个赋值目标;WITH_SECLECT语句根据谦脚的条件,对付旗号举止赋值,其赋值目标惟有一个,且必须是旗号.31、将以下步调段变更为 WHEN_ELSE 语句:PROCESS(a,b,c,d)BEGINIF a= '0' AND b='1' THENnext1 <= "1101"ELSIFa='0' THENnext1 <= dELSIFb='1' THENnext1 <= cELSENext1<= "1011";。
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技术实用教程课后习题答案
E D A技术实用教程课后习题答案(总6页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第一章1-1 EDA 技术与 ASIC 设计和 FPGA 开发有什么关系?答:利用 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 什么是综合有哪些类型综合在电子设计自动化中的地位是什么什么是综合答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型答:(1)从自然语言转换到 VHDL 语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从 RTL 级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
EDA实验讲义 实验习题答案
EDA实验习题,本文属个人所写,仅供参考:--实验一(四选一):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mux41a isport(a,b,c,d,s0,s1:in std_logic;y:out std_logic);end entity mux41a;architecture four_ch_one of mux41a issignal ss_ctrl: std_logic_vector(1 downto 0);beginss_ctrl<=s1 & s0;process(a,b,c,d,ss_ctrl)begincase ss_ctrl iswhen "00"=> y<=a;when "01"=> y<=b;when "10"=> y<=c;when "11"=> y<=d;when others=>NULL;end case;end process;end architecture four_ch_one;--实验二(边沿、电平触发):Library ieee;use ieee.std_logic_1164.all; entity dff0 isport( CLK:in std_logic;D:in std_logic;Q1,Q2:out std_logic);end dff0;architecture bhv of dff0 issignal QQ:std_logic;beginPRO1:process(CLK) --upbeginif CLK'event and CLK='1'then QQ<=D;end if;end process;Q1<=QQ;PRO2:process(CLK,D) --high p beginif CLK='1'then Q2<=D;end if;end process;end bhv;--实验三(二位十进制数递减):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity CNT10M isport(CLK,RST,EN:in std_logic;CQ:out std_logic_vector(3 downto 0); --个位递减输出BOUT:out std_logic_vector(3 downto 0)); --十位递减输出end CNT10M;architecture behav of CNT10M isbeginprocess(CLK,RST,EN)variable ge,shi:std_logic_vector(3 downto 0);beginif RST='1' then ge:=(others=>'0'); shi:=(others=>'0');elsif CLK'event and CLK='1' thenif EN='1' thenif ge>0 then ge:=ge-1;else ge:="1001";end if;if ge=9 then shi:=shi-1;else shi:=shi;end if;if shi<10 and shi>=0 then shi:=shi;else shi:="1001";end if;end if;end if;CQ<=ge;BOUT<=shi;end process;end behav;--实验四(5/9占空比分频器):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity DIV_9 isport(CLK,RST,EN:in std_logic;DIV9:out std_logic);end DIV_9;architecture one of DIV_9 issignal FULL:std_logic;beginprocess(CLK)variable CNT9:std_logic_vector(3 downto 0);beginif RST='0' then CNT9:=(others=>'0');elsif CLK'event and CLK='1' thenif EN='1' thenif CNT9<8 then CNT9:=CNT9+1;else CNT9:=(others=>'0');end if;if CNT9>3 then FULL<='1';else FULL<='0';end if;end if;end if;DIV9<=FULL;end process;end one;--实验五(层次法8位全减器)--1,一位半减器AND2instNOT inst2XORinst7VCCmin_edINPUT VCCminINPUT oputOUTPUT h_braOUTPUT--2,一位全减器min_ed minh_bra oputh_minusinstmin_ed minh_bra oputh_minus inst1OR2inst6VCC min_ed INPUT VCCminINPUT VCCl_braINPUT h_braOUTPUT oputOUTPUT--3,8位全减器VCClow_braINPUT VCC min[0]INPUT VCC min_d[0]INPUT VCCmin[1]INPUT VCC min_d[1]INPUT VCCmin[2]INPUT VCC min_d[2]INPUT VCCmin[3]INPUT VCC min_d[3]INPUT VCCmin[4]INPUT VCC min_d[4]INPUT VCCmin[5]INPUT VCC min_d[5]INPUT VCCmin[6]INPUT VCC min_d[6]INPUT VCCmin[7]INPUT VCC min_d[7]INPUT oput[7]OUTPUToput[6]OUTPUT oput[5]OUTPUT oput[4]OUTPUT oput[3]OUTPUT oput[2]OUTPUT oput[1]OUTPUT oput[0]OUTPUT hign_bra OUTPUT m in_ed m in l_brah_bra oputf_m inusinstm in_ed m in l_brah_bra oputf_m inusinst1m in_ed m in l_brah_bra oputf_m inusinst2m in_ed m in l_brah_bra oputf_m inusinst3m in_ed m in l_brah_bra oputf_m inusinst4m in_ed m in l_brah_bra oputf_m inusinst5m in_ed m in l_brah_bra oputf_m inusinst6m in_ed m in l_brah_bra oputf_m inusinst7--实验六--1,内容一结果--2,内容二结果①③④实验习题:When others=>NULL 在case语句中的含义是:当case后面的变量或信号出现的当前情况,在以上when语句后面没有列举出来,这时被赋值的变量或者语句赋为NULL,即不作任何操作。
《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课后答案(适用于朱正伟《EDA技术及应用》)
1.1、设计集成计数器74161,设计要求如下:4-BIT BINARY UP COUNTER WITH SYNCHRONOUS LOAD AND ASYNCHRONOUS CLEAR NOTEINPUTS: CLK LDN CLRN D C B AOUTPUTS:QD QC QB QA RCO*RCO = QD & QC & QB & QALIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4 ISPORT(CLK,LDN,CLRN : IN STD_LOGIC;D,C,B,A : IN STD_LOGIC;CARRY : OUT STD_LOGIC;QD,QC,QB,QA : OUT STD_LOGIC);END;ARCHITECTURE A OF CNT4 ISSIGNAL DATA_IN: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINDATA_IN<=D&C&B&A;PROCESS(DATA_IN,CLK,LDN,CLRN)V ARIABLE CNT:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF CLRN='0' THENCNT:=(OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF LDN='0' THENCNT:=DATA_IN;ELSECNT:=CNT+1;END IF;END IF;CASE CNT ISWHEN "1111"=> CARRY<='1';WHEN OTHERS=> CARRY<='0';END CASE;QA<=CNT(0);QB<=CNT(1);QC<=CNT(2);QD<=CNT(3);END PROCESS;END A;1.2、设计一个通用双向数据缓冲器,要求缓冲器的输入和输出端口的位数可以由参数决定。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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. 键盘为什么要防抖动?如何防抖动?
主要目的是为了提高按键输入可靠性,由于机械触点的弹性振动,按键在按下时不会马上稳定地接通而在弹起时也不能一下子完全地断开,因而在按键闭合和断开的瞬间均会出现一连串的抖动,这称为按键的抖动干扰。
按键的抖动会造成按一次键产生的开关状态被CPU 误读几次。
为了使CPU 能正确地读取按键状态,必须在按键闭合或断开时,消除产生的前沿或后沿抖动。
去抖动的方法有硬件方法和软件方法两种。
硬件方法是设计一个滤波延时电路或单稳态电路等硬件电路来避开按键的抖动时间。
软件方法是指编制一段时间在5 - 10ms 的延时程序,在第一次检测到有键按下时,执行这段延时子程序使键的前沿抖动消失后再检测该键状态,如果该键仍保持闭合状态电平,则确认为该键已稳定按下,否则无键按下,从而消除了抖动的影响。
1、所设计的频率计有测量误差吗?误差是多少?如何减少误差?
答:有误差;一个周期;减少误差的方法是进行多次测量再取平均值或把待
测信号先多次移相测量再取平均值。
2、为什么需要锁存器?锁存器锁存信号应在什么时刻锁存?为什么?
锁存器的作用是锁存计数器的计数结果,锁存信号Load上升沿有效,当控制模块的load 信号有效时,锁存器立即锁存计数器记录的频率值,送到译码器译码,然后送到数码管显示。
锁存器输出端的状态不会随输入端的状态变化而变化,只有在有锁存信号时输入的状态被保
存到输出,直到下一个锁存信号。
3、用计数器来做分频。
1、所用状态机是moor状态机还是mealy状态机?为什么?
答:所用的是mealy状态机,因为程序输出的只是当前状态的函数。
对于Mealy型状态机,输出同步不仅会带来运行性能的提升,还会增加系统的稳定性:防止输出信号出现毛刺,防止组合回路的产生。
原理:给Mealy型FSM的输出增加同步寄存器,把异步电路变为同步电路,从而避免了异步电路的缺点,增加了同步电路的优点。
结论:在同步电路设计中,Mealy型状态机的输出同步是必不可少的。
采用输出同步的Mealy型FSM被称为“同步Mealy”或“输出流水型Mealy”。
对于Moore型状态机,不采用输出同步,电路本质上仍然是同步的。
原理:Moore型FSM 的输出是仅由状态寄存器驱动的,由于状态寄存器是同步的,所以由其驱动的输出逻辑也是同步的。
进一步,Moore型FSM的输出逻辑相对于Mealy型FSM的输出逻辑简单了许多,仅仅是对状态寄存器进行译码的组合逻辑。
再进一步,通过对Moore型FSM的状态寄存器进行恰当地编码,可以简化对状态寄存器进行译码的组合逻辑,得到更加简单的输出逻辑。
结论:给Moore型状态机增加输出同步寄存器,有画蛇添足之嫌。
1、状态机处于S3状态时,若再输入一个“1”,为什么状态机仍停留在S3
状态,而不是其他状态?
答:因为连续四个1了,而检测要求的是三个1;所以检测还是当作连续三个1来算。
2、什么叫一点热码编码状态机?
答:一位热码编码。
采用这种编码方式,相对于格雷码来说虽然增加了触发器,但是节省了组合电路。
提高了电路的速度和可靠性。
例如5位的热码编码(5'b00001,5'b00010,5'b00100,5'b01000,5'b10000;)。
与格雷码一样都是一位进行变化,唯一不同的是,一位热码是不需要进行逻辑运算的。
3、
4、还可用移位寄存器实现。