Verilog语言实现设计交通灯控制器

Verilog语言实现设计交通灯控制器
Verilog语言实现设计交通灯控制器

Verilog语言实现设计交通灯控制器

实验模块组成:

(计数器+控制器)可以分开实现,最好一起实现避免接口对接时出错

译码器

实验要求:

1.在十字路口两个方向各设一组红、绿、黄灯,显示顺序为:

南北方向是绿、黄、红灯;东西方向是红、绿、黄灯。

2.要求红、绿、黄灯的持续时间分别为:10s、7s、3s,东西、南北方向各用一

个数码管显示倒计时时间。

3.当任意方向出现特殊情况时,应优先放行,即使各方向均亮红灯,倒计时停

止,且显示数字闪烁。经过规定时间之后,恢复正常运行状态。

//计数器+控制器

module ZTJ(clk,s,count1,count2,led);

parameter s0=6'b010100,s1=6'b001100,s2=6'b100010,s3=6'b100001,s4=6'b100100;

inputclk,s;

output[3:0]count1;

output[3:0]count2;

output[5:0]led;

reg[3:0]count1;

reg[3:0]count2;

reg[5:0]led;

reg[5:0]st;

reg[5:0]jicun;

reg[3:0]i;

always @(posedgeclk)

if(s==0 & led==6'b000000)

begin

led<=s0;

st<=s0;

count1<=4'b0110;

count2<=4'b1001;

end

else if(s==0 & led!=6'b000000)

begin

case(st)

s0:if(count1!=4'b0000) begin led<=s0;count1<=count1-1;count2<=count2-1;end else begin count1<=4'b0010;st<=s1;end

s1:if(count1!=4'b0000) begin led<=s1;count1<=count1-1;count2<=count2-1;end else begin

count1<=4'b1001;count2<=4'b0110;st<=s2;end

s2:if(count2!=4'b0000) begin led<=s2;count1<=count1-1;count2<=count2-1;end else begin count2<=4'b0010;st<=s3;end

s3:if(count2!=4'b0000) begin led<=s3;count1<=count1-1;count2<=count2-1;end else begin count1<=4'b0110;count2<=4'b1001;st<=s0;end

default:led<=s4;

endcase

end

else

begin

jicun<=led;

led<=s4;

count1<=count1;

count2<=count2;

i<=i+1;

if(i==4'b1001)

led<=jicun;

end

endmodule

//译码器

module DECL7S(A,LED7S);

input [3:0] A;

output [6:0] LED7S;

reg [6:0] LED7S;

always@(A)

begin

case(A)

4'b0000: LED7S<=7'b0111111;

4'b0001: LED7S<=7'b0000110;

4'b0010: LED7S<=7'b1011011;

4'b0011: LED7S<=7'b1001111;

4'b0100: LED7S<=7'b1100110;

4'b0101: LED7S<=7'b1101101;

4'b0110: LED7S<=7'b1111101;

4'b0111: LED7S<=7'b0000111;

4'b1000: LED7S<=7'b1111111;

4'b1001: LED7S<=7'b1101111;

4'b1010: LED7S<=7'b1110111;

4'b1011: LED7S<=7'b1111100;

4'b1100: LED7S<=7'b0111001;

4'b1101: LED7S<=7'b1011110;

4'b1110: LED7S<=7'b1111001;

4'b1111: LED7S<=7'b1110001; default:LED7S<=7'b0111111; endcase

end

endmodule

基于VerilogHDL的通行时间可变的交通灯控制器

通行时间可变的交通灯控制器设计 module tr1(ng,clk,reset,resets,emergency,lighta,lightb,seg,select); input ng,clk,reset,emergency,resets; output[6:0]seg;//显示用的 output[3:0] lighta,lightb;//a是主干道,b是支干道 output [3:0] select;//选择那一个管子进行显示 reg clk1,clk2;//clk1要5HZ clk2要几千HZ reg [3:0] select; reg tim1,tim2;//这是看你的等有没有变过颜色的控制信号 reg [1:0] cont; reg[2:0]state1,state2,ste;两个控制颜色变化状态的信号。 reg[3:0]lighta,lightb;//a是主干道,b是支干道 reg[3:0]num;//译码器是根据这个东西来译码的 reg [35:0] fout; reg[6:0]seg;//显示 reg[7:0] numa,numb; reg[7:0] red1,red2,green1,green2,yellow1,yellow2,left1,left2; always @(ng ) if(!ng) begin //设置计数初值 green1 <=8'b00110000;//30S red1 <=8'b01010001;//51S yellow1<=8'b00000011;//3S left1 <=8'b00010101; //15S green2 <=8'b00110000;//30S

数字系统设计与verilog HDL课程设计

数字系统设计与verilog HDL课程设计 设计题目:实用多功能数字钟 专业:电子信息科学与技术 班级:0313410 学号:031341025 姓名:杨存智 指导老师:黄双林

摘要 本课程设计利用QuartusII软件Verilog VHDL语言的基本运用设计一个多功能数字钟,经分析采用模块化设计方法,分别是顶层模块、alarm、alarm_time、counter_time、clk50mto1、led、switch、bitel、adder、sound_ddd、sound_ddd_du模块,再进行试验设计和软件仿真调试,分别实现时分秒计时、闹钟闹铃、时分秒手动校时、时分秒清零,时间保持和整点报时等多种基本功能。 单个模块调试达到预期目标,再将整体模块进行试验设计和软件仿真调试,已完全达到分块模式设计功能,并达到设计目标要求。 关键字:多功能数字钟、Verilog、模块、调试、仿真、功能

目录 1.课程设计的目的及任务............................................................. 错误!未定义书签。 1.1 课程设计的目的 (3) 1.2 课程设计的任务与要求 (4) 2.课程设计思路及其原理 (4) 3.QuartusII软件的应用 (5) 3.1工程建立及存盘 (5) 3.2工程项目的编译 (5) 3.3时序仿真 (6) 4.分模块设计、调试、仿真与结果分析 (7) 4.1 clk50mto1时钟分频模块 (7) 4.2 adder加法器模块 (7) 4.3 hexcounter16 进制计数器模块 (7) 4.4 counter_time 计时模块 (8) 4.5 alarm闹铃模块 (8) 4.6 sound_ddd嘀嘀嘀闹铃声模块 (9) 4.7 sound_ddd_du嘀嘀嘀—嘟声音模块 (9) 4.8 alarm_time闹钟时间设定模块 (10) 4.9 bitsel将输出解码成时分秒选择模块 (10) 4.10 switch去抖模块 (11) 4.11 led译码显示模块 (11) 4.12 clock顶层模块 (12) 5.实验总结 (13) 5.1调试中遇到的问题及解决的方法 (13) 5.2实验中积累的经验 (14) 5.3心得体会 (14) 6.参考文献 (14) 1.1 课程设计的目的 通过课程设计的锻炼,要求学生掌握V erilog HDL语言的一般设计方法,掌握VerilogHDL语言的基本运用,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,基于实践、源于实践,实践出真知,实践检验真理,培养学生的

交通灯设计 verilog

数电课程设计 学生姓名: 专业:电子信息工程 指导教师: 完成日期: 2016-6-30

摘要 Verilog HDL作为一种规范的硬件描述语言,被广泛应用于电路的设计中。它的设计描述可被不同的工具所支持,可用不同器件来实现。利用Verilog HDL语言自顶向下的设计方法设计交通灯控制系统,使其实现道路交通的正常运转,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点,并通过Quartus5.0完成综合、仿真。此程序通过下载到FPGA芯片后,可应用于实际的交通灯控制系统中。 关键词:Verilog HDL;硬件描述语言;状态;FPGA Abstract As a common language for the description of hardware, Verilog HDL is widely applied in circuit designing. The design description can be supportted by differenttools and implemented by different devices.In this paper, the process of design ing traffic light controller system by the Verilog HDL topdown design method is presented, which has made the road traffic work well, the design of t his system has shown the readability, portability and easily understanding of Verilog HDL as a hard description language Circuit synthesis and simulation are pe rformed by Quartus5.0. The program can be used in the truly traffic light controller system by downloading to the FPGA chip Keywords:Verilog HDL; hardware description language; state; FPGA

verilog课程设计—交通灯

课程论文 论文题目基于DE2的交通灯设计完成时间 课程名称Verilog语言设计 任课老师 专业 年级

1.交通信号控制器设计要求与思路 1.1设计背景 FPGA是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,其种类很多,内部结构也不同,但共同的特点是体积小、使用方便。本文介绍了用VerilogHDL语言设计交通灯控制器的方法,并在QuartusII系统对FPGA芯片进行编译下载,由于生成的是集成化的数字电路,没有传统设计中的接线问题,所以故障率低、可靠性高,而且体积非常小。本文通过EDA设计,利用VerilogHDL语言模拟仿真交通灯控制电路。 1.2设计要求 根据交通灯控制器要实现的功能,考虑用两个并行执行的always语句来分别控制A方向和B方向的3盏灯。这两个always语句使用同一个时钟信号,以进行同步,也就是说,两个进程的敏感信号是同一个。每个always语句控制一个方向的3种灯按如下顺序点亮,并往复循环:绿灯----黄灯----红灯,每种灯亮的时间采用一个减法计数器进行计数,计数器用同步预置数法设计,这样只需改变预置数据,就能改变计数器的模,因此每个方向只要一个计数器进行预置数就可以。为便于显示灯亮的时间,计数器的输出均采用BCD码,显示由4个数码管来完成,A方向和B方向各用两个数码管。设定A方向红灯、黄灯、绿灯亮的时间分别为:35s、5s、35s,B方向的红灯、黄灯、绿灯亮的时间分别为:35s、5s、35s。假如要改变这些时间,只需要改变计数器的预置数即可。 1.3设计思路 两个方向各种灯亮的时间能够进行设置和修改,此外,假设B方向是主干道,车流量大,因此B方向通行的时间应该比A方向长。交通灯控制器的状态转换表见下表。表中,1表示灯亮,0表示灯不亮。A方向和B方向的红黄绿分别用R1、Y1、G1、R2、Y2、G2来表示。

Verilog HDL数字时钟课程设计

课程设计报告 课程设计名称:EDA课程设计课程名称:数字时钟 二级学院:信息工程学院 专业:通信工程 班级:12通信1班 学号:1200304126 姓名:@#$% 成绩: 指导老师:方振汉 年月日

目录 第一部分 EDA技术的仿真 (3) 1奇偶校验器 (3) 1.1奇偶校验器的基本要求 (3) 1.2奇偶校验器的原理 (3) 1.3奇偶校验器的源代码及其仿真波形 (3) 28选1数据选择器 (4) 2.18选1数据选择器的基本要求 (4) 2.28选1数据选择器的原理 (4) 2.38选1数据选择器的源代码及其仿真波形 (5) 34位数值比较器 (6) 3.14位数值比较器的基本要求 (6) 3.24位数值比较器的原理 (6) 3.34位数值比较器的源代码及其仿真波形 (7) 第二部分 EDA技术的综合设计与仿真(数字时钟) (8) 1概述 (8) 2数字时钟的基本要求 (9) 3数字时钟的设计思路 (9) 3.1数字时钟的理论原理 (9) 3.2数字时钟的原理框图 (10) 4模块各功能的设计 (10) 4.1分频模块 (10) 4.2计数模块(分秒/小时) (11) 4.3数码管及显示模块 (13) 5系统仿真设计及波形图........................... 错误!未定义书签。5 5.1芯片引脚图.................................... 错误!未定义书签。5 5.2数字时钟仿真及验证结果 (16) 5.3数字时钟完整主程序 (17) 6课程设计小结 (23) 7心得与体会 (23) 参考文献 (24)

交通灯设计-verilog.

. 基于Verilog语言交通灯设计报告 院系:工学院自动化系 年级:14级 班级:10班 姓名:周博 学号:14032291

这学期我学习了EDA技术及其创新实践这门课程,通过自己学习的内容和自己查找的一些资料用Verilog语言编写交通灯的程序,并且完成了仿真。Verilog HDL是工业和学术界的硬件设计者所使用的两种主要的HDL之一,另一种是VHDL。现在它们都已成为IEEE标准。两者各有特点,但Verilog HDL拥有更悠久的历史、更广泛的设计群体,资源也远比VHDL丰富,且非常容易学习掌握。一、设计背景和意义 交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。 二、设计任务 (1)设计一个交通红绿灯。要求分主干道和支干道,每条道上安装红(主:red1,支:red2)绿(主:green1,支:green2)黄(主:yellow1,支:yellow2)三种颜色灯,由四种状态自动循环构成; (2)在交通灯处在不同的状态时,设计一个计时器以倒计时方式显示计时,主干道上绿灯亮30S,支干道上绿灯亮20S。每个干道上,在绿灯转为红灯时,要

求黄灯先亮5S。 在完成基本要求的基础上,可进一步增加功能、提高性能,如绿灯亮的时间可调。 三、设计方案 1.工作原理: 城市十字交叉路口红绿灯控制系统主要负责控制主干道走向和从干道走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计: S0:当主干道走向的绿灯亮时,从干道走向的红灯亮,并保持30s S1:当主干道走向的黄灯亮时,从干道走向的黄灯亮,并保持5s S2:当主干道走向的红灯亮时,从干道走向的绿灯亮,并保持20s S3:当主干道走向的黄灯亮时,从干道走向的黄灯亮,并保持5s 在S3结束后又回到(1)状态,并周期重复进行。 状态图如下: 30秒 5秒5秒

Verilog课程设计

一.实验目的 (1)学习RISC_CPU的基本结构和原理; (2)了解Verilog HDL仿真和综合工具的潜力; (3)展示Verilog设计方法对软/硬件联合设计和验证的意义; (4)学习并掌握一些常用的Verilog语法和验证方法。 二.实验原理 CPU即中央处理单元的英文缩写,它是计算机的核心部件。计算机进行信息处理可分为两个步骤: (1)将数据和程序(即指令序列)输入计算机的存储器中。 (2)从第一条指令的地址起开始执行该程序,得到所需结果,结束运行。CPU的作用是协调并控制计算机的各个部件并执行程序的指令序列,使其有条不紊地进行。因此它必须具有以下基本功能。 ①取指令——当程序忆在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。 ②分析指令——即指令译码,这是对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。 ③执行指令——根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成。 将CPU的功能进一步细化,可概括如下: (1)能对指令进行译码并执行规定的动作; (2)可以进行算术和逻辑运算; (3)能与存储器和外设交换数据; (4)提供整个系统所需要的控制。 尽管各种CPU的性能指标和结构细节各不相同,但它们所能完成的基本功能相同。由功能分析,可知任何一种CPU内部结构至少应包含下面这些部件:(1)算术逻辑运算部件(ALU); (2)累加器; (3)程序计数器;

(4)指令寄存器和译码器; (5)时序和控制部件。 三.实验内容 通过我们自己动手,设计出一个CPU的软核和固核。这个CPU是一个简化的专门为教学目的而设计的RISC_CPU。在设计中我们不但关心CPU总体设计的合理性,而且还使得构成这个RISC_CPU的每一个模块不仅是可仿真的也都可以综合成门级网表。因而从物理意义上说,这也是一个能真正通过具体电路结构而实现的CPU。为了能在这个虚拟的CPU上运行较为复杂的程序并进行仿真,把寻址空间规定为8K(即13们地址线)字节。 四.实验代码 1.源代码 //----------------------------------clk_gen.v------------------------------ `timescale 1ns/1ns //时间单位1ns,时间单位1ns module clk_gen(clk,reset,fetch,alu_ena); //模块名clk_gen,参数列表(clk,reset,fetch,alu_ena)input clk,reset; //输入clk,reset output fetch,alu_ena; //输出fetch,alu_ena wire clk,reset; //wire型变量clk,reset reg fetch,alu_ena; //reg寄存器型变量fetch,alu_ena reg[7:0]state; //reg寄存器型变量8位的state parameter S1=8'b00000001,S2=8'b00000010,S3=8'b00000100,S4=8'b00001000,S5=8'b00010000,S6=8'b001 00000,S7=8'b01000000,S8=8'b10000000,idle=8'b00000000; //参数型定义8位二进制常量s1,s2,s3,s4,s5,s6,s7,s8,idle always@(posedge clk) //always块时钟触发 if(reset) //如果reset为真 begin //执行begin,and顺序块 fetch<=0; //fetch非阻塞赋值赋为0 alu_ena<=0; //alu_ena非阻塞赋值赋为0 state<=idle; //idle非阻塞赋值给state end else //reset为假执行下面begin语句 begin case(state) //case表达式(state) S1:begin alu_ena<=1; //alu_ena非阻塞赋值赋为1 state<=S2; //state非阻塞赋值赋为S2 end S2:begin alu_ena<=0; //alu_ena非阻塞赋值赋为0 state<=S3; //state非阻塞赋值赋为S3 end

通过Verilog实现交通灯设计实验报告

电子科技大学 实 验 报 告 一、实验室名称:虚拟仪器实验室 二、实验项目名称:交通灯设计实验 三、实验学时:4学时 四、实验原理

假设交通灯处于南北和东西两条大街的“十”字路口,如图1所示。用FPGA 开发板的LED 灯来模拟红、黄、绿3种颜色信号,并按一定顺序、时延来点亮LED ,如图2所示。图3给出了交通灯的状态转移图。设计使用频率为1Hz 的时钟来驱动电路(注1:仿真时采用1MHz 的时钟来驱动电路),则停留1个时钟可得到1S 的延时,类似停留3个时钟可得到3S 的延时,停留15个时钟可得到15S 的延时(注2:开发板工作时钟为50MHz )。 北 南 西东 图1. 六个彩色LED 可以表示一组交通信号灯 图2. 交通灯状态 南北 东西 红 黄 绿 红 黄 绿 S0 1 0 0 0 0 1 S1 1 0 0 0 1 0 S2 1 0 0 1 0 0 S3 0 0 1 1 0 0 S4 0 1 0 1 0 0 S5 1 0 0 1 0 0

图3. 交通灯的状态转移图 顶层模块 时钟分频模块状态机跳转模块 图4. 交通灯的原理框图 五、实验目的 本实验是有限状态机的典型综合实验,掌握如何使用状态转移图来定义Mealy状态机和Moore状态机,熟悉利用HDL代码输入方式进行电路的设计和仿真的流程,掌握Verilog语言的基本语法。并通过一个交通灯的设计掌握利用EDA软件(Xilinx ISE 13.2)进行HDL代码输入方式的电子线路设计与仿真的详细流程。。 六、实验内容 在Xilinx ISE 13.2上完成交通灯设计,输入设计文件,生成二进制码流文件下载到FPGA开发板上进行验证。 七、实验器材(设备、元器件)

基于Verilog的课程设计

基于Verilog的课程设计 直流电机的PWM控制 指导老师:翁嘉民 班级:1031电气自动化技术成员:李高峰9112 王俊才9186 孟令朋9143

目录 1.绪论 (3) 直流电机介绍 (3) 1.1.1直流电机的特点 (3) 1.1.2直流电机的应用 (3) 介绍 (4) 介绍 (4) V ERILOG HDL硬件描述语言 (5) 1.4.1V ERILOG HDL硬件描述语言介绍 (5) 1.4.2V ERILOG HDL功能 (5) PWM脉冲宽度调制介绍 (6) 直流电机的PWM控制 (7) 2.设计原理 (8) 设计原理框图 (8) 原理图 (9) 模块设计 (9) 2.3.1 MOTO_TEST模块 (9) 2.3.4计数器模块 (12) 7实训心得 (13) 参考文献 (13)

直流电机的PWM控制器的设计 1.绪论 直流电机介绍 直流电机是实现直流电能与机械能之间相互转换的一种电力机械,按照直流电机的用途分为直流电动机和直流发电机两类。能够将机械能转换成直流电能的电机称为直流发电机;能够将直流电能转换成机械能的电机称为直流电动机。 1.1.1直流电机的特点 从直流电机与交流电机相比中可以看出,直流电机具有优良的调速性能和启动性能。直流电机具有宽广的调速范围,平滑的无级调速特性,可实现频繁的无级快速启动、制动和反转;过载能力大,能承受频繁的冲击负载;能满足自动化生产系统中各种特殊运行的要求。而直流发电机则能提供无脉动的大功率直流电源,且输出电压可以精确地调节和控制。 1.1.2直流电机的应用 直流电机是交通、工矿、建筑等行业中的常见动力机械,是机电行业人员的重要工作对象和工具。在某些要求调速范围广、速度快、精密度高、控制性能优异的场合,直流电机的应用目前仍占有较大的比重,如大型可逆式轧钢机、内燃机车、矿井卷扬机、造纸和印刷机械、宾馆高速电梯、城市电车、电动自行车、龙门刨床、电力机车、地铁列车、船舶机械、大型精密机床和大型起重机等生产机械中。

verilog课程设计—交通灯1

课程设计 课程名称__EDA技术综合设计与实践__ 题目名称交通灯控制系统 学生学院信息工程学院 专业班级通信工程08(4) 学号 3108002925 学生姓名高高 指导教师李学易 2011 年12 月26 日

基于FPGA 的交通灯控制器的设计 摘要:Verilog 是广泛应用的硬件描述语言,可以用在硬件设计流程的建模、综合和模拟等多个阶段。随着硬件设计规模的不断扩大,应用硬件描述语言进行描述的CPLD 结构,成为设计专用集成电路和其他集成电路的主流。现代城市在日常运行控制中,越来越多的使用红绿灯对交通进行指挥和管理。而一套完整的交通灯控制系统通常要实现自动控制和手动控制去实现其红绿灯的转换。 基于FPGA 设计的交通灯控制系统电路简单、可靠性好。本设计利用Verilog HDL 语言、采用层次化混合输入方式,可控制4个路口的红、黄、绿、左转四盏信号灯,让其按特定的规律进行变化。在QUARTUSⅡ下对系统进行了综合与仿真。仿真结果表明系统可实现十字路口红绿灯及左转弯控制和倒计时显示,并能够自动控制交通灯转变。通过应用Verilog HDL 对交通灯控制器的设计,达到对Verilog HDL 的理解 关键词:FPGA;交通灯自动控制;V erilog HDL;Quartus Ⅱ 1.交通信号控制器设计要求与思路 1.1设计要求 在交通灯系统中(图1),路口1、2、3、4均需要红、黄、绿、左转四盏灯(用RYGL分别表示) ,并且每个路口都需要一个倒数的计时器,假设绿灯每次维持的时间是40 s ,黄灯为5 s ,左转灯10s,红灯60s,黄灯亮时以一定的频率闪动。交通灯系统大多是自动控制来指挥交通的,但有时需要由交警手动控制红绿灯,所以要求设 计的该交通信号系统需要具有该功能。 实现设计目标如下: (1)设计一个十字路口的交通灯控制电路,每条路配有红、黄、绿交通信号灯,通过电路对十字路口的两组交通灯的状态实现自动循环控制; (2)实现东西车道和南北车道上的车辆交替运行,绿灯每次维持的时间是40 s ,黄灯为5 s ,左转灯10s,红灯60s; (3)要求黄灯亮5 秒后,红灯才能转为绿灯,黄灯亮时以一定的频率闪动; (4)东西车道和南北车道每次通行的时间不同且可调; 图1 交通灯系统示意图

Verilog HDL课程设计

人民武装学院Verilog HDL课程设计洗衣机控制器的设计 学生姓名: 周云 学号: PB102027115 专业: 电子信息科学与技术 年级: 2010 级 指导老师: 周骅老师 时间: 2011年12月22日

目录 引言...................................................................................................................... - 3 - 一、设计内容...................................................................................................... - 4 - 1.设计内容.................................................................................................... - 4 - 2.功能............................................................................................................ - 4 - 二、洗衣机控制器的工作原理.......................................................................... - 6 - 1. 洗衣机的工作状态.................................................................................. - 6 - 2. 全自动洗衣过程...................................................................................... - 7 - 3.单独执行某个洗衣程序............................................................................ - 8 - 三、洗衣机的状态转换图.................................................................................. - 9 - 1.洗衣机的状态转换图................................................................................ - 9 - 2. 设计思路.................................................................................................. - 9 - 四、设计程序.................................................................................................... - 11 - 1.全自动洗衣机主程序.............................................................................. - 11 - 2.全自动洗衣机测试程序.......................................................................... - 15 - 五、步骤及仿真图............................................................................................ - 17 - 1.在代码提示框架中完成核心子模块wash_ctrl.v的设计 ................... - 17 - 2.对核心子模块wash_ctrl.v 进行时序仿真 ........................................... - 17 - 六、功能图........................................................................................................ - 20 - 1.设计顶层图形文件,编译.................................................................... - 20 - 2.功能引脚锁定.......................................................................................... - 20 - 心得体会............................................................................................................ - 22 -

基于VerilogHDL的交通灯控制器设计

目录 第一章设计原理 (1) 1.1设计要求 (1) 1.2设计思路和原理 (1) 1.3实现方法 (1) 第二章Verilog 程序设计 (2) 2.1整体设计 (2) 2.2 具体设计 (3) 第三章仿真 (7) 3.1 波形仿真 (7) 第四章设计总结 (9) 4.1 总结 (9) 4.2参考资料 (9) 程序清单 (10)

交通灯控制器设计 第一章 设计原理 1.1设计要求 设计一个交通控制器,用LED 显示灯表示交通状态,并以7段数码显示器显示当前状态剩余秒数 主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行35s ,支干道每次放行25s 。每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为5s 。能进行特殊状态显示,特殊状态时东西、南北路口均显示红灯状态。用LED 灯显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。 1.2设计思路和原理 本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续35S 后,主干道和支干道上的黄灯都亮启,持续5S 后,主干道上红灯亮启,支干道上绿灯亮启持续25S ,之后主干道和支干道上的黄灯都亮启5s ,一个循环完成。循环往复的直行这个过程。其过程如下图所示: 0s 30s 25s 主干道方向 支干道方向 图1.交通灯点亮时间控制说明 1.3实现方法 本次采用文本编辑法,即利用Verilog 语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。设计中用两组红黄绿LED 模拟两个方向上的交通灯,用4个7段数码管分别显示两个方向上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。

用verilog语言编写交通灯程序

交通灯 一、实验目的 写一个交通灯,要求: ①有东西南北四个方向,两组交通灯轮流交替变换,其中,红灯时间为30 个时间单位,绿灯时间为25个时间单位,黄灯时间为5个时间单位。最后用modelsim软件进行仿真。 ②要求设计是一个可综合设计。 二、实验原理 根据实验要求的逻辑功能描述,可以分析得出原理图如下: 根据实验要求画出控制器的状态转移图如下:

三、代码 1、源代码 (1)控制器模块 module traffic_lights(clk,rst,count,ew,sn); input clk,rst; input[5:0] count; output[2:0] ew,sn; reg[2:0] ew,sn; reg[3:0] state; parameter Idle=3'b000,s1=3'b001,s2=3'b010,s3=3'b011,s4=3'b100; always @(posedge clk) if(!rst) begin state<=Idle; end else casex(state) Idle: if(rst) begin state<=s1; end s1: if(count=='d25) begin state<=s2; end s2: if(count=='d30) begin state<=s3;

end s3: if(count=='d55) begin state<=s4; end s4: if(count=='d60) begin state<=s1; end endcase always @(posedge clk) begin if(!rst) begin ew<=3'b100; sn<=3'b100; end else casex(state) Idle: if(rst) begin ew<=3'b100; sn<=3'b001; end s1: if(count=='d25) begin ew<=3'b100; sn<=3'b010; end

verilog课程设计

课程设计 设计题目:基于FPGA的乐曲演奏电路设计 ?指导教师:蒋俊华 ?学院:物理与电子学院 ?专业:电子信息科学与技术 ?姓名:郭志勇 ?学号:10230******* ?实验地点:特种功能实验室(实验室502)

摘要:本文根据层次化的设计思路并在EDA开发工具Quartus II 9.0 (32-Bit) 平台上,采用Verilog语言、原理图、定制LPM-ROM块以及实例化的设计方法,利用数控分频的原理实现了基于FPGA片上系统(本实验用的是康芯GW48系列EDA设备)乐曲演奏的设计。 关键词 FPGA,EDA,Verilog,数控分频器 一. 概述部分: (1)设计所要实现的功能 能够很好的演奏出“梁祝”的谱子,将音乐通过实验箱上的喇叭播放出;演奏发音相对应的简谱码输出显示由在数码管5显示;高八度音指示由发光管D5指示 (2)设计所采用的基本思想 根据层次化的设计思路,可把乐曲硬件演奏电路分为3个模块,音乐节拍发生模块,音符译码电路模块,数控分频模块。 音乐节拍发生模块的设计:将编辑好的音符填入MIF文件中再定制LPM-ROM块将音符数据加载入ROM再通过计数器逐步计数rom块的地址来提取音符;音符译码电路模块、数控分频模块的设计:都是由verilog代码实例化生成 通过输入原理图的方法将各个模块连接起来生成一个block块的.qpf文件作为最终的顶层文件。 二.系统设计部分 (1)整个设计的组织结构

(2)各个子单元的设计思路 音乐节拍发生模块的设计: LPM-ROM块该模块为音乐曲谱的存放块。其中设置了“梁祝”乐曲全部音符所对应的分频预置数。其利用LPM_ROM宏模块将共设定256个音符,每个音符宽度为4位。 Mif文件存放乐曲中的音符数据,它是利用LPM-ROM来实现的,将乐谱中相应的音符放在一个连续的地址上。它首先是编写音符数据文件,将乐谱中相应的音符存放在一个连续的地址上。因为1拍的时间定为1秒,提供的是4Hz的时钟频率(即1/4拍的整数倍),则需将这个音符存储在相应次数的连续几个地址上。.mif文件如下:

Verilog语言实现设计交通灯控制器

Verilog语言实现设计交通灯控制器 实验模块组成: (计数器+控制器)可以分开实现,最好一起实现避免接口对接时出错 译码器 实验要求: 1.在十字路口两个方向各设一组红、绿、黄灯,显示顺序为: 南北方向是绿、黄、红灯;东西方向是红、绿、黄灯。 2.要求红、绿、黄灯的持续时间分别为:10s、7s、3s,东西、南北方向各用一 个数码管显示倒计时时间。 3.当任意方向出现特殊情况时,应优先放行,即使各方向均亮红灯,倒计时停 止,且显示数字闪烁。经过规定时间之后,恢复正常运行状态。 //计数器+控制器 module ZTJ(clk,s,count1,count2,led); parameter s0=6'b010100,s1=6'b001100,s2=6'b100010,s3=6'b100001,s4=6'b100100; inputclk,s; output[3:0]count1; output[3:0]count2; output[5:0]led; reg[3:0]count1; reg[3:0]count2; reg[5:0]led; reg[5:0]st; reg[5:0]jicun; reg[3:0]i; always @(posedgeclk) if(s==0 & led==6'b000000) begin led<=s0; st<=s0; count1<=4'b0110; count2<=4'b1001; end else if(s==0 & led!=6'b000000) begin case(st) s0:if(count1!=4'b0000) begin led<=s0;count1<=count1-1;count2<=count2-1;end else begin count1<=4'b0010;st<=s1;end s1:if(count1!=4'b0000) begin led<=s1;count1<=count1-1;count2<=count2-1;end else begin

哈工大Verilog课程设计-状态机

可编程逻辑器件大作业(二) 2012年12月

一、题目 利用Verilog HDL设计一个电路,对输入的一串二进制数,用于检测序列中连续3个或者3个以上的1,状态转换图如图所示。要求: 1、编写源程序; 2、给出仿真电路图、状态转换图和仿真波形图 二、程序代码 module moore(clk,din,op,reset); input clk,din,reset; output op; reg[1:0] current_state,next_state; reg op; parameter S0=2'b00,S1=2'b01,S2=2'b10,S3=2'b11; always @ (posedge clk) begin if(!reset) current_state = S0; else current_state <= next_state; end always @ (din or current_state)

begin case( current_state ) S0: begin op = 0; if(din == 0) next_state = S0; else next_state = S1; end S1: begin op = 0; if(din == 0) next_state = S0; else next_state = S2; end S2: begin op = 0; if(din == 0) next_state = S0; else next_state = S3; end S3: begin op = 1; if(din == 0) next_state = S0;

Verilog交通灯

实验报告 班级:微电2班 组员:刘家豪门珺 学号:11180102

目录 一、概述 (4) 二、任务功能 (5) 三.系统设计 (5) 1.工作原理 (5) 2.系统设计方案 (6) 四、程序设计 (7) 1.verilog源程序 (7) 2.设备选择 (11) 3引脚绑定 (12) 五、结束语 (13)

一:概述 HDL(Hardware Description Language,硬件描述语言)是一种描述硬件所做工作的语言。目前,电子系统向集成化、大规模和高速度等方向发展,以硬件描述语言和逻辑综合为基础的自顶向下的电路设计方法在业界得到迅猛发展,HDL在这种形势下显示出了巨大的优势,展望将来HDL在硬件设计领域的地位将与C和C++在软件设计领域地位一样,在大规模数字系统的设计中,它将逐步取代传统的逻辑状态表和逻辑电路图等硬件描述方法而成为主要的硬件描述工具。 Verilog HDL是工业和学术界的硬件设计者所使用的两种主要的HDL之一,另一种是VHDL。现在它们都已成为IEEE标准。两者各有特点,但Verilog HDL 拥有更悠久的历史、更广泛的设计群体,资源也远比VHDL丰富,且非常容易学习掌握。 Quartus简介: Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

数字竞赛抢答器课程设计Verilog语言实现

数字竞赛抢答器课程设计Verilog语言实现

可编程器件与应用课程设计报告 姓名:XXX 学号:XXXXXXXXXX 专业班级:信息XXX 题目:数字式竞赛抢答器 指导老师:

一、绪论 背景: 随着电子技术的发展,可编程逻辑器件(PLD)的出现,使得电子系统的设计者利用EDA(电子设计自动化)软件,就可以独立设计自己的专用集成电路(ASIC)器件。可编程逻辑器件是一种半导体集成器件的半成品。在可编程逻辑器件的芯片中按一定方式(阵列形式或单元阵列形式)制作了大量的门、触发器等基本逻辑器件,对这些基本器件适当地连接,就可以完成某个电路或系统的功能。 数字式竞赛抢答器控制系统是工厂、学校和电视台等单位举办各种智力竞赛等娱乐活动中经常使用的重要基础设备之一。目前设计抢答器的方法很多,例如用传统的PCB板设计、用PIC 设计或者用单片机设计。而用Verilog可以更加快速、灵活地设计出符合各种要求的抢答器,优于其他设计方法,使设计过程达到高度自动化。本文介绍的4路数字式竞赛抢答器基于Verilog 语言、以EDA技术作为开发手段、采用CPLD (复杂的可编程逻辑器件)作为控制核心设计而成。与传统设计相比较,不仅简化了接口和控制,

也提高了系统的整体性能和工作可靠性,具有电路简单、成本低廉、操作方便、灵敏可靠等优点。意义: 数字式竞赛抢答器作为一种电子产品,早已广泛应用于各种智力和知识竞赛场合,但目前所使用的抢答器存在分立元件使用较多,造成每路的成本偏高,而现代电子技术的发展要求电子电路朝数字化、集成化方向发展,因此设计出数字化全集成电路的多路抢答器是现代电子技术发展的要求。 二、实现方案 设计要求: 1、设计一个可容纳4组参赛的数字式抢答器,每组设一个按钮,供抢答使用。 2、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。 3、设置一个主持人“复位”按钮。 4、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别,扬声器发出2~3秒的音响。 5、设置一个计分电路,每组开始预置5分,由主持人记分,答对一次加1分,答错一次减1分。

相关文档
最新文档