EDA课程设计

发布 2022-09-30 19:45:28 阅读 2528

课程设计。

课程设计名称: eda课程设计

专业班级 : xxxxxxxxxxx

学生姓名 : xxxxx

学号 : xxxxxxxxxxxxxxx

指导教师 : 焦素敏。

课程设计时间: 2011-12-19~2011-12-30

电子信息工程与技术专业课程设计任务书。

1 设计任务及要求。

设计任务:模拟十字路**通信号灯的工作过程,利用实验板上的两组红、黄、绿led作为交通信号灯,设计一个交通信号灯控制器。要求:

1) 交通灯从绿变红时,有4秒黄灯亮的间隔时间;

2) 交通灯红变绿是直接进行的,没有间隔时间;

3) 主干道上的绿灯时间为45秒,支干道的绿灯时间为25秒;

4) 在任意时间,显示每个状态到该状态结束所需的时间。

支干道。主干道。

图1 路**通管理示意图。

表1 交通信号灯的4种状态。

设计要求:1) 采用vhdl语言编写程序,并在quartusii工具平台中进行**,**到eda实验箱进行验证。

2) 编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。

2设计原理及总体框图。

设计目的:学习dea开发软件和quartus的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。

设计原理。(1)第一模块:clk时钟秒脉冲发生电路。

在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。

模块说明:系统输入信号:

clk: 由外接信号发生器提供256的时钟信号;

系统输出信号: full:产生每秒一个脉冲的信号;

2)第二模块:计数秒数选择电路。

计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。

模块说明:系统输入:full: 接收由clk电路的提供的1hz的时钟脉冲信号;

系统输出信号: tm: 产生显示电路状态转换信号。

tl:倒计数值秒数个位变化控制信号。

th:倒计数值秒数十位变化控制信号。

3)第三模块:红绿灯状态转换电路。

本电路负责红绿灯的转换。

模块说明:系统输入信号:full: 接收由clk电路的提供的1hz的时钟脉冲信号;

tm: 接收计数秒数选择电路状态转换信号;

系统输出信号: comb_out: 负责红绿灯的状态显示。

(4)第四模块:时间显示电路。

本电路负责红绿灯的计数时间的显示。

模块说明:系统输入信号:tl:倒计数值秒数个位变化控制信号;

th:倒计数值秒数十位变化控制信号;

系统输出信号: led7s1: 负责红绿灯的显示秒数个位。

led7s2: 负责红绿灯的显示秒数十位。

总体框图。时间显示数据输出。

红黄绿灯信号输出。

图2 交通信号灯控制器的原理框图。

采用vhdl语言输入的方式实现交通信号灯控制器。

clk时间显示数据输出。

信号灯输出。

图3 交通信号灯控制器程序原理框图。

该程序由7个进程组成,进程p1和p2将clk信号分频后产生1秒信号,进程p3、p4、p5构成两个带有预置数功能的十进制计数器,其中p4产生允许十位计数器计数的控制信号。进程p6实现状态转换和产生状态转换的控制信号,进程p7产生次态信号和信号灯输出信号,以及每一个状态的时间值。

3 程序设计。

library ieee;

use use

entity traffic is

port (clk:in std_logic;

led7s1:out std_logic_vector(6 downto 0);

led7s2:out std_logic_vector(6 downto 0);

comb_out:out std_logic_vector(5 downto 0));

end;architecture one of traffic is

type dm is (s0,s1,s2,s3);

signal current_state,next_state:dm;

signal full : std_logic;

signal tl :std_logic_vector(6 downto 0);

signal th:std_logic_vector(1 downto 0);

signal tm :std_logic_vector(6 downto 0);

signal time :std_logic_vector(6 downto 0);

beginp_reg: process(clk)

variable cnt8:std_logic_vector(7 downto 0);

beginif clk'event and clk='1' then

if cnt8 = 11111111" then

cnt8:="01111111";

full<='1';

else cnt8 :=cnt8+1;

full <=0';

end if; end if;

end process p_reg;

process(full)

beginif full'event and full='1' then

if time<"1000011" then

time<=time+1;

else time <=0000000";

end if;

end if;

end process;

reg:process( full,current_state)

beginif full='1' and full'event then

current_state<=next_state;

end if;

end process;

com:process(current_state, time)

begincase current_state is

when s0=>comb_out<="001100";tm<=39-time;

if time=39 then next_state<=s1;

else next_state<=s0;

end if;

when s1=>comb_out<="010100";tm<=43-time;

if time=43 then next_state<=s2;

else next_state<=s1;

end if;

when s2=>comb_out<="100010";tm<=63-time;

EDA课程设计

题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...

eda课程设计

哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...

eda课程设计

目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...