计数器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

100进制计数器个位十位分开LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;ENTITYcount100ISPORT(en,clk:INSTD_LOGIC;qa:outSTD_LOGIC_VECTOR(3DOWNTO0);--个位数计数qb:outSTD_LOGIC_VECTOR(2DOWNTO0);--十数计数rco:OUTSTD_LOGIC);--计数进位ENDcount100;ARCHITECTUREaOFcount60ISBEGINprocess(clk)variabletma:STD_LOGIC_VECTOR(3DOWNTO0);variabletmb:STD_LOGIC_VECTOR(2DOWNTO0);beginif(clk'eventandclk='1')thenif(en='1')thenif(tma=1001)thentma:=0000;if(tmb=“1001”)thentmb:=“0000”;rco=‘1’;elsetmb:=tmb+1;endif;elsetma:=tma+1;rco=‘0’;endif;endif;endif;qa=tma;qb=tmb;endprocess;ENDa;60进制不分十位个位libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitylsyisport(clk:instd_logic;cq:outstd_logic_vector(7downto0);cout:outstd_logic);endlsy;architecturezhangoflsyisbeginprocess(clk)variablecqi:std_logic_vector(7downto0);beginifclk'eventandclk='1'thenifcqi59thencqi:=cqi+1;elsecqi:=(others='0');endif;endif;ifcqi=59thencout='1';elsecout='0';endif;cq=cqi;endprocess;endzhang;分频器50占空比1:1LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;ENTITYcountISPORT(clk:inSTD_LOGIC;clkout:bufferSTD_LOGIC;ENDcount;ARCHITECTUREaOFcountISSignalcount:STD_LOGIC_vector(21downto0);BEGINPROCESS(clk)BEGINIF(clk'EVENTANDclk=‘1’)THENIF(count=“11001)THENcount=“00000”;clkout=notclkout;ELSEcount=count+1;ENDIF;ENDIF;ENDPROCESS;ENDa;使用vhdl语言设计程序,能够实现计算输入信号中1的个数。输入信号data为八位信号,输出y为三位信号,要求该程序能够计算出八位信号的八位中有几位信号是1libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitydataisport(data:instd_logic_vector(7downto0);y:outstd_logic_vector(2downto0));enddata;architectureloopofdataisbeginp1:process(data)variabletmp:std_logic_vector(2downto0);begintmp:=000;foriin0to7loopifdata(i)='1'thentmp:=tmp+'1';endif;endloop;y=tmp;endprocessp1;endloop;设计一个D触发器,输入信号为时钟clk,数据D[3:0],复位端rst,输出为Q[3:0],要求分别设计同步复位D触发器和异步复位D触发器libraryieee;useieee.std_logic_1164.all;entitydffisport(clk,d,clr:instd_logic;q:outstd_logic);enddff;architecturedff2ofdffisbeginp1:process(clk,clr)beginif(clr='0')thenq='0';elsif(clkeventandclk='1')thenq=d;endif;endprocessp1;enddff2;libraryieee;useieee.std_logic_1164.all;entitydffisport(clk,d,clr:instd_logic;q:outstd_logic);enddff;architecturedff2ofdffisbeginp1:process(clk,clr)beginif(clk'eventandclk='1')thenif(clr='1')thenq='0';elseq=d;endif;endif;endprocess;enddff2;下列程序是使用条件信号赋值语句设计的异或门,请使用ifelse语句改写该程序。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYxor_gateISPORT(a,b:instd_logic;c:outstd_logic);endxor_gate;ARCHITECTUREdata_flowOFxor_gateISBEGINC='0'WHENa='0'ANDb='0'ELSE'1'WHENa='0'ANDb='1'ELSE'1'WHENa='1'ANDb='0'ELSE'0'WHENa='1'ANDb='1'ELSE'0';ENDdata_flow;改:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYxor_gateISPORT(a,b:instd_logic;c:outstd_logic);endxor_gate;ARCHITECTUREdata_flowOFxor_gateISBEGINif(a='0'ANDb='0')thenELSEc='0';if(a='0'ANDb='1')thenELSEc='1';if(a='1'ANDb='0')thenELSEc='1';if(a='1'ANDb='1')thenELSEc='0';elsec='0';endif;endif;endif;endif;ENDdata_flow;下列程序是使用case语句设计的数据选择器,请使用withselect选择信号带入语句改写该程序。libraryieee;useieee.std_logic_1164.all;entitymuxisport(d0,d1,d2,d3,a0,a1:instd_logic;y:outstd_logic);endmux;architecturebehavofmuxissignala:std_logic_vector(1downto0);beginprocess(a0,a1,d0,d1,d2,d3)begina=a1&a0;caseaiswhen00=y=d0;when01=y=d1;when10=y=d2;when11=y=d3;whenothers=y='Z';endcase;endprocess;endbehav;改:libraryieee;useieee.std_logic_1164.all;entitymuxisport(d0,d1,d2,d3,a0,a1:instd_logic;y:outstd_logic);endmux;architecturebehavofmuxissignala:std_logic_vector(1downto0);beginprocess(a0,a1,d0,d1,d2,d3)begina=a1&a0;withaselecty=d0when00,d1when01,d2when10,d3when11,'Z'whenothers;endprocess;endbehav;数据检测对串行数据进行检测,连续输入3个或者3个以上的1时输出为1,其他输入情况下输出为0)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;entitychuanxingjianceisport(clk,x:instd_logic;y:outstd_logic);endchuanxingjiance;architectureoneofchuanxingjianceistypestate_typeis(s0,s1,s2,s3);signalp,n:state_type;beginprocess(clk)beginifclk'eventandclk='1'thenp=n;endif;endprocess;process(x,p)begincasepiswhens0=ifx='1'thenn=s1;elsen=s0;endif;y='0';whens1=ifx='1'thenn=s2;elsen=s0;endif;y='0';S0S1S2S31/11/10/01/00/00/00/01/0whens2=ifx='1'thenn=s3;elsen=s0;endif;y='0';whens3=ifx='1'thenn=s3;elsen=s0;endif;y='1';whenothers=null;endcase;endprocess;endone;FLASHMemory存储的数据是非易失的(不容易丢失)。对熔丝型结构的PROM数据写好后,可以再次修改数据错EEPROM是用紫外线照射进行数据擦除所选答案:错正确答案:错EEPROM需要用20~25V的大电压进行数据写入所选答案:错正确答案:错EEPROM可以逐字擦除逐字写入数据。所选答案:对正确答案:对FLASHMemory可以逐字擦除逐字写入数据。所选答案:错正确答案:错下列哪个存储器的数据掉电后会丢失。所选答案:RAM正确答案:RAMFPGA中文含义是什么?所选答案:现场可编程门阵列正确答案:现场可编程门阵列生产第一块FPGA芯片的公司是下列哪家公司?所选答案:Xilinx正确答案:Xilinx以下哪个工具是Xilinx公司的可编程逻辑器件设计工具?所选答案:ISE正确答案:ISE下列哪个语言是IEEE标准的硬件描述语言所选答案:VHDL正确答案:VHDL一个VHDL语言可以含有多个实体所选答案:错正确答案:错buffer既能用于输出,也能用于反馈所选答案:对正确答案:对out既能用于输出,也能用于反馈所选答案:错正确答案:错inout既能用于输出,也能用于反馈所选答案:对正确答案:对Bit数据类型含有几个值?所选答案:B.2正确答案:B.2字符不区分大小写所选答案:错以下哪种数据类型不是VHDL语言可以直接使用的数据类型所选答案:D.Std_logicStd_Logic数据类型含有几个值?所选答案:A.9下列哪个数据对象不一定代表着实际的物理结构?所选答案:C.变量给信号再次赋值使用:=所选答案:错给变量再次赋值使用:=所选答案:对给常量再次赋值使用=所选答案:错变量只能出现在进程和子程序中所选答案:对可以在结构体里面进行变量的定义所选答案:错A:=“101

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功