VHDLFPGA寄存器.docVIP

  • 16
  • 0
  • 约3.14千字
  • 约 6页
  • 2018-01-04 发布于河南
  • 举报
VHDLFPGA寄存器

《VHDL与数字系统设计》课程设计报告 ( 2014 -- 2015 年度第 1 学期) 名 称: VHDL与数字系统设计 题 目: 双向移位寄存器 院 系: 电气与电子工程学院 班 级: 电子1301 学 号: 1131230106 学生姓名: 韩辉 指导教师: 高雪莲 设计周数: 2周 成 绩: 日期: 2015年 1 月 日 课程设计LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ——包含库和程序包 ENTITY double_dir_regt is ——定义实体为double_dir_regt PORT ( s: in std_logic_vector(1 downto 0); clr,clk,srsi,slsi,a,b,c,d:in std_logic; result: out std_logic_vector(3 downto 0)); ——设置端口参数输入控制信号s, 时钟clk,并行输入abcd, END double_dir_regt; 输出result ARCHITECTURE rtl of double_dir_regt is signal result1: std_logic_vector(3 downto 0); ——设置信号result1 BEGIN result=result1; PROCESS (clk,clr) ——敏感信号为时钟和清零信号 begin if (clr=0)then result1=0000; elsif (clkevent and clk=1)then case s is WHEN 00= ——控制信号为00时实现保持功能 result1(0)=result1(0); result1(1)=result1(1); result1(2)=result1(2); result1(3)=result1(3); WHEN01= ——控制信号为01时实现右移功能 result1(3)=srsi; result1(2)=result1(3); result1(1)=result1(2); result1(0)=result1(1); WHEN10= ——控制信号为10时实现左移功能 result1(0)=slsi; result1(1)=result1(0); result1(2)=result1(1); result1(3)=result1(2); WHEN11= ——控制信号为11时实现并行输入功能 result1(0)=a; result1(1)=b; result1(2)=c; result1(3)=d; END case; END if; END process; END rtl; ——程序结束 课程设计结论 1.双向移位寄存器的仿真波形图及其分析: 当控制信号s0s1=10时实现左移功能,得到0000,0001,0011,0110的输出结果,当s0s1=00时,输出result一直保持0110不变,实现保持功能,根据仿真波形图可知,寄存器实现了保持的功能。 图1为双向移位寄存器保持功能的仿真波形图,由图1分析可得:当S=01时实现右移功能,得到0000、1000、1100的

文档评论(0)

1亿VIP精品文档

相关文档