《EDA技术与VHDL基础》课后习题标准答案.doc
收藏
编号:52582794
类型:共享资源
大小:133KB
格式:DOC
上传时间:2020-02-28
上传人:千与****5
认证信息
个人认证
潘**(实名认证)
江苏
IP属地:江苏
15
积分
- 关 键 词:
-
EDA技术与VHDL基础
- 资源描述:
-
《EDA技术与VHDL基础》课后习题答案
———————————————————————————————— 作者:
———————————————————————————————— 日期:
《EDA技术与VHDL基础》
课后习题答案
第一章 EDA技术概述
一、填空题
1、电子设计自动化
2、非常高速集成芯片硬件描述语言
3、CAD、CAE、EDA
4、原理图输入、状态图输入、文本输入
5、VHDL、Verilog HDL
6、硬件特性
二、选择题
1、A
2、C
3、A
4、D
5、C
6、D
7、A
第二章 可编程逻辑器件基础
一、填空题
1、PLD
2、Altera公司、Xilinx公司、Lattice公司
3、基于反熔丝编程的 FPGA
4、配置芯片
二、选择题
1、D
2、C
3、C
4、D
第三章 VHDL程序初步——程序结构
一、填空题
1、结构、行为、功能、接口
2、库和程序包、实体、结构体、配置
3、实体名、类型表、端口表、实体说明部分
4、结构体说明语句、功能语句
5、端口的大小、实体中子元件的数目、实体的定时特性
6、设计库
7、元件、函数
8、进程PROCESS、过程PROCEDURE
9、顺序语句、并行语句
二、选择题
1、D
2、C
3、C
4、B
5、D
6、B
7、A
8、C
三、简答题
2、
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY nand_3in IS
PORT(a,b,c:IN STD_LOGIC;
y:OUT STD_LOGIC);
END;
ARCHITECTURE bhv OF nand_3in IS
BEGIN
y<=NOT(a AND b AND c);
END bhv;
5、0000
6、11110111(247)
第四章 VHDL基础
一、填空题
1、顺序语句、并行语句
2、跳出本次循环
3、等待、信号发生变化时
4、函数、过程
5、值类属性、函数类属性、信号类属性、数据类型类属性、数据范围类属性
6、程序调试、时序仿真
7、子程序、子程序
二、选择题
1、B
2、A
3、A
4、C
5、B
6、C
7、D
三、判断题
1、√
2、√
3、√
4、√
5、
6、
四、简答题
9、修改正确如下所示:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY count IS
PORT(clk:IN BIT;
q:OUT BIT_VECTOR(7 DOWNTO 0));
END count;
ARCHITECTURE a OF count IS
BEGIN
PROCESS(clk)
IF clkEVENT AND clk=1 THEN
q<=q+1;
END PROCESS;
END a;
10、修改正确如下所示:
…
SIGNAL invalue:IN INTEGER RANGE 0 TO 15;
SIGNAL outvalue:OUT STD_LOGIC;
…
CASE invalue IS
WHEN 0=>outvalue<=1;
WHEN 1=>outvalue<=0;
WHEN OTHERS=>NULL;
END CASE;
…
11、修改正确如下所示:
ARCHITECTURE bhv OF com1 IS
BEGIN
SIGNAL a,b,c:STD_LOGIC;
pro1:PROCESS(clk)
BEGIN
IF NOT (clkEVENT AND clk=1) THEN
x<=a XOR b OR c;
END IF;
END PROCESS;
END;
12、
(1) PROCESS(…) --本题中两条IF语句均为信号c进行可能赋值,VHDL语言不允许
IF a=b THEN
c<=d;
END IF;
IF a=4 THEN
c<=d+1;
END IF;
END PROCESS;
(2)ARCHITECTURE behave OF mux IS --同时为q进行多次可能赋值,VHDL语言不允许
BEGIN
q<=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) ELSE
d WHEN a=0 ELSE
c WHEN b=1 ELSE
1011;
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<= count
16、修改正确如下所示:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY CNT10 IS
PORT ( clk: IN STD_LOGIC;
q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END CNT10;
ARCHITECTURE bhv OF CNT10 IS
SIGNAL q1 : STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PROCESS (clk)
BEGIN
IF RISING_EDGE(clk) begin –begin修改为THEN
IF q1 < 9 THEN --q1为STD_LOGIC数据类型,而9为整型不可直接比较
q1 <= q1 + 1; -- q1为STD_LOGIC数据类型,而1为整型不可直接相加
ELSE
q1 <= (OTHERS => 0);
END IF;
END IF;
END PROCESS;
q <= q1;
END bhv;
17、使用IF语句实现
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mux21 IS
PORT(ain,bin,sel:IN STD_LOGIC_VECTOR(1 DOWNTO 0);
cout:OUT STD_LOGIC_VECTOR(1 DOWNTO 0));
END;
ARCHITECTURE bhv OF mux21 IS
SIGNAL cout_tmp:STD_LOGIC_VECTOR(1 DOWNTO 0);
BEGIN
PROCESS(ain,bin,sel)
BEGIN
IF (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、CPLD
3、.vhd
4、输入、综合、适配、仿真、下载
5、RTL Viewer、Technology Map Viewer
6、功能、参数含义、使用方法、硬件描述语言、模块参数设置
7、mif、hex
8、根目录
二、选择题
1、C
2、D
第七章 有限状态机设计
一、设计题
1、
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY ztj IS
PORT(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 IS
TYPE state IS(s0,s1,s2,s3); --用枚举类型定义状态,简单直观
SIGNAL current_state,next_state:state; --定义存储现态和次态的信号
BEGIN
p1:PROCESS(clk) --状态更新进程
BEGIN
IF clkEVENT AND clk=1 THEN
IF reset=1 THEN current_state<=s0;
ELSE current_state<=next_state;
END IF;
END IF;
END PROCESS;
p2:PROCESS(current_state,in_a) --次态产生进程
BEGIN
CASE current_state IS
WHEN 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<=s0
ELSE 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)
BEGIN
CASE current_state IS
WHEN 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 IS
PORT(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 IS
TYPE state IS(s0,s1,s2,s3); --用枚举类型定义状态,简单直观
SIGNAL current_state,next_state:state;
BEGIN
p1:PROCESS(clk) --状态更新进程
BEGIN
IF clkEVENT AND clk=1 THEN
IF reset=1 THEN current_state<=s0;
ELSE current_state<=next_state;
END IF;
END IF;
END PROCESS;
p2:PROCESS(current_state,ina)
BEGIN
CASE current_state IS
WHEN 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 IEEE.STD_LOGIC_1164.ALL;
ENTITY ztj IS
PORT(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 IS
TYPE state IS(s0,s1,s2,s3); --用枚举类型定义状态,简单直观
SIGNAL state:istate;
BEGIN
p1:PROCESS(clk)
BEGIN
IF clkEVENT AND clk=1 THEN
IF reset=1 THEN state<=s0;result<=0;
ELSE
CASE state IS
WHEN 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、触发器、1
4、D触发器、RS触发器、JK触发器、T触发器
二、选择题
1、A
2、C
- 内容简介:
-
-
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。