实验名称 移位寄存器设计
一:实验目的
二:实验所用仪表及主要器材
三:实验原理简述(源程序、真值表、原理图)
四:实验测量记录(数据、仿真波形图及分析、源程序分析、硬件测试实时分析) 五:实验心得(实验中问题的解决方法等)
一:实验目的
(1)掌握移位寄存器电路设计的方法。
(2)通过开发CPLD来实现时序逻辑电路的功能。
二:实验所用仪表及主要器材 Max+plus2软件。
三:实验原理简述(源程序、真值表、原理图) (1)环形计数器 源程序:
library IEEE; use huanxing is port (
clk : in std_logic; load : in std_logic;
d : in std_logic_vector(3 downto 0); q : out std_logic_vector(3 downto 0)); end entity;
architecture shft_reg_arch of huanxing is signal TEMP : std_logic_vector(3 downto 0); begin
process(clk) begin
if clk'event and clk='1' then if load = '1' then TEMP <= d;
elsif TEMP=\
TEMP<= TEMP(0) & TEMP(3 downto 1); elsif TEMP=\
TEMP<= TEMP(0) & TEMP(3 downto 1); elsif TEMP=\
TEMP<= TEMP(0) & TEMP(3 downto 1); elsif TEMP=\
TEMP<= TEMP(0) & TEMP(3 downto 1); else TEMP<=\ end if; end if; end process; q <= TEMP;
end architecture;
(2)节日彩灯 源程序: library IEEE; use caideng is port (
clk : in std_logic; shift : in std_logic;
q : out std_logic_vector(3 downto 0)); end entity;
architecture shft_reg_arch of caideng is signal temp : std_logic_vector(3 downto 0); begin
q<=temp; process(clk) begin
if (clk'event and clk='1') then if shift='1' then case temp is
when \ when \ when \
when \ when \ when \ when \ when \ when others=>temp<=\ end case; else
case temp is
when \ when \ when \ when \ when \ when \ when \ when \ when others=>temp<=\ end case; end if; end if; end process ; end architecture;
状态转换图:当shift=‘1’时
当shift=‘0’时
四:实验测量记录(数据、仿真波形图及分析、源程序分析、硬件测试实时分析) (1)环形计数器
(2)节日彩灯
五:实验心得(实验中问题的解决方法等)
掌握了移位寄存器的设计方法,会通过开发CPLD来实现时序逻辑电路的功能。实验时应注意分析出电路的功能,写出状态转换图,再进行电路设计。