1、串入并出移位寄存器 一、设计任务与要求 1设计一个 4 位的串入并出移位寄存器; 2要求能分别输入两组 4 位数据,同时输出显示。 二、方案设计与论证 移位寄存器除了具有存储代码的功能以外,还具有移位功能。所谓移位功能,是指寄 存器里存储的代码能在移位脉冲的作用下依次左移或右移。 因此, 移位寄存器不但可以用来 寄存代码,还可用来实现数据的串并转换、数字的运算以及数据处理等。 所谓的串入/并出移位寄存器, 即输入的数据是一个接着一个有序地进入, 输出时则 一起送出。两组数据伴随着时钟信号依次输入,输出时消除延时。 三、单元电路设计与参数计算 程序代码: library ieee; use ie
2、ee.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 clkevent a
3、nd clk=1then 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; 四、总原理图及元器件清单 1总原理图 1元件清单(或程序清单) 元件序号 型号 主要参数 数量 备注 拨码开关 2 发光二极管 4 五、安装与调试 输入的数据为“1010” 、 “0111”两组 4 位数据。因输入的数据是每次一位依序进 入,故输入、输出信号之间有 4 个 CLK 时间的延迟。为了过滤中间没用的数据,只读取 完整的存储数据,实用上可将取样脉冲的周期设定成 CLK 脉
4、冲的四倍,也就是说,每经过 4 个 CLK 脉冲后 实验连线 输入信号 D-IN(代表一位的串行数据输入)和 CLK(代表抽样时钟信号) ,CLK 时 钟信号接适配器板子上的时钟信号,频率建议取在 1Hz 左右,D-IN 接拨码开关或按键; 输出信号有 D-OUT0D-OUT3(代表 4 位并行数据输出) ,接发光二极管。 六、性能测试与分析 七、结论与心得 当按顺序依次输入两组 4 尾数据时,输入端同时显示出两组数据。 通过对串入并出移位寄存器的设计,更加认识到了移位寄存器的原理与性 能,在调试的过程中,也锻炼了自己发现问题、解决问题的能力。 八、参考文献 1 EDA 技术综合应用实例与分析
5、谭会生、翟遂春 著。 译码器 一、设计任务与要求 1设计一个简单的 38 译码器; 2握组合逻辑电路的静态测试方法; 3初步了解可编程器件设计的全过程。 二、方案设计与论证 3-8 译码器电路(138)的功能与编码器的功能相反。输入变量有3 个,即 A、B、 C,输出变量有 8 个,即 Y0Y7,对输入变量 A、B、C 译码,就能确定输出端 Y0Y7 的输 出变为有效(低电平) ,从而达到译码目的。 真值表: 输入 输出 A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 X X X 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1
6、 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 三、单元电路设计与参数计算 程序代码: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY decoder3_8 IS PORT( A, B,C,G1,G2A,G2B: IN STD_LOGIC; Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END decoder3_8; ARCHITECTURE fun OF decoder3_8 IS SIGNAL indata: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN indata YYYYYYYYY=“XXXXXXXX“; END CASE; ELSE Y=“11111111“;