ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:20.17KB ,
资源ID:16768253      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16768253.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VHDL考试必备大全.docx)为本站会员(b****7)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

VHDL考试必备大全.docx

1、VHDL考试必备大全一、填空题1、三种可编程逻辑器件:EEPROM 、GAL、FPGA 。2、VHDL程序包含实体、构造体、配置、程序包、和库五部分。3、结构体的子程序描述语句:块BLOCK、进程PROCES、和子程序SUBPROGRAMS结构。4、VHDL的客体包括了常数、变量和信号。5、VHDL的数据类型:整数、实数、位、位矢量、字符、布尔量、时间、字符串 。 std_logic是决断类型。7、构造体的描述方式包括三种,分别是结构、数据流、行为描述方式。8、双向端口是用inout表示,构造体内部可再次使用的输出是缓冲用buffer表示。9、VHDL的运算符优先级:逻辑运算符关系运算符算术运

2、算符。 10、定义一个信号a,数据类型为4位标准逻辑向量signal a : std_logic_vector(3 downto 0)定义一个变量b,数据类型为2位位向量variable b : bit_vector(1 downto 0) 。11、Moore状态机输出只是当前状态的函数,Mealy为有限状态机当前值和输入值的函数 12、在VHDL的常用对象中,信号、变量可以被多次赋予不同的值,常量只能在定义时赋值。13、进程必须位于 结构体 内部,变量必须定义于 进程/包/子程序 内部。14、并置运算符 & 的功能是 把多个位或位向量合并为一个位向量 。15、判断CLK信号上升沿到达的语句是

3、 if clkevent and clk = 1 then .16、任何时序电路都以 时钟 为驱动信号,时序电路只是在 时钟信号的边沿 到来时,其状态才发生改变。17、一个信号处于高阻(三态)时的值在VHDL中描述为Z。18、赋值语句是并行执行的,if语句是串行执行的。知识点1.信号与变量的区别:信号延时赋值,变量立即赋值信号代入用=,变量代入用:=信号除当前值外还有许多相关信息,而变量只有当前值进程对信号敏感而不对变量敏感信号可以是多个进程的全局信号,而变量只是定义他们的顺序域可见。信号时硬件中连线的抽象描述,其功能是保存变化的数据值和连接子元件,信号在元件的端口连接元件,变量在硬件中没有类

4、似的对应关系,主要应用于高层次的建模中2.命名规则:由字母、数字、下划线组成第一个字符必须是字母,最后一个字符不能是下划线不能连用下划线不能和关键字或保留字相同。3.五类常用库:IEEE库、STD库、WORK库、ASIC矢量库、用户自定义库,其中STD(textio包集合除外)和WORK不同预先说明。2、编程题下划线1.设计一个异或门(采用行为描述方式)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY xor2_v1 IS PORT(a,b: IN STD_LOGIC; y: OUT STD_LOGIC);END xor2_v1;ARCHITECT

5、URE behave OF xor2_v1 ISBEGIN y = a XOR b;END behave; 2.编写一个8线3线编码器的VHDL程序(采用行为描述方式)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY coder83_v1 IS PORT(I0,I1,I2,I3,I4,I5,I6,I7: IN STD_LOGIC; A0,A1,A2: OUT STD_LOGIC);END coder83_v1;ARCHITECTURE behave OF coder83_v1 ISBEGIN A2 = I4 OR I5 OR I6 OR I7; A

6、1 = I2 OR I3 OR I6 OR I7; A0 = I1 OR I3 OR I5 OR I7;END behave;3.以74148逻辑表达式为依据,编写一个8线3线优先编码器的VHDL程序(行为)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY prioritycoder83_v1 IS PORT(I7,I6,I5,I4,I3,I2,I1,I0 : IN STD_LOGIC; EI:IN STD_LOGIC; A2,A1,A0: OUT STD_LOGIC; GS,EO:OUT STD_LOGIC);END prioritycoder8

7、3_v1;ARCHITECTURE behave OF prioritycoder83_v1 ISBEGIN A2 = EI OR (I7 AND I6 AND I5 AND I4); A1 = EI OR (I7 AND I6 AND I3 AND I2) OR (I7 AND I6 AND NOT I5) OR (I7 AND I6 AND NOT I4) ; A0 = EI OR (I7 AND NOT I6) OR (I7 AND I5 AND NOT I4) OR (I7 AND I5 AND I3 AND I1) OR (I7 AND I5 AND I3 AND NOT I2);

8、GS = EI OR (I7 AND I6 AND I5 AND I4 AND I3 AND I2 AND I1 AND I0); EO Y Y Y Y Y Y Y Y =01111111; END CASE; ELSE Y =11111111; END IF; END PROCESS;ENDdataflow;5.编写一个8选1数据选择器的VHDL程序(IF语句)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux8_v2 IS PORT(A: IN STD_LOGIC_VECTOR (2 DOWNTO 0); D0,D1,D2,D3,D4,D

9、5,D6,D7:IN STD_LOGIC; G:IN STD_LOGIC; Y: OUT STD_LOGIC; YB:OUT STD_LOGIC);END mux8_v2;ARCHITECTURE dataflow OF mux8_v2 IS BEGIN PROCESS (A,D0,D1,D2,D3,D4,D5,D6,D7,G)BEGIN IF (G =1) THEN Y =0; YB =1; ELSIF(G=0AND A=000)THEN Y = D0; YB = NOT D0; ELSIF(G=0AND A=001)THEN Y = D1; YB = NOT D1; ELSIF(G=0AN

10、D A=010)THEN Y = D2; YB = NOT D2;ELSIF(G=0AND A=011)THEN Y = D3; YB = NOT D3; ELSIF(G=0AND A=100)THEN Y = D4; YB = NOT D4; ELSIF(G=0AND A=101)THEN Y = D5; YB = NOT D5; ELSIF(G=0AND A=110)THEN Y = D6; YB = NOT D6; ELSE Y = D7; YB B) THEN YA =1; YB =0; YC =0; ELSIF(A B) THEN YA =0; YB =1; YC =0; ELSE

11、YA =0; YB =0; YC =1; END IF; END PROCESS; END behave; 7.编写一个用“+”实现加法运算的8位加法器的程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder8_v IS PORT(A :IN STD_LOGIC_VECTOR(7 DOWNTO 0); B :IN STD_LOGIC_VECTOR(7 DOWNTO 0); Cin:IN STD_LOGIC; Co : OUT STD_LOGIC; S :OUT STD_LOG

12、IC_VECTOR(7 DOWNTO 0);END adder8_v;ARCHITECTURE behave OF adder8_v IS SIGNAL Sint : STD_LOGIC_VECTOR(8 DOWNTO 0); SIGNAL AA,BB: STD_LOGIC_VECTOR(8 DOWNTO 0);BEGINAA =0& A(7 DOWNTO 0);BB =0& B(7 DOWNTO 0); Sint = AA + BB + Cin; S(7 DOWNTO 0) = Sint(7 DOWNTO 0); Co = Sint(8); END behave;8.编写一个8求补器的程序。

13、library ieee; use ieee.std_logic_1164.all; entity hosuu is port( a: in std_logic_vector(7 downto 0); b: out std_logic_vector(7 downto 0); end hosuu; architecture rtl of hosuu is begin b=not a + 1;end rtl; 9.编写一个三态门程序library ieee; use ieee.std_logic_1164.all; entity tri_gate is port( din,en: in std_l

14、ogic; dout : out std_logic); end tri_gate ; architecture zas of tri_gate is begin tri_gate: process(din,en) Begin if(en=1) then dout=din; else dout=Z; end if; end process; end zas;10.D 触发器(带有异步置位复位功能)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY d_ffy IS PORT( clk,d,set,reset : IN STD_LOGIC; q,qd

15、:OUT STD_LOGIC );END d_ffy;ARCHITECTURE a OF d_ffy IS BEGINPROCESS(clk,set,reset)BEGIN IF (set=0 AND reset=1) THEN q=1; qd=0; ELSIF (set=1 AND reset=0) THEN q=0; qd=1; ELSIF (clkEVENT AND clk=1) THEN q=d; qd=NOT d; END IF;END PROCESS;END a;11. jk 触发器(带有异步置位复位功能)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.A

16、LL ;ENTITY jk_asr_ff ISPORT ( j , k ,clk ,set , res : IN STD_LOGIC ; q , qb : OUT STD_LOGIC ) ; END jk_asr_ff ;ARCHITECTURE behave OF jk_asr_ff IS SIGNAL q_temp : STD_LOGIC ; signal jk_temp : STD_LOGIC_VECTOR( 1 DOWNTO 0 ) ; BEGIN jk_temp = j&k; PROCESS( clk , set , res ) BEGIN IF set= 0 THEN q_temp

17、 = 0; ELSIF res = 0 THEN q_temp q_temp q_temp q_temp q_temp q_temp = X; END CASE ; END IF ; END IF; END PROCESS ; q = q_temp ; qb = NOT q_temp ;END behave; 12. 带有使能端的RS触发器ENTITY RSlatch IS PORT( r , s , en :IN BIT ; q , qb : BUFFER BIT ) ;END RSlatch ;ARCHITECTURE rs_archi OF RSlatch ISSIGNAL s1 , r

18、1 : BIT ;BEGIN s1 = s NAND en ; r1 = r NAND en ; qb= r1NAND q ; q = s1 NAND qb ;END rs_archi ;13. 带异步置位/复位的通用寄存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY registern ISGENERIC (n:INTEGER:=1);PORT( d : IN STD_LOGIC_VECTOR(n DOWNTO 0); clk,en,set,reset : IN STD_LOGIC; q : BUFFER STD_LOGIC_VECTOR(n

19、 DOWNTO 0);END registern;ARCHITECTURE a OF registern ISBEGINPROCESS (clk,set,reset) BEGIN IF (set=0 AND reset=1) THEN q1); ELSIF (set=1 AND reset=0) THEN q0); ELSIF (clkEVENT AND clk=1) THEN IF (en=1 ) THEN q=d; ELSE qclk,d=d,q=q(i); END GENERATE; g2: IF(i/=0) GENERATE dffx:d_ff PORT MAP(clk=clk,d=q

20、(i-1),q=q(i); END GENERATE;END GENERATE ;END a; ARCHITECTURE aa OF shiftb ISBEGINPROCESS(clk)BEGINIF(clkEVENT AND clk=1) THEN q(0)=d; FOR i IN 1 TO n LOOP q(i)=q(i-1); END LOOP ; END IF;END PROCESS;END aa; 15. 循环移位寄存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY shiftx ISPORT( clk,load : IN STD_LO

21、GIC; d : IN STD_LOGIC_VECTOR(3 DOWNTO 0); q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END shiftx;ARCHITECTURE aa OF shiftx ISSIGNAL tmp : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINq=tmp;PROCESS(clk)BEGINIF(clkEVENT AND clk=1) THEN IF(load=0) THEN tmp=d; ELSE tmp(0)=tmp(3); tmp(3 downto 1)=tmp(2 downto 0); END IF;E

22、ND IF;END PROCESS;END aa; 16.60进制递增计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY cntm60v IS PORT( en : IN std_logic; clear : IN std_logic; load : IN std_logic; dl,dh : IN std_logic_vector(3 downto 0); clk : IN std_logic; cout : out std_logic; ql : buffer std_logi

23、c_vector(3 downto 0); qh : buffer std_logic_vector(3 downto 0) );END cntm60v;ARCHITECTURE behave OF cntm60v IS signal ent2 : std_logic;BEGIN PROCESS (clk) VARIABLE tmpl,tmph :std_logic_vector(3 downto 0); BEGIN IF(clear=0) THEN tmpl:=0000; tmph:=“0000”; - -异步清零 ELSIF(clkEVENT AND clk = 1) THEN IF lo

24、ad=0 THEN tmpl:=dl; tmph:=dh; - - 同步置数 elsif(en=1) then if (tmpl=1001) then tmpl:=“0000”; - -个位计数器9+1=0 if(tmph=0101) then tmph:=“0000”; - -十位计数器5+1=0 59+1=0 else tmph:=tmph+1; end if; else tmpl:=tmpl+1; end if; end IF; -end lf (load) END IF; -end if clear ql = tmpl; ent2 = tmpl(3) and tmpl(0) and en; qh=tmph; cout=tmph(2) and tmph(0) and ent2; - -计数器为59时进位信号 cout 输出1。 END PROCESS;END behave ;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2