VHDL语言程序,并利用Max+PlusII开发软件对其进行编译和仿真。
2、 以移位寄存器为底层文件,设计由移位相加原理实现的8
位乘法器。此外,底层文件还应包括选通与门模块、8位加法器模块、16位锁存器模块等。其顶层文件设计要求采用元件例化语句进行实现,并利用Max+PlusII开发软件对其进行编译和仿真。
四、 实验设计
library ieee;
use ieee.std_logic_1164.all; entity sreg8b is
port(clk,load:in std_logic;
din:in std_logic_vector(7 downto 0); qb:out std_logic); end sreg8b;
architecture behav of sreg8b is
signal reg8:std_logic_vector(7 downto 0); begin
process (clk,load) begin
if clk'event and clk='1' then if load='1' then reg8<=din;
else reg8(6 downto 0)<=reg8(7 downto 1); end if; end if; end process; qb<=reg8(0); end behav;
五.编译仿真截图
六.心得体会
通过本实验,我们锻炼了上机实践能力,加强了对课本知识的学习认知,掌握了vhdl语言的时序逻辑电路 的设计方法,掌握了vhdl语言的基本结构设计的输入方法,通过一次次的修改,我们加
深了带有同步并行预置功能的8位右移移位寄存器的工作原理。
实验八 汽车尾灯控制器设计与实现
一、实验目的
1、进一步掌握VHDL语言的基本结构及设计的输入方法
2、掌握自顶向下设计方法 3、掌握层次化设计混合编程方法
二、实验原理
1、假设汽车尾部左右两侧各有3盏指示灯,其控制功能应包括: (1)汽车正常行驶时指示灯都不亮。 (2)汽车右转弯时,右侧的一盏指示灯亮。 (3)汽车左转弯时,左侧的一盏指示灯亮。 (4)汽车刹车时,左右两侧的一盏指示灯同时亮。
(5)汽车在夜间行驶时,左右两侧的一盏指示灯同时一直亮,供照明使用。
三、实验内容
1、根据系统设计要求,系统设计采用自顶向下的设计方法,顶层设
计采用原理图设计方式,它由时钟分频模块、汽车尾灯主控模块、左边灯控制模块和右边灯控制模块四部分组成。系统设计原理图如下图所示:
系统的输入信号包括:系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT。系统的输出信号包括:汽车左侧3盏指示灯LD1,LD2,LD3和汽车右侧3盏指示灯RD1,RD2,RD3.
系统工作原理为:当汽车正常行驶时所有指示灯都不亮;汽车右转弯时,汽车右侧的指示灯RD1亮;汽车左转弯时,左侧的指示灯LD1亮;汽车刹车时,汽车右侧的指示灯RD2和左侧的指示灯LD2同时亮。当汽车在夜间行驶时,汽车右侧的指示灯RD3和左侧的指示灯LD2同时一直亮。 3、 VHDL源代码
(1)时钟分频模块的VHDL源程序(SZ.VHD)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SZ IS
PORT(CLK: IN STD_LOGIC; CP: OUT STD_LOGIC); END ENTITY SZ;
ARCHITECTURE ONE OF SZ IS
SIGNAL COUNT: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN
IF CLK'EVENT AND CLK='1' THEN COUNT<=COUNT+1; END IF; END PROCESS; CP<=COUNT(3);
END ARCHITECTURE ONE;
(2)汽车尾灯主控模块的VHDL源程序(CTRL.VHD)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY CTRL IS