编程题答案.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:56 大小:323KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

编程题答案.pdf

编程题答案.pdf

预览

免费试读已结束,剩余 46 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

E编程题题库参考答案DA1、阅读下列VHDL程序,说明(1)该程序实现的芯片功能;(2)说明芯片引脚的功能;(3)根据程技序结构体中的描述,对该芯片的功能进行较详细的说明术与(1)程序1LIBRARYIEEE;USEIEEE.std_logic_1164.all;项ENTITYToggle_async_reset_enISPORT(clk:INSTD_LOGIC;目训reset:INSTD_LOGIC;enable:INstd_logic;q:OUTSTD_LOGIC);练ENDToggle_async_reset_en;ARCHITECTUREbehaveOFToggle_async_reset_enISSIGNALtemp_q:std_logic;BEGINPROCESS(clk,reset)BEGINIFreset='1'THENtemp_q<='0';ELSIFclk'EVENTandclk='1'THENIFenable='1'THENtemp_q<=nottemp_q;ENDIF;ENDIF;q<=temp_q;ENDPROCESS;ENDbehave;(1)芯片功能(5%):带有异步复位和使能的T触发器;(2)引脚功能(5%):reset复位端、clk时钟、enable使能端、Q输出端;(3)芯片功能详细说明(5%):当时钟信号clk或者复位信号reset有跳变时,进程被激活。如果此时复位信号reset有效(高电平),T触发器被复位,输出信号q为低电平;如果此时复位信号reset无效(低电平),而时钟信号clk出现上跳沿,并且触发器翻转使能信号enable有效(高电平),T触发器输出信号q翻转,否则输出信号q保持不变。(2)程序2LIBRARYIEEE;USEIEEE.std_logic_1164.all;USEIEEE.std_logic_arith.all;ENTITYcounter8_syncISPORT(clk:INSTD_LOGIC;countin:INintegerrange0to255;set:INSTD_LOGIC;reset:INSTD_LOGIC;1countq:OUTintegerrange0to255);EDAENDcounter8_sync;ARCHITECTUREbehaveOFcounter8_syncIS技SIGNALcountq_temp:integerrange0to255;BEGIN术与PROCESS(clk)BEGINIFclk'EVENTandclk='1'THEN项IFreset='1'THENcountq_temp<=0;目训ELSIFset='1'THENcountq_temp<=countin;ELSE练countq_temp<=countq_temp+1;ENDIF;ENDIF;ENDPROCESS;countq<=countq_temp;ENDbehave;(1)芯片功能:带异步复位和置位的8位计数器;(2)引脚功能:时钟信号clk、复位信号reset、置位信号set、输入信号countin、输出计数结果countq;(3)芯片功能详细说明:counter8_async是一个带异步复位和置位的8位计数器,计数范围从0~255,每当时钟信号clk、复位信号reset或者置位信号set有跳变时,激活进程。如果此时复位信号reset有效(高电平),计数器被复位,输出计数结果countq为0;如果复位信号无效(低电平),而置位信号set有效(高电平),则为计数器置初值,初值大小由输入信号countin给出;否则,如果时钟出现上升沿,计数器自动增加1,也即实现加计数功能。2、阅读下列VHDL程序,说明(1)该程序实现的芯片功能;(2)说明芯片引脚的功能;(3)根据程序结构体中的描述,对该芯片的功能进行较详细的说明(1)程序1LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcountBISPORT(clk,clr,updn:INSTD_LOGIC;Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7:OUTSTD_LOGIC);ENDcountB;ARCHITECTUREexampleOFcountBISSIGNALcount_8:STD_LOGIC_VECTOR(7DOWNTO0);BEGINQ0<=count_8(0);Q1<=count_8(1);Q