版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章3- 5设计一个4选1多路选择器,当选择输入信号分别取“00”“ 01” “ 10”和“1T时,输出信号分别与一路输入信号相连。LIBRARY IEEE;USE IEEE.STD LOGIC 1164.ALL;ENTITY MAX4_1 ISP ORT(A,B,C,D,S1,S2 : IN STD_LOGIC;Y : OUT STD_LOGIC);END ENTITY MAX4_1;ARCHITECTURE HF1 OF MAX4_1 ISSIGNAL SS : STD_LOGIC_VECTOR (0 TO 1); BEGINSS Y Y Y Y NULL;END CASE;END P
2、ROCESS;END HF1;3- 6设计一个7人表决电路,参加表决者7人,同意为1,不同意为 0,同意者过半则表决通过,绿指示灯亮;表决不通过则红指示灯亮。 设计思路:根据7人表决电路设计要求,7人中至少有4个通过才可以表决通过, 故可以在程序中设置一个变量 TEMP使其在表决电路中遇1则加1,遇0则加0(设计中1表示通过,0表示不通过)。当TEMP=4寸,表示表决通过,当TEMPv4 时表决不通过。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY VOTE7 ISP ORT (ME
3、N:IN STD_LOGIC_VECTOR(6 DOWNTO 0);OUT PUT: OUT BIT);END VOTE7;ARCHITECTURE BEHA VE OF VOTE7 ISBEGINP ROCESS(MEN)VARIABLE TEMP: INTEGER RANGE 0 TO 7;BEGINTEMP :=0;FOR I IN 0 TO 6 LOOPIF(MEN(I)=1)THENTEMP :=TE MP+1;ELSETEMP :=TE MP;END IF;END LOOP;CASE TEMP ISWHEN 0 TO 3 =OUT PUTOUT PUT=1;END CASE ;EN
4、D P ROCESS;END BEHAVE;第四章4- 6试写出4选1多路选择器VHDL描述。选择控制信号为S1和S0, 输入信号为A,B, C D输出信号为YoLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX4tA IS-输入信号-输出信号PORT (A,B,C,D,S0,S1:IN STD_LOGIC;Y:OUT STD_LOGIC);END ENTITY MUX41A;ARCHITECTURE ONE OF MUX41A ISSIGNAL S:STD_L0GIC_VECT0R(1 DOWNTO 0);BEGIN-并置操作,获得二维矢量
5、数据类型-敏感信号S Y Y Y YNULL;END CASE;END P ROCESS;END ARCHITECTURE ONE;4- 7使给出1位全减器的VHDL描述,要求:首先设计1位半减器,然后 用例化语句将它们连接起来。设X为被减数,Y为减数,SUB_IN是借 位输入,DIFF是输出差,SUB_OU是借位输出。(1.1):实现 1 位半减器 H_SUBER(DIFF=X-Y ; S_OUT=1,XY)LIBRARY IEEE;-半减器描述(1):布尔方程描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY H_SUBER ISP ORT(X,Y: IN STD
6、_LOGIC;DIFF,S_OUT: OUT StD_LOGIC);END ENTITY H_SUBER;ARCHITECTURE HS1 OF H_SUBER ISBEGINDIFF = X XOR (NOT Y);S_OUT XIN,Y=YIN, DIFF=A, S_OUT=B);U2:H_SUBER PORT MAP(X=A, Y=SUB_IN, DIFF=DIFF_OUT,S_OUT=C); SUB_OUT = C OR B;END ARCHITECTURE FS1;二进制全加器,元件声明与元件例化( COMPONENT,PORT)MAP / 或门LIBRARY IEEE; ;USE
7、IEEE.STD_LOGIC_1164.ALL;ENTITY OR2A ISPORT(A,B : IN STD_LOGIC; C : OUT STD_LOGIC);END OR2A;ARCHITECTURE ART1 OF OR2A IS BEGINC=A OR B;END ART1;/半加器; LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY H_ADDER ISPORT(A,B : IN STD_LOGIC; CO,SO: OUT STD_LOGIC);END H_ADDER;ARCHITECTURE ART2 OF H_ADDER IS BE
8、GINSO = A XOR B;CO E,B=CIN,CO=F,SO=SUM); U3:OR2A P ORT MAP( D,F,COUT);END ART3;第五章5- 1.试说明实体端口模式BUFFERS INOUT勺不同之处?答:BUFFER端 口:缓冲模式,具有读功能的输出模式,即信号输出 到实体外部,但同时也在内部反馈使用,不允许作为双向端口使用。而INOUT端口:双向模式,即信号的流通是双向的,既可以对此端口 赋值,也可以通过此端口读入数据。5- 2.VHDL的数据对象有哪几种?它们之间有什么不同?答:VHDL的数据对象有三种:信号、变量、常量。 它们之间的的区别如下:信号赋值至少有
9、延时,而变量和常量没有;信号除当前值外,有许 多相关信息,变量只有当前值,常量的值在设计实体中始终不变;进程对信号敏感而对变量及常量不敏感;信号可以是多个进程的全局信号,变量只在定义它们的顺序域可见, 而常量的使用范围取决于它被 定义的位置 ; 信号是硬件连线的抽象描述信号赋值, 赋值符号 = 而 变量和常量的赋值符号 := 。5-3. 说明下列各定义的意义:SIGNALa , b , c : BIT : =0;CONSTANT TIME1 , TIME2 : TIME : 20ns ;VARIABLEx , y , z : STD_LOGIC : =x;答:G定义3个位数据类型的信号A B、
10、C,它们取值为0;定义2个时间数据类型的常量TIME1 TIME2,它们值为20NS;定义3个标准逻辑位STD_LOGIC数据类型的变量X、Y、乙它们 的值是强未知的。5-4. 什么是重载函数?重载运算符有何用处?如何调用重载运算符 函数?答:为了方便各种不同数据类型间的运算,VHDL允许用户对原有的基本操作符重新定义, 赋予新的含义和功能, 从而建立一种新的操作 符,这就是重载操作符,定义这种操作符的函数成为重载函数。重载 运算符的作用是为了方便各种不同的数据类型间的运算。 要调用重载 运算符函数, 先要在程序包中进行函数体的定义, 调用的格式如下 : X =函数名(参数1,参数2,)参数个
11、数和类型与所定义的函数要保持一致。5-5.数据类型BIT INTEGER BOOLEAN分别定义在哪个库中?哪 些库和程序包总是可见的?答:数据类型 BIT INTEGER BOOLEAN均定义在 STD库中。IEEE库 和 程 序 包 STD_LOGIC.1164 、 STD_LOGIC_UNSIGNE、DSTD LOGIC SIGNED5TD LOGIC ARIT等总是可见的。5-6. 函数和过程有什么区别?答:子程序有两种类型,即过程(PROCEDUF和函数(FUNCTION) 它们的区别在于: 过程的调用可以通过其界面获得多个返回值, 而函 数只能返回一个值;在函数入口中,所有参数都是
12、输入参数,而过程 有输入参数、输出参数和双向参数;过程一般被看作一种吾句结构, 而函数通常是表达式的一部分; 过程可以单独存在, 而函数通常作为 吾句的一部分调用。5-7.若在进程中加入WAIT吾句,应注意哪几个方面的问题?答:应注意以下问题:已列出敏感信号的进程中不能使用任何形式 的WAIT语句;G2般情况下,只有 WAITUNTIL格式的等待语句可以 被综合器所接受,其余语句格式只能在 VHDL仿真器中使用;C3在使 用WAITON语句的进程中,敏感信号量应写在进程中的 WAITON语句 后面;G4在不使用WAITON语句的进程中,敏感信号量应在开头的关 键词PROCES后面的敏感信号表中
13、列出。5-8.哪些情况下需用到程序包STD_LOGIC_UNSIGN试举一例。答:调用数据类型变换函数或重载运算符函数时;定义UNSIGNED类型的数据时。举例如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;IF TEMP=11111111THEN TEMP:= 00000000;ELSE TEMP:二TE MP +16;END IF;5-9. 为什么说一条并行赋值语句可以等效为一个进程?如果是这样 的话,怎样实现敏感信号的检测? 答:因为信号赋值语句的共同点是赋值目标必须都是信号, 所有赋
14、值 语句与其它并行语句一样, 在结构体内的执行是同时发生的, 与它们 的书写顺序没有关系, 所以每一信号赋值语句都相当于一条缩写的进 程语句。由于这条语句的所有输入信号都被隐性地列入此缩写进程的 敏感信号表中, 故任何信号的变化都将相关并行语句的赋值操作, 这 样就实现了敏感信号的检测。5-10.比较CASEg句禾n WITH_SELE(语句,叙述它们的异同点?答:相同点:CASE语句中各子句的条件不能有重叠,必须包容所有 的条件;WITH_SECLEC语句也不允许选择值有重叠现象,也不允许 选择值涵盖不全的情况。 另外,两者对子句各选择值的测试都具有同 步性,都依赖于敏感信号的变化。不同点:
15、CASE语句只能在进程中使用,至少包含一个条件语句,可以有多个赋值目标; WITH_SECLECT 语句根据满足的条件,对信号进行赋值,其赋值目标只有一个,且必 须是信号。5-11 .将以下程序段转换为WHEN_EU语句:PROCESS (a , b ,c ,d)BEGINIF a=0AND b= 1THEN NEXT11=101 ;ELSEIF a= 0THEN NEXT1 =d;ELSEIF b= 1THEN NEXT1 =c;ELSE NEXT11=011 ;END IF;END PROCESS;原程序转换如下 :ARCHITECTURE one OF mux ISBEGINPROCES
16、S (a , b ,c ,d)BEGINNEXT1 =1101WHEN a= 0AND b=1 ELSE d WHEN a=0 ELSEc WHEN b=1 ELSE1011;END one;END PROCESS;5-12 使给出一位全减器的算法描述、数据流描述、结构描述和混合 描述。数据流描述:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY F_SUB1 ISPORT(A,B :IN STD_LOGIC;CIN :IN STD_LOGIC;DIFF,COUT : OUT STD_
17、LOGIC);END;ARCHITECTURE A OF F_SUB1 ISSIGNAL S :STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINS DIFF=0;COUT DIFF=1;COUT DIFF=1;COUT = = = =DIFF=0;COUT=0;DIFF=1;COUT=1;DIFF=0;COUT=1;DIFF=0;COUT=0;DIFF=1;COUT DIFF=X;COUT=X;END CASE;END PROCESS;END A;行为描述:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC
18、_UNSIGNED.ALL;ENTITY F_SUB4 ISPORT(A,B,CIN : IN STD_LOGIC;DIFF,COUT : OUT STD_LOGIC);END;ARCHITECTURE A OF F_SUB4 ISBEGINDIFF=A XOR B XOR CIN;COUT=(NOT A AND B) OR (NOT A AND CIN) OR (B AND CIN); END A;5-13用VHD描述下列器件的功能:(1) 十进制BCD码编码器,输出使能为低电平有效。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY BIN_BC
19、D ISPORT(BIN : IN INTEGER RANGE 0 TO 20;-ENABCD_OUT);: IN STD_LOGIC;: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)ARCHITECTURE A OF BIN_BCD ISBEGIN BINARY_BCD : BLOCKBEGINBCD_OUT = 00000000 WHEN BIN = 0 ELSE 00000001 WHEN BIN = 1 ELSE 00000010 WHEN BIN = 2 ELSE 00000011 WHEN BIN = 3 ELSE 00000100 WHEN BIN = 4 E
20、LSE 00000101 WHEN BIN = 5 ELSEEND;6 ELSE7 ELSE8 ELSE9 ELSE10 ELSE11 ELSE12 ELSE13 ELSE14 ELSE15 ELSE16 ELSE17 ELSE18 ELSE19 ELSE20 ELSE00000110 WHEN BIN00000111 WHEN BIN00001000 WHEN BIN00001001 WHEN BIN00010000 WHEN BIN00010001 WHEN BIN00010010 WHEN BIN00010011 WHEN BIN00010100 WHEN BIN00010101 WHE
21、N BIN00010110 WHEN BIN00010111 WHEN BIN00011000 WHEN BIN00011001 WHEN BIN00100000 WHEN BIN 00000000;END BLOCK;END A;(2) 时钟(可控)RS峨器。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FFRS ISPORT(S,R: IN STD_LOGIC;Q,QB: OUT STD_LOGIC);END FFRS;ARCHITECTURE RTL OF FFRS ISSIGNAL QN,NQN: STD_LOGIC;BEGINQN=
22、R NOR NQN;NQN= S NOR QN;Q=QN;QB=NQN;END RTL;(3) 带复位端、置位端、延迟为15NS的响应CP下降沿触发的JK触 发器。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JKFF ISPORT( J,K,RST,CLR : IN BIT; CLK : IN BIT;Q,NQ : OUT BIT);END;ARCHITECTURE A OF JKFF ISSIGNAL Q_S,NQ_S : BIT;BEGINPROCESS(J,K,RST,CL
23、R,CLK)BEGINIF RST=1 THENQ_S=1;NQ_S=0;ELSIF CLKEVENT AND CLK=0 THENIF CLR=1 THENQ_S=0;NQ_S=1;ELSIF J=0 AND K=1 THENQ_S=0;NQ_S=1;ELSIF J=1 AND K=0 THENQ_S=1;NQ_S=0;ELSIF J=1 AND K=1 THENQ_S=NOT Q_S;NQ_S=NOT NQ_S;END IF;ELSENULL;END IF;Q=Q_S;NQ=NQ_S;END PROCESS;END A;( 4)集成计数器 74161LIBRARY IEEE;USE IEE
24、E.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_IN0);ELSIF CLKEVENT AND CLK=1 THENIF LDN=0
25、 THENCNT:=DATA_IN;ELSECNT:=CNT+1;END IF;END IF;CASE CNT ISWHEN 1111= CARRY CARRY=0; END CASE;QA=CNT(0);QB=CNT(1);QC=CNT(2);QD=CNT(3);END PROCESS;END A;5-14用VHDL苗述一个三态输出的双4选一的数据选择器,其地址信 号共用,且各有一个低电平有效的使能端。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DUAL_MUX_41 ISPORT(A,B,C,D : IN STD_LOGIC;ENA_N,
26、ENB_N : IN STD_LOGIC;S : IN STD_LOGIC_VECTOR(1 DOWNTO 0);OUTA,OUTB : OUT STD_LOGIC);END;ARCHITECTURE A OF DUAL_MUX_41 ISSIGNAL P,Q : STD_LOGIC_VECTOR(2 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 WH
27、EN 001,C WHEN 010,D WHEN 011,Z WHEN OTHERS;END A;5-15 试用并行信号赋值语句分别描述下列器件的功能:(1) 3-8 译码器(2) 8 选1数据选择器1)功能描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder38 ISPORT(a,b,c,g1,g1a,a2b:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END decoder38;ARCHITECTURE behave38 OF decoder38 ISSIGNAL in
28、da: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN indaqqqqqqqqq=XXXXXXXX;END CASE;ELSE q=11111111;END IF;END PROCESS;END behave38; (2)功能描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux8 ISPORT(d0,d1,d2,d3,d4,d5,d6,d7:IN STD_LOGIC_VECTOR(7 DOWNTO 0);s0,s1,s2:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END mux8; ARCHITECTURE behave OF mux8 ISSIGNAL s: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINs =s2&s1&s0;WITH s SECLECTd =d0 WHEN 000, d1 WHEN 001, d2 WHEN 010, d3 WHEN 011, d4 WHEN 100,d5 WHEN 101,d6 WHEN 110,d7 WHEN 111, X WHEN OTHERS; END behave;5-1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东理工学院《博弈论基础》2023-2024学年第一学期期末试卷
- 广东科技学院《建筑工程识图与构造》2023-2024学年第一学期期末试卷
- 广东江门幼儿师范高等专科学校《Prote软件技术》2023-2024学年第一学期期末试卷
- 广东机电职业技术学院《工程流体力学》2023-2024学年第一学期期末试卷
- 广东行政职业学院《擒拿防卫术》2023-2024学年第一学期期末试卷
- 广东工业大学《美术技法(一)》2023-2024学年第一学期期末试卷
- 广东财经大学《医药人力资源管理》2023-2024学年第一学期期末试卷
- 交通安全课件
- 《疾病预防与控制》课件
- 广东财经大学《工程地震与结构抗震》2023-2024学年第一学期期末试卷
- 2018年海南公务员考试申论真题
- GB/T 28799.2-2020冷热水用耐热聚乙烯(PE-RT)管道系统第2部分:管材
- 《毛泽东思想概论》题库
- 劳务派遣人员考核方案
- 意志力讲解学习课件
- 生产作业员质量意识培训课件
- 固定资产报废管理办法
- 《路由与交换》课程标准
- 工程开工令模板
- 福建省漳州市各县区乡镇行政村村庄村名明细及行政区划代码
- 员工投诉表格样板
评论
0/150
提交评论