欢迎来到天天文库
浏览记录
ID:15528439
大小:740.50 KB
页数:5页
时间:2018-08-03
《带有复位和时钟使能的10进制计数器和带有并行置位的移位寄存器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验报告实验课程名称EDA技术实验带有复位和时钟使能的10进制计数器和实验项目名称带有复位和时钟使能的10进制计数器年级21010级专业电子信息工程学生姓名蒋林萍学号1020040442科技学院实验时间:2012年11月28日EDA技术实验报告贵州大学科技学院电子信息工程2010级蒋林萍学号:1020040442实验名称:带有复位和时钟使能的10进制计数器和带有并行置位的移位寄存器1、实验目的(1)熟悉进程和VARIABLE的运用(2)学习移位寄存器的设计方法(3)进一步熟悉VHDL语法、语句2、实验内容(1)运用QuartusII集成环境下的VHDL文本设计方法
2、设计带有复位和时钟使能的十进制计数器,要求对输入的脉冲信号进行计数。要求具有复位和使能功能,并能输出进位信号。进行波形仿真和分析。(2)运用QuartusII集成环境下的VHDL文本设计方法设计带有并行置位的移位寄存器,要求具有置位功能。进行波形仿真和分析。3、实验步骤及参考程序(1)带有复位和时钟使能的10进制计数器程序代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10ISPORT(CLK,RST,EN:INSTD_LOGIC;CQ:OUTS
3、TD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT10;ARCHITECTUREbehavOFCNT10ISBEGINPROCESS(CLK,RST,EN)VARIABLECQI:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFRST='1'THENCQI:=(OTHERS=>'0');ELSIFCLK'EVENTANDCLK='1'THENIFEN='1'THENIFCQI<"1001"THENCQI:=CQI+1;ELSECQI:=(OTHERS=>'0');ENDIF;ENDIF;END
4、IF;IFCQI="1001"THENCOUT<='1';ELSECOUT<='0';ENDIF;CQ<=CQI;ENDPROCESS;ENDbehav;①.实验程序功能分析:当时钟信号CLK、复位信号RST或时钟使能信号EN中任一信号发生变化,都将启动PROCESS进程语句。此时如果RST为1,将对计数器进行清零,即复位,这项操作独立于CLK,因而称为异步;如果RST为0,则看时钟信号上升沿;如果此时有CLK信号,又测得EN=1,即允许计数器计数,此时若满足计数值小于1001,即CQI<9,计数器将进行正常计数,即执行语句CQI:=CQI+1,否则对CQI清零;
5、但如果测得EN=0,则跳出IF语句,使CQI保持原值,并将计数值向端口输出:CQ<=CQI.第二个IF语句的功能是当计数器CQI的计数值达到9时,输出高电平,作为十进制计数的进位溢出信号COUT,而当CQI为其他值时,输出低电平0。②TRLViewer电路图如下:③仿真波形图如下:④实验结果分析:当EN=1和RST=0时,计数器开始计数,当计到9时,产生进位;当EN=0时,计数器保持不变;RST=1时,计数器清零。(2)带有并行置位的移位寄存器程序代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOG
6、IC_UNSIGNED.ALL;ENTITYSHFRTISPORT(CLK,LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);QB:OUTSTD_LOGIC);ENDSHFRT;ARCHITECTUREbehavOFSHFRTISBEGINPROCESS(CLK,LOAD)VARIABLEREG8:STD_LOGIC_VECTOR(7DOWNTO0);BEGINIFCLK'EVENTANDCLK='1'THENIFLOAD='1'THENREG8:=DIN;ELSEREG8(6DOWNTO0):=REG8(7DOW
7、NTO1);ENDIF;ENDIF;QB<=REG8(0);ENDPROCESS;ENDbehav;①.实验程序功能分析:当时钟信号CLK、置位信号LOAD中任一信号发生变化,都将启动PROCESS进程语句。CLK是移位时钟信号,DIN是8位并行预置数据端口,LOAD是并行数据预置使能信号,QB是串行输出端口。当CLK的上升沿到来时进程被启动,如果这时预置使能LOAD为高电平,则将输入端口的8位二进制数并行置入移位寄存器中,作为串行右移输出的初始值。如果预置使能LOAD位低电平,则执行语句“REG8(6downto0):=REG8(7downto1)语句。②TRL
8、Viewe
此文档下载收益归作者所有