根据VHDL复习提纲整理的复习资料
更新时间:2023-09-29 23:57:01 阅读量: 综合文库 文档下载
一、 部分小题应掌握内容
1. 常用简写的英文全称和中文意思EDA,VHDL,FPGA,CPLD,ASIC,SOC EDA全称Electronic Design Automation,电子设计自动化
VHDL全称VHSIC Hardware Description Language,硬件描述语言 FPGA全称Field Programmable Gate Array,现场可编程门阵列
CPLD全称Complex Programmable Logic Device,复杂可编程逻辑器件 ASIC全称Application Specific Intergrated Circuit,专用集成电路 SOC全称System On a Chip,单片电子系统
2. VHDL设计过程,设计的输入方式
VHDL设计过程包括设计准备、设计输入、设计实现、器件编程与配置、设计验证;
设计的输入方式有文本输入、状态图输入、波形图输入、原理图输入。
3. 常用的硬件描述语言主要有? VHDL, AHDL, Verilog HDL, ABEL等。
4. 可编程逻辑器件的构成方法也即CPLD和FPGA的原理,(乘积项、查找表法的原理)
CPLD基于乘积项技术;FPGA基于查找表技术。
5. 完整的VHDL程序叫做设计实体,完整的VHDL程序的构成? 完整的VHDL程序由库、程序包、实体、结构体和配置等部分构成。
6. VHDL库的情况,有哪些库,哪些主要的包,工作库是什么,哪些库默认打开
VHDL语言的库分为两类:设计库和资源库;
库的种类:IEEE库、STD库、WORK库、VITAL库等;
常用的预定义程序包有:STD_LOGIC_1164程序包、STD_LOGIC_ARITH程序包、STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED程序包、STANDARD和TEXTIO程序包;
工作裤是一个逻辑名,用于存放用户设计和定义的一些设计单元和程序包; STD库和WORK库是默认打开的。
7. VHDL的操作符有哪些?VHDL命名规则(正确错误的命名)。数值表示方法(判断不同写法数据的大小)
VHDL的操作符包括逻辑操作符、关系操作符、算术操作符和符号操作符。 VHDL命名规则:由字母、数字或‘_’组成,必须以英文字母开头’‘_’后必须有字母或数字,不区分大小写。
数字表示:15E2=1500, 45_234_287=45234287
8. 端口类型,数据对象有哪些?
端口类型包括IN , OUT , INOUT , BUFFER; 数据对象包括常数、变量、信号。
9. 变量、信号的相关知识,异同点,电气特性赋值方法,赋值相关特点等等。 变量:
赋值符号:=,功能:内部数据交换,作用范围:进程内部,行为:立即赋值; 信号:
赋值符号<=,功能:电路的内部连接,作用范围:全局、进程和进程间的通信,行为:延迟一定时间后才赋值。
10.函数的重载和过程的重载的相关知识。 略
11. 状态机的相关知识。不同分类方法所分的两种类型。具体编程 从状态机的信号输出方式上分,有Mealy和Moore型两种状态机; 从结构上分,有单进程状态机和多进程状态机;
从状态表达方式上分,有符号状态机和确定状态编码的状态机; 从编码方式上分,有顺序编码状态机、一位热码编码状态机或其他编码方式状态机。
具体编程见附件。
12. EDA工作设计流程
EDA设计流程包括设计准备、设计输入、设计实现、器件编程与配置、设计验证。
13. 顺序语句和并行语句,顺序语句有哪些?并行语句有哪些。具体到CASE语句的使用,PROCESS语句的特点及使用。
顺序语句:IF,CASE,LOOP,NEXT,WAIT,EXIT,RETURN,赋值语句,空操作语句
并行语句:实体说明语句,端口说明语句,块语句,元件例化语句,生成语句等
14. QuartusII软件使用过程中的一些知识,最常用的,只要自己实验认真做过的都知道。 略
15. 上升沿,下降沿的产生方法
上升沿:IF CLK’ EVENT AND CLK=’1’;下降沿:IF CLK’ EVENT AND CLK=’0’。
16. 转换函数知识。 略P261
17. 各种语句if case 例化语句 PROCESS语句等
填空选择总共50分,总的来说就是这几个方面:第一章基础知识、第二章硬件特性(一二章10分左右)、第七章VHDL语句(5)、第八章VHDL结构(5)、第三章涉及的部分细节(25分左右)、第五章状态机部分知识(5分左右) 各章节有交叉以上统计不严谨,仅供参考。
二、大题应主要掌握内容(程序填空和2个大题20+15+15)
1. PPT所讲过的例题。 2. 作业题
3. 实验做过的题目
触发器,门电路,计数器,译码器,一位全加器,一位全减器,移位器,锁存器,状态机等等。
附件:
1.二选一数据选择器 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; 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 b ;
END ARCHITECTURE one ;
2. 触发器 LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS
PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END DFF1;
ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; BEGIN
PROCESS (CLK) BEGIN
IF CLK'EVENT AND CLK = '1' THEN Q1 <= D ; END IF;
END PROCESS ; Q <= Q1 ; END bhv;
3. 带异步复位和同步时钟使能的十进制加法计数器 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10 IS
PORT (CLK,RST,EN : IN STD_LOGIC;
CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT10;
ARCHITECTURE behav OF CNT10 IS
BEGIN
PROCESS(CLK, RST, EN)
VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN
IF RST = ‘1’ THEN CQI := (OTHERS =>‘0’) ; --计数器异步复位 ELSIF CLK‘EVENT AND CLK=’1‘ THEN --检测时钟上升沿 IF EN = ‘1’ THEN --(同步使能)
IF CQI < 9 THEN CQI := CQI + 1; --允许计数, 是否小于9 。>=9? ELSE CQI := (OTHERS =>‘0’) ; --大于9,计数值清零 END IF; END IF; END IF;
IF CQI = 9 THEN COUT <= ‘1’; --计数大于9,输出进位信号,计数次数? ELSE COUT <= '0'; END IF;
CQ<=CQI; --将计数值向端口输出 END PROCESS; END behav;
4. 移位寄存器 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164_ALL; ENTITY SHIFT IS
PORT(CLK,C0 : IN STD_LOGIC; --时钟和进位输入
MD : IN STD_LOGIC_VECTOR(2 DOWNTO 0); --移位模式控制字(6种模式)
D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --待加载数据 QB: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --移位数据输出
CN : OUT STD_LOGIC); --进位输出
END ENTITY;
ARCHITECTURE BEHAV OF SHIFT IS
SIGNAL REG : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL CY : STD_LOGIC; BEGIN
PROCESS (CLK,MD,C0) BEGIN
IF CLK’EVENT AND CLK = ‘1’ THEN CASE MD IS
WHEN “001” => REG(0) <=C0; REG(7 DOWNTO 1 ) <= REG(6 DOWNTO 0 );CY <=REG(7);
WHEN “010” => REG(0) <=REG(7); REG(7 DOWNTO 1 ) <= REG(6 DOWNTO 0 ); WHEN “011” => REG(7) <=REG(0); REG(6 DOWNTO 0 ) <= REG(7 DOWNTO 1 ); WHEN “100” => REG(7) <=C0; REG(6 DOWNTO 0 ) <= REG(7 DOWNTO 1 ); CY <=REG(0);
WHEN “101” => D(7 DOWNTO 0 ) <= REG(7 DOWNTO 0 ); WHEN OTHERS => REG <= REG; CY<=CY; --保持 END CASE; END IF ;
END PROCESS;
QB(7 DOWNTO 0) <= REG(7 DOWNTO 0 ); CN <= CY; END BEHAV;
5.一位全加器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_adder IS
PORT (ain,bin,cin : IN STD_LOGIC;
cout,sum : OUT STD_LOGIC ); END ENTITY f_adder;
ARCHITECTURE fd1 OF f_adder IS COMPONENT h_adder
PORT ( a,b : IN STD_LOGIC; co,so : OUT STD_LOGIC); END COMPONENT ; COMPONENT or2a
PORT (a,b : IN STD_LOGIC; c : OUT STD_LOGIC); END COMPONENT;
SIGNAL d,e,f : STD_LOGIC; BEGIN
u1 : h_adder PORT MAP(a=>ain,b=>bin,co=>d,so=>e); u2 : h_adder PORT MAP(a=>e, b=>cin, co=>f,so=>sum); u3 : or2a PORT MAP(a=>d, b=>f, c=>cout); END ARCHITECTURE fd1;
6.8-3优先编码器
LIBRARY IEEE; --8-3线优先编码器的VHDL描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY coder IS
PORT ( din : IN STD_LOGIC_VECTOR(0 TO 7);
output : OUT STD_LOGIC_VECTOR(0 TO 2) ); END coder;
ARCHITECTURE behavOF coder IS BEGIN
PROCESS (din) BEGIN
IF (din(7)='0') THEN output <= \ ELSIF (din(6)='0') THEN output <= \
ELSIF (din(5)='0') THEN output <= \ ELSIF (din(4)='0') THEN output <= \ ELSIF (din(3)='0') THEN output <= \ ELSIF (din(2)='0') THEN output <= \ ELSIF (din(1)='0') THEN output <= \ ELSE output <= \ END IF ; END PROCESS ; END behav;
7. 译码器
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all; entity Decoder is
port ( DIN : in std_logic_vector(3 downto 0); DOUT_n : out std_logic_vector(15 downto 0) ); end Decoder;
architecture Decoder_arch of Decoder is begin
gen : for i in 0 to 15 generate
DOUT_n(i) <= '0' when DIN = i else '1';
end generate;
end Decoder_arch;
8. 八位并入串出右移寄存器 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SHFRT IS --8位并入串出右移寄存器 PORT ( CLK,LOAD : IN STD_LOGIC;
DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); QB : OUT STD_LOGIC ); END SHFRT;
ARCHITECTURE behav OF SHFRT IS BEGIN
PROCESS (CLK, LOAD)
VARIABLE REG8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN
IF CLK'EVENT AND CLK = '1' THEN
IF LOAD = ‘1’ THEN REG8 := DIN; --由(LOAD=‘1’)装载新数据 ELSE REG8(6 DOWNTO 0) := REG8(7 DOWNTO 1); END IF;
END IF;
QB <= REG8(0); --输出最低位,在IF语句外不需要CLK 上升沿触发 END PROCESS; -- CLK 变化但未满足上升沿之前已经赋值给QB END behav;
9.状态机 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY S_MACHINE IS PORT (clk, reset : IN STD_LOGIC; st_input : IN STD_LOGIC_VECTOR(0 TO 1); comb_output : OUT STD_LOGIC_VECTOR(0 TO 3)); END S_MACHINE;
ARCHITECTURE bhv OF S_MACHINE IS TYPE FSM_ST IS (S0, S1,S2, S3); SIGNAL current_st, next_st : FSM_ST; BEGIN REG:PROCESS(reset, clk) BEGIN IF reset = '1' THEN current_st <= S0; ELSIF clk'EVENT AND clk = '1' THEN current_st <= next_st; END IF; END PROCESS; COM:PROCESS(current_st, st_input) BEGIN CASE current_st IS WHEN S0 => comb_output <= \ IF st_input = \ ELSE next_st <= S0; END IF; WHEN S1 => comb_output <= \ IF st_input = \ ELSE next_st <= S1; END IF; WHEN S2 => comb_output <= \ IF st_input = \ ELSE next_st <= S2; END IF; WHEN S3 => comb_output <= \ IF st_input = \
ELSE next_st <= S3; END IF; END CASE; END PROCESS; END bhv;
正在阅读:
根据VHDL复习提纲整理的复习资料09-29
发扬抗英精神----广州市三元里实践报告09-01
幼儿园《3-6岁儿童学习与发展指南》模拟测试卷 - 图文04-18
最新版2016年秋中石油华东《现代远程教育导论》学期在线作业(二)满分答案02-03
西安、武汉学生群体出游的规划01-09
教科版四年级品德与社会上册期末复习资料02-01
双管板胀接结构及工艺05-14
自考 - 04741 - 计算机网络原理 - 2008~2016 - 试题及答案 - 图05-30
天津变频供水设备07-20
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 复习资料
- 提纲
- 复习
- 根据
- 整理
- VHDL
- 学校管理学模拟试卷(三)有答案
- 2014上半年纸器品保部管理评审报告
- 生物必修三1-4章小测验
- 中小学生心理咨询记录表
- 单一危险保险合同
- 2018-2019-金婚庆祝活动主持词-范文word版(2页)
- 小学数学教学育苗指引
- 最新医院财务收费工作应急预案
- 电机与拖动基础练习题A带答案
- 第三章血药浓度测定及给药方案
- 对ERP系统在企业财务管理中的应用研究
- 论实质正义的普遍化 - 以我国的案例指导制度为样本
- 2016中考英语语法总复习讲义
- 《交通警察道路执勤执法工作规范》试题库
- 许志倩开题报告文献总结
- 企业管理计算题
- 《SQL数据库管理与开发》试题(M卷)
- 基于中国一东盟博览会背景下南宁市旅游业发展对策研究要点
- 2010年北京四区东西海朝语文一模汇编 - 图文
- 贝塞尔函数的有关公式