欢迎来到天天文库
浏览记录
ID:38051530
大小:499.50 KB
页数:5页
时间:2019-05-24
《串入并出移位器的设计以及程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验二十三串入/并出移位寄存器一、实验目的根据实验内容中介绍的4位串入/并出移位寄存器的设计方法,设计一个8位串入/并出移位寄存器。实验源程序是sipo.vhd。二、实验内容在这里我们通过一个4位串入/并出移位寄存器设计过程来介绍如何设计串入/并出移位寄存器。所谓的串入/并出移位寄存器,即输入的数据是一个接着一个有序地进入,输出时则一起送出。例程代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGN
2、ED.ALL;ENTITYsipoISPORT(D_IN:INSTD_LOGIC;CLK:INSTD_LOGIC;D_OUT:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDsipo;ARCHITECTUREaOFsipoISSIGNALQ:STD_LOGIC_VECTOR(3DOWNTO0);BEGINP1:PROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ(0)<=D_IN;FORIIN1TO3LOOPQ(I)<=Q(I-1);ENDLOOP;ENDIF;ENDPROCESS
3、P1;D_OUT<=Q;ENDa;仿真结果如图23-1所示。图23-14位串入/并出移位寄存器仿真波形图上图中输入的数据为“1010”、“0111”两组4位数据。因输入的数据是每次一位依序进入,故输入、输出信号之间有4个CLK时间的延迟。为了过滤中间没用的数据,只读取完整的存储数据,实用上可将取样脉冲的周期设定成CLK脉冲的四倍,也就是说,每经过4个CLK脉冲后再读取数据一次,便能每次读取都得到正确的数据。可见上图有效的输出是A7。三、实验连线输入信号D-IN(代表一位的串行数据输入)和CLK(代表抽样时钟信号),CLK时钟信号接适配
4、器板子上的时钟信号,频率建议取在1Hz左右,D-IN接拨码开关或按键;输出信号有D-OUT0~D-OUT3(代表4位并行数据输出),接发光二极管。实验二十四并入/串出移位寄存器一、实验目的根据实验内容中介绍的4位并入/串出移位寄存器的设计方法,设计一个8位并入/串出移位寄存器。实验源程序是piso.vhd。二、实验内容在这里我们通过一个4位并入/串出移位寄存器设计过程来介绍如何设计并入/串出移位寄存器。所谓的并入/串出移位寄存器,即输入的数据是整组一次进入,输出时则一个接着一个依序地送出。例程代码如下:LIBRARYieee;USEi
5、eee.std_logic_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYPISOISPORT(DATA_IN:INSTD_LOGIC_VECTOR(7DOWNTO0);--ParallelDataInput,8bitCLK:INSTD_LOGIC;--SyncClockLOAD:INSTD_LOGIC;--LoadDatawhenInput'1'CLR:INSTD_LOGIC;--ConvertEnableSignal,Active
6、'H'DATA_OUT:OUTSTD_LOGIC);ENDPISO;ARCHITECTUREaOFPISOISSIGNALQ:STD_LOGIC_VECTOR(7DOWNTO0);BEGINP1:PROCESS(CLK,CLR)BEGINIFCLR='1'THENQ<=(OTHERS=>'0');ELSIFRISing_edge(CLK)THENIFLOAD='1'THENQ<=DATA_IN;ENDIF;IFLOAD='0'THENFORIIN1TO7LOOPQ(I)<=Q(I-1);ENDLOOP;ENDIF;ENDIF;ENDP
7、ROCESSP1;DATA_OUT<=Q(7);ENDa;仿真结果如图24-1和24-2所示。图24-14位并入/串出移位寄存器仿真波形图图24-24位并入/串出移位寄存器仿真波形图在程序中,增加了一个LOAD信号,当LOAD为‘1’时,数据才读入,这个‘1’的作用即为“Startbit”。告诉电路现在准备开始读入数据。在图24-1中,输入的数据为5546,在LOAD处于高电平时,在CLK的上升沿到来时,触发系统读入并行数据,经过一个很小的延时后输出,此延时是由于芯片内部的硬件延时,在本实验中是8ns。在图24-2中,输入数据是854
8、7,85的二进制表达式是10000101,读者可观察到在最后一个1的高电平保持到LOAD为高电平区域CLK的上升沿到来且经过一个很小的延时的时间段。这是因为程序所设置。如图24-2中的85的最后一个高电平保持到47的4的
此文档下载收益归作者所有