电子实验
时序电路设计串入/并出移位寄存器
一 实验目的
1掌握VHDL语言的基本描述语句的使用方法。
2掌握使用VHDL语言进行时序电路设计的方法。
二 实验设备与仪器
1 计算机
2 MAX+PLUSⅡ工具软件
3 EDA–V型实验箱
4 编程器件:FLEX10K10LC84-4
三 实验内容
根据实验给出的4位串入/并出移位寄存器的设计方法,设计一个8位串入/并出移位寄存器。
四 实验原理
在这里我们通过一个4位串入/并出移位寄存器设计过程来介绍如何设计串入/并出移位寄存器。
所谓的串入/并出移位寄存器,即输入的数据是一个接着一个依序地进入,输出时则一起送出。
例程代码如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL ;
USE IEEE.STD_LOGIC_UNSIGNED.ALL ;
ENTITY sipo IS
PORT(
D_IN :IN STD_LOGIC;
CLK :IN STD_LOGIC;
D_OUT :OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END sipo;
ARCHITECTURE a OF sipo IS
SIGNAL Q: STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
P1: PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK = '1' THEN
Q(0) <= D_IN;
FOR I IN 1 TO 3 LOOP
Q(I) <= Q(I-1);
END LOOP;
END IF;
END PROCESS P1;
D_OUT <=Q ;
END a;
仿真结果如图10-1所示。
图10-1 4位串入/并出移位寄存器仿真波形图
上图中输入的数据为“1010”、“0111”两组4位数据。因输入的数据是每次一位依序进入,故输入、输出信号之间有4个CLK时间的延迟。为了过滤中间没用的数据,只读取完整的存储数据,实用上可将取样脉冲的周期设定成CLK脉冲的四倍,也就是说,每经过4个CLK脉冲后再读取数据一次,便能每次读取都得到正确的数据。
五 实验步骤
1 请参考以上程序设计完成8位串入/并出移位寄存器的设计。
2 将编辑好的程序分别进行引脚的锁定、编译和仿真。
3输入时钟信号接时钟电路的相应输出(CLK0~CLK5),输入信号接拨码开关或按键,输出信号接发光二极管。
4将ByteBlaster电缆的一端与计算机的并行口相连,另一端10针阴头与实验板的插座相连。
5 选择菜单命令Options/Hardware Setup,出现图3-67所示设置编程硬件对话框。在Hardware Type栏的下拉条中选择Byte Blaster;
6 单击Configure按钮,即开始配置器件。若器件或电缆或电源有问题,则会产生错误警告信息。
六 记录实验结果并完成实验报告
记录实验结果,并画出8位串入/并出移位寄存器仿真波形图。并分析其运算结果的正确性。写出实验报告。
全部0条评论
快来发表一下你的评论吧 !