时序电路设计串入/并出移位寄存器

电子实验

56人已加入

描述

时序电路设计串入/并出移位寄存器
一  实验目的
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位串入/并出移位寄存器仿真波形图。并分析其运算结果的正确性。写出实验报告。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分