资源描述:
《vhdl实验新及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验1熟悉实验环境,完成下述实验内容:2输入与门、2输入或门、2输入异或门及非门的设计。D触发器的设计。带有异步清零、异步置位功能的边沿JK触发器的设计。1-1代码非门LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYNOTISPORT(A:INSTD_LOGIC;Y:OUTSTD_LOGIC);ENDENTITYNOT;ARCHITECTUREARTOFNOTISBEGINY<=NOTA;ENDARCHITECTUREART;1-1代码异或门LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;
2、ENTITYXOR2ISPORT(A,B:INSTD_LOGIC;Y:OUTSTD_LOGIC);ENDENTITYXOR2;ARCHITECTUREARTOFXOR2ISBEGINY<=AXORB;ENDARCHITECTUREART;1-2代码D触发器的设计libraryieee;useieee.std_logic_1164.all;entityd_chufaisport(clk,d:instd_logic;q:outstd_logic);endd_chufa;architecturebehavofd_chufaisbeginprocess(clk)isb
3、eginif(clk'eventandclk='1')thenq<=d;endif;endprocess;endbehav;1-3代码异步清零、异步置位功能的边沿JK触发器libraryieee;useieee.std_logic_1164.all;entityjkisport(pset,clr,clk,j,k:instd_logic;q,qb:outstd_logic);endentity;architecturebehavofjkissignalq_s,qb_s:std_logic;beginprocess(pset,clr,clk,j,k)beginif
4、(pset='0')and(clr='1')thenq_s<='1';qb_s<='0';elsif(pset='1')and(clr='0')thenq_s<='0';qb_s<='1';elsif(clk'eventandclk='1')thenif(j='0')and(k='1')thenq_s<='0';qb_s<='1';elsif(j='1')and(k='0')thenq_s<='1';qb_s<='0';elsif(j='1')and(k='1')thenq_s<=notq_s;qb_s<=notqb_s;endif;endif;q<=q_s;
5、qb<=qb_s;endprocess;endbehav;实验2-1实验内容:完成下述模块的设计,实现真值表中的半加与半减的功能。提示信息:将加法与减法区分成两个功能模块,使用BLOCK语句将构造体分为两大部分。输入值半加法器(A+B)半减法器(A-B)ABSumCarDifferenceBorrow0001101100101001011001002-1代码libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityhalfisport(a,b:instd_logic;
6、sum,car,dif,bor:outstd_logic);endhalf;architecturebehavofhalfisbeging1:blockbeginsum<=axorb;car<=axorb;endblockg1;g2:blockbegindif<=axorb;bor<=(nota)andb;endblockg2;endbehav;实验2-2实验内容:设计一个4位加减法器.要求:a,b:数据输入;sub:控制端,高电平实现加法功能,低电平实现减法功能;s:和与差的输出;co:进位与借位的输出。2-2代码libraryieee;useieee.st
7、d_logic_1164.all;useieee.std_logic_unsigned.all;entitysubaddisport(sub:instd_logic;a,b:instd_logic_vector(3downto0);s:outstd_logic_vector(3downto0);co:outstd_logic);endentitysubadd;architecturebehavofsubaddissignaltemp:std_logic_vector(4downto0);beginprocess(sub,a,b)beginifsub='1'th
8、entemp<=a+b;elsetem