欢迎来到天天文库
浏览记录
ID:39469620
大小:103.00 KB
页数:6页
时间:2019-07-04
《VHDLFPGA寄存器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《VHDL与数字系统设计》课程设计报告(2014--2015年度第1学期)名称:VHDL与数字系统设计题目:双向移位寄存器院系:电气与电子工程学院班级:电子1301学号:1131230106学生姓名:韩辉指导教师:高雪莲设计周数:2周成绩:日期:2015年1月日课程课程设计报告一、课程设计的目的与要求1.设计目的(1)熟悉MAXPLUS2/QuartusII软件,掌握软件的VHDL程序输入、程序编译和程序仿真操作;(2)学习利用VHDL语言设计双向移位寄存器电路程序。2.设计要求:根据设计正文提出的双向移位寄存器功能设置,实现电路设计。二
2、、设计正文1.双向移位寄存器工作原理及设计思路双向移位寄存器有三种输入方式:4位并行输入、1位左移串行输入、1位右移串行输入;双向移位寄存器有一种输出方式:4位并行输出。(1).双向移位寄存器工作过程如下:当1位数据从左移串行输入端输入时,首先进入内部寄存器最高位,并在并行输出口最高位输出,后由同步时钟的上跳沿触发向左移位。当1位数据从右移串行输入端输入时,首先进入内部寄存器最低位,并在并行输出口的最低位输出,后由同步时钟的上跳沿触发向右移位。(2).双向移位寄存器的输入、输出端口如下:CLR:异步清零输入端;SRSI:串行右移输入端;S
3、LSI:串行左移输入端;A、B、C、D:4位并行输入端;QA、QB、QC、QD:4位并行输出端;S0,S1:两位控制码输入端。(3).双向移位寄存器的端口功能如下:当CLR=0时,4位输出端清0;当CLK=0时,4位输出端保持原来状态不变;当S=00时,4位输出端保持原来的状态不变;当S=01时,允许串行右移输入1位数据;当S=10时,允许串行左移输入1位数据;当S=11时,允许4位数据从并行端口输入。2.双向移位寄存器设计的源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOG
4、IC_UNSIGNED.ALL;——包含库和程序包5课程课程设计报告ENTITYdouble_dir_regtis——定义实体为double_dir_regtPORT(s:instd_logic_vector(1downto0);clr,clk,srsi,slsi,a,b,c,d:instd_logic;result:outstd_logic_vector(3downto0));——设置端口参数输入控制信号s,时钟clk,并行输入abcd,ENDdouble_dir_regt;输出resultARCHITECTURErtlofdouble
5、_dir_regtissignalresult1:std_logic_vector(3downto0);——设置信号result1BEGINresult<=result1;PROCESS(clk,clr)——敏感信号为时钟和清零信号beginif(clr='0')thenresult1<="0000";elsif(clk'eventandclk='1')thencasesisWHEN"00"=>——控制信号为00时实现保持功能result1(0)<=result1(0);result1(1)<=result1(1);result1(2)<
6、=result1(2);result1(3)<=result1(3);WHEN"01"=>——控制信号为01时实现右移功能result1(3)<=srsi;result1(2)<=result1(3);result1(1)<=result1(2);result1(0)<=result1(1);WHEN"10"=>——控制信号为10时实现左移功能result1(0)<=slsi;result1(1)<=result1(0);result1(2)<=result1(1);result1(3)<=result1(2);WHEN"11"=>——控
7、制信号为11时实现并行输入功能result1(0)<=a;result1(1)<=b;5课程课程设计报告result1(2)<=c;result1(3)<=d;ENDcase;ENDif;ENDprocess;ENDrtl;——程序结束一、课程设计结论1.双向移位寄存器的仿真波形图及其分析:图1双向移位寄存器保持功能仿真波形图001100当控制信号s0s1=10时实现左移功能,得到0000,0001,0011,0110的输出结果,当s0s1=00时,输出result一直保持0110不变,实现保持功能,根据仿真波形图可知,寄存器实现了保持的
8、功能。图1为双向移位寄存器保持功能的仿真波形图,由图1分析可得:当S=01时实现右移功能,得到0000、1000、1100的输出结果;当S=00时,输出result一直保持1100不变,即寄存
此文档下载收益归作者所有