内容发布更新时间 : 2024/12/23 17:16:12星期一 下面是文章的全部内容请认真阅读。
WHEN_ELSE条件信号赋值语句中无标点只有最后有分号必须成对出现 是 并 行 语 句 必 须 放 在 结 构 体 中 IF_ELSE顺序语句中有分号是顺序语句必须放在进程中
37. 简述PROCESS语句结构的三部分构成并说明进程语句、顺序语句和信号之间的关系。 答PROCESS语句结构是由三部分构成即进程说明部分顺序描述语句部分和敏感信号参数表。2? 各个进程是并行运行的无先后之分必须放在结构体中顺序语句是按顺序运行的有先后之分必须放在进程中信号放在结构体和进程之间是用以完 成 各 个 进 程 之 间 数 据 交换。
38. 采用可编程逻辑器件进行电路和系统设计有什么好处
优点便于修改和调试缩短开发周期降低开发成本简化系统构成缩小系统体积降低系统功耗提高系统可靠性等。
39、Protel 99SE的元件属性中,Lib Ref、Footprint、Designator、PartType分别代表什么含意? 答:Lib Ref代表元件图形符号名称,Footprint代表元件封装名称,Designator代表元件标号,PartType代表元件主要规格型号。
40、简要说明印刷电路板设计的一般步骤。 答:(1)绘制原理图;(2)启动PCB编辑器并设置参数;(3)定义板框;(4)装入网络表和元件封装库;(5)元件布局;(6)自动布线;(7)手工调整;(8)DRC检查;(9)编辑丝印层;(10)文件保存与输出。
41、简要说明原理图设计的一般步骤。 答:(1)设置图纸大小;(2)设置环境;(3)放置元件;(4)原理图布线;(5)编辑与调整;(6)输出报表;(7)存盘打印。 42、简单介绍一下电路板的分类? 答:印刷电路板常见的板层结构包括单层板(Single Layer PCB)、双层板(Double Layer PCB)和多层板(Multi Layer PCB)三种,这三种板层结构的简要说明如下:
单层板:即只有一面敷铜而另一面没有 敷铜的电路板。通常元器件放置在没有敷铜的一面,敷铜的一面主要用于布线和焊接。
双层板:即两个面都敷铜的电路板,通常称一面为顶层(Top Layer),另一面为底层(Bottom Layer)。一般将顶层作为放置元器件面,底层作为元器件焊接面。
多层板:即包含多个工作层面的电路板,除了顶层和底层外还包含若干个中间层,通常中间层可作为导线层、信号层、电源层、接地层等。层与层之间相互绝缘,层与层的连接通常通过过孔来实现。
43、在PCB设计中,选取元件的主要方法有哪些? 答:
1. 直接选取元件 2. 画框选取元件
3.用菜单命令选取元件
44、执行自动布线的方法主要有下几种? 答:1.全局布线(All) 2.指定网络布线(Net)
3.指定两连接点布线(Connection) 4.指定元件布线(Component) 5.指定区域布线(Area)
45、在PCB设计中的DRC电气规则检查主要有几种方式?
答:实时检查(On-Line DRC) 和分批检查(Batch DRC)。 46、与HDL文本输入法相比较,原理图输入法有何优点? 1:设计者不需增加新的相关知识,如HDL等。
2:输入方法与用protel作图相似,设计过程形象直观, 适合初学者入门。
3:对于较小的电路模型,其结构与实际电路十分接近, 设计者易于把握电路全局(适合设计小型数字电路)。
4:设计方式接近于底层电路布局,因此易于控制逻辑资源的耗用,节省面积。 47、写出结构体的一般语言格式并说明其作用 ARCHITECTURE 结构体名 OF 实体名 IS [说明语句] BEGIN
[功能描述语句]
END ARCHITECTURE 结构体名;
结构体用于描述电路器件的内部逻辑功能或电路结构。使用的语句有顺序语句和并行语句。
48、写出五种以上的VHDL的预定义数据类型。
布尔(BOOLEAN)数据类型、位(BIT)数据类型、位矢量(BIT_VECTOR)数据类型 字符(CHARACTER)数据类型、整数(INTEGER)数据类型、实数(REAL)数据类型 字符串(STRING)数据类型、时间(TIME)数据类型
49. 若状态机仿真过程中出现毛刺现象,应如何消除;试指出两种方法,并简单说明其原理。
方法1,添加辅助进程对输出数据进行锁存。
方法2,将双进程状态机改写为单进程状态机,其输出也是锁存过了,故能消除毛刺。 50、描述一下EDA技术的4个基本条件 答:
1)大规模可编程逻辑器件为设计载体
2)硬件描述语言为系统逻辑描述的主要表达手段
3)软件开发工具,它是利用EDA技术进行点字系统设计的智能化的自动化设计工具 4)实验开发系统,它是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。 51、试用TYPE语句定义这样一个数组: 要求数组名称为HELLO,其中包含十个由INTEGER类型的数据,按升序排列。
答:TYPE HELLO IS INTEGER RANGE 0 TO 9。
52、什么叫标识符?VHDL的基本标识符是怎样规定的?
答:标识符是指用来为常数、变量、信号、端口、子程序或者参数等命名,由英文字母、数字和下划线组成。 遵从的规则:
(1)首字符必须是英文字母。
(2)不连续使用下划线“_”,不以下划线“_”结尾的。 (3)大小写英文字母等效,可以大小写混合输入。 (4)标识符中不能有空格。
(5)VHDL的保留字不能用于作为标识符使用。 53、简单比较一下EXIT语句和NEXT语句的区别 答: EXIT语句和NEXT语句都是LOOP语句的内部循环控制语句,区别是NEXT语句是跳向LOOP 语句的起始点,而EXIT语句则是跳向LOOP语句的终点。 54、判断以下标识符是否合法?
-AB, ABDED,AB12-9,ADF_78,FDFD_ 答:非法,合法,非法,合法,非法
55、简单描述一下VHDL语言中描述整数的数制表示法。 答:主要由5部分组成:
第1部分:用十进制数标明的数制进位基数 第2部分:数制分隔符“#” 第3部分:表达的数值 第4部分:指数分隔符“#”
第5部分:指数部分,为0时可以略去
56.一个设计实体由哪几个基本部分组成?它们的作用如何? 答:(1)库与程序包部分:使实体所用资源可见; (2)实体部分:设计实体的外部特征描述;
(3)结构体部分:设计实体的内部电路结构或功能描述。
分析题(28题)
70%分析题(28道)
1、在下面横线上填上合适的语句,完成减法器的设计。 由两个 1 位的半减器组成一个1 位的全减器 --1 位半减器的描述 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY HALF_SUB IS
PORT(A,B : IN STD_LOGIC; DIFF,COUT : OUT STD_LOGIC); END HALF_SUB;
ARCHITECTURE ART OF HALF_SUB IS BEGIN
COUT<= (A XOR B) ; --借位 DIFF<= ((NOT A) AND B) ; --差 END ; --1 位全减器描述 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY FALF_SUB IS
PORT(A,B,CIN: IN STD_LOGIC; DIFF,COUT : OUT STD_LOGIC); END FALF_SUB;
ARCHITECTURE ART OF FALF_SUB IS
COMPONENT HALF_SUB PORT(A,B : IN STD_LOGIC; DIFF,COUT : OUT STD_LOGIC); END COMPONENT;
(SIGNAL) T0,T1,T2:STD_LOGIC; BEGIN
U1: HALF_SUB PORT MAP(A,B, ( T0 ) ,T1);
U2: HALF_SUB PORT MAP(T0, ( CIN ) ,( T1 ) ,T2);
COUT<= ( T2 ) ; END ;
2. 在下面横线上填上合适的语句,完成分频器的设计。 说明:占空比为 1:1的 8 分频器 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CLKDIV8_1TO2 IS
PORT(CLK:IN STD_LOGIC; CLKOUT:OUT STD_LOGIC ); END CLKDIV8_1TO2;
ARCHITECTURE TWO OF CLKDIV8_1TO2 is
SIGNAL CNT:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL CK:STD_LOGIC; BEGIN
PROCESS(CLK) BEGIN
IF RISING_EDGE( CLK )THEN IF CNT=\ CNT<=\ CK<= ( NOT CK ) ; ELSE CNT<=( CNT+1 ) ; END IF; END IF;
CLKOUT<=CK; END PROCESS; END;
3. 在下面横线上填上合适的语句,完成 60进制减计数器的设计。 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNT IS
PORT(CLK: IN STD_LOGIC;
H,L: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END COUNT;
ARCHITECTURE BHV OF COUNT IS BEGIN
PROCESS(CLK)
VARIABLE HH,LL: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN
IF CLK'EVENT AND CLK='1' THEN IF LL=0 AND HH=0 THEN HH:=\ LL:=\
ELSIF LL=0 THEN
LL:= ( “1001” ) ; HH:= ( HH-1 ) ;
ELSE LL:= ( LL-1 ) ; END IF; END IF; H<=HH; L<=LL;
END PROCESS; END BHV;
4.在下面横线上填上合适的语句,完成 4-2优先编码器的设计。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY CODE4 IS
PORT(A,B,C,D : IN STD_LOGIC; Y0,Y1 : OUT STD_LOGIC); END CODE4;
ARCHITECTURE CODE4 OF CODE4 IS
SIGNAL DDD:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL Q:STD_LOGIC_VECTOR( 31 DOWNTO 0); BEGIN
DDD<=( A &B &C & D ) ; PROCESS(DDD) BEGIN
IF (DDD(0)='0') THEN Q <= \ ELSIF (DDD(1)='0') THEN Q <= \ ELSIF(DDD(2)='0') THEN Q<=\ ELSE Q <= \ END IF;
( END PROCESS ); Y1<=Q(0); Y0<=Q(1); END CODE4;
5.在下面横线上填上合适的语句,完成 10位二进制加法器电路的设计。 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ (UNSIGNED ).ALL; ENTITY ADDER1 IS
PORT(A,B:IN STD_LOGIC_VECTOR(9 DOWNTO 0); COUT:OUT STD_LOGIC;
SUM:OUT STD_LOGIC_VECTOR(9 DOWNTO 0)); END;
ARCHITECTURE JG OF ADDER1 IS
SIGNAL ATEMP: STD_LOGIC_VECTOR(10 DOWNTO 0); SIGNAL BTEMP: STD_LOGIC_VECTOR(10 DOWNTO 0);
SIGNAL SUMTEMP: STD_LOGIC_VECTOR(10 DOWNTO 0); BEGIN