基于veriloghdl的电风扇设计Word下载.docx

上传人:b****2 文档编号:5583543 上传时间:2023-05-05 格式:DOCX 页数:28 大小:137.13KB
下载 相关 举报
基于veriloghdl的电风扇设计Word下载.docx_第1页
第1页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第2页
第2页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第3页
第3页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第4页
第4页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第5页
第5页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第6页
第6页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第7页
第7页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第8页
第8页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第9页
第9页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第10页
第10页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第11页
第11页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第12页
第12页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第13页
第13页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第14页
第14页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第15页
第15页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第16页
第16页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第17页
第17页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第18页
第18页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第19页
第19页 / 共28页
基于veriloghdl的电风扇设计Word下载.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于veriloghdl的电风扇设计Word下载.docx

《基于veriloghdl的电风扇设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于veriloghdl的电风扇设计Word下载.docx(28页珍藏版)》请在冰点文库上搜索。

基于veriloghdl的电风扇设计Word下载.docx

第2章技术规范2

2.1功能定义2

2.2系统结构框图2

2.3应用范围3

2.4引脚描述3

第3章设计方案5

3.1概述5

3.2顶层模块划分5

第4章功能验证方案11

4.1分频模块11

课程设计的心得体会错误!

未定义书签。

第1章FPGA课程设计报告提纲

1.1任务

运用FPGA用FPGA开发板的按键作为输入控制键,用数码管显示当前电风扇自动定时状态(包括:

自动开/关,工作定时等)。

1.2目的

运用veriloghdl描述设计,用QuartusII进行仿真波形

1.3使用环境(软件/硬件环境,设备等)

Pc机QuartusII软件环境

第2章技术规范

2.1功能定义

(1),根据用户需求,通过按键切换来实现风扇定时和普通工作模式。

(2)普通工作模式时,由手动开关控制电风扇的开关,即当开关打开时,风扇工作;

开关关闭时,风扇停止工作。

(3)定时模式时,根据设定定时时间来选择电风扇工作时间,比如10分钟、20分钟、30分钟等,并且同步显示剩余工作时间,但是此时用户仍可以通过开关控制提前关掉电扇。

(4)LED上显示当前工作状态:

风扇工作亮,停止工作灭。

数码管显示总的设定的时间(小时,分钟)和剩余工作时间。

2.2系统结构框图

总体设计可以分为以上几个模块,各模块的功能简要介绍:

(1)分频模块:

模块的功能是把50MHz的系统时钟转换为1Hz的时钟,和2Hz的时钟。

1Hz的时钟供计数模块的使用。

2Hz的时钟供输入定时数值的使用。

(2)模式选择控制模块:

选择需要的工作模式。

包括两个模式:

定时、普通。

(3)自动定时倒计时模块:

选择定时模式后,根据键盘的输入值来设定工作时间,在定时时间以内则风扇工作,倒计时结束或开关关闭时风扇自动关闭。

(4)显示模块:

LED上显示当前工作状态:

数码管显示总的设定的时间和剩余工作时间。

2.3应用范围

可以用于控制电扇手动控制电风扇工作或停止,也可以按照设定的时间自动工作或停止。

2.4引脚描述

顶层模块管脚描述

(1)输入开关管脚

信号名称

功能描述

输入输

位宽

Clk

系统时钟,频率为50MHz

input

1

Op

模式选择信号,为1时为疋时模式;

为0时为普通模式。

In

输入设定时间信号

4

Key

设疋时间后开始计时信号

Input

Clr

清零信号

Fz

复制信号

En

开始计时信号

(2)输出显示管脚

Out

风扇工作信号,为1是风扇工作,为0时风扇停止工作

Output

Out_3

时间高位数码管输出端,为

output

7

时钟的十位

Out_2

时间低位数码管输出端,为时钟的个位

Out_1

时间高位数码管输出端,为分钟的十位

Out_0

第3章设计方案

3.1概述

此自动定时控制器,可以实现定时模式和普通模式的切换,一共有六个模块。

(1)分频模块:

模块的功能是把50MHz的系统时钟转换为1Hz的时钟,和2Hz的时钟。

(2)模式选择控制模块:

模式选择控制模块:

包括两个模式:

(3)自动定时倒计时模块:

(4)显示模块:

风扇工作亮,停止工作

灭。

数码管显示总的设定的时间和剩余工作时间。

(5)信号处理模块:

该模块的主要作用是在定时没有结束的时候用火仍可以通过开关来控制电扇的关闭。

(6)数据输入模块:

当赋值信号(fz)有效后可以通过键盘输入定时的时间,确定输入无误后按下启动键(en),风扇开始倒计时。

3.2顶层模块划分

这个模块的功能是把频率为50MHz的时钟转换为1Hz的时钟,供计时模块的使用。

引脚分配:

信号

名称

方向

宽度

输入

50MHz的时钟

Inclk

输出经过分频以后的1Hz的时钟信号

Nclk

输出经过

分频后的2hz的时钟信号

电路设计:

 

自动、手动,op为1时是定时模式,opl为0时是普通模式。

若为定时模式风在设定的时间内自动工作,当计时结束时风扇自动停止工作,即计时反馈信号out为0时,风扇自动关闭。

若选为

手动模式,则在有手动开关key来控制风扇的开关,key为1时风扇工作,为0时停止工作。

引脚分配

信号名

op

模式选择信号,为1时为自动开关模式;

为0时为手动开关模

式。

key

开关信号

out

风扇工作状态信号

clk

主时钟

A_1

Op为1时a_1为1

A_0

Op为0时a_0为1

Key_1

Key和a_0都为1时可key_1为1,否则为0。

电路设计

opt:

optk>

n

选择定时模式后,根据键盘的输入值来设定工作时间,在定时时间以内则风扇工作,倒计时结束时风扇自动关闭。

管脚分配

nclk

计时时钟,频率为1Hz

en

开始倒计时信号

H

小时数据输入

8

m

分钟数据输入

Sign

时间计数为零反馈信号

Data_3

时间咼位输出端,十位

为小时的

Data_2

时间低位输出端,个位

Data_1

为分钟的

Data_0

时间低位输出端,为分钟的个位

时间高位数码管输出端,为小时的十位

时间低位数码管输出端,为小时的个位

时间低位数码管输出端,为分钟的个位

clr

sign

计时信号

leddi&

pLay:

lpUy

4_Vru.LX..9J

■F応占&

一31

4*>:

-_;

..□)

.0]

(5)信号处理模块:

该模块主要是用来在定时还没有结束时,用户仍可以通过开关关闭电扇。

电扇开关

电扇在普通模式下产生的工作信号

倒计时信号

电扇工作信号

(6)数据输入模块:

该模块用于用户输入定时时间

2hz时钟,用于防抖

赋值信号

H_0

小时低位输入端

H_1

小时高位输入端

M_0

分钟低位输入端

M_1

分钟高位输入端

小时输入数值

M

分钟输入数值

第4章功能验证方案

4.1分频模块

modulefenpin(clk,clr,nclk,inclk);

inputclk,clr;

outputnclk,inclk;

regnclk,inclk;

reg[50:

0]nadd,inadd;

always@(posedgeclk)

begin

if(!

clr)

nclk=0;

nadd=0;

end

else

beginif(nadd==24999999)beginnclk=!

nclk;

elsenadd=nadd+1;

inclk=0;

inadd=0;

beginif(inadd==12999999)begininclk=!

inclk;

inadd=0;

inadd=inadd+1;

endmodule

1匸

■A

"

—2

b-ia

OXO:

O:

*WM0(MW5^^

応•>

■・■j:

-一

1?

O■•■■•

•HI#

■时■*

Jjj

豊t*i*«

■B4*Fdl

二-*.H.J

■F・

.V.:

<

.V.;

.:

.W.T.:

.r\.:

.T...:

HO■

•r

FHF*"

T

ft

■■

4■♦询

tai

OA*'

fr7a

hv■*

!

■?

■faMJUl|i

bn

^iIlkaaiJ£

wdi.:

i^■1皆jita|BBinjl・<

[■•'

・F*■!

“・

«

■-

net

F悶严『rn

壬云ajLWl4’'

J'

-M.■

倒计时模块

modulehour(a,en,sign,data,clk,b_h,bcd_h,bcd_l);

inputa,clk,en,sign;

input[7:

0]data;

wire[7:

outputb_h;

regb_h;

output[3:

0]bcd_h,bcd_l;

reg[3:

reg[7:

0]count;

rege;

en)

e=1;

always@(posedgeaornegedgeen)

count=data;

b_h=0;

if(a)

beginif(count[3:

0]==0)beginif(count[7:

4]==0)beginb_h=1;

endelsebegincount[7:

4]=count[7:

4]-1;

count[3:

0]=4'

b1001;

b_h=0;

count[3:

0]=count[3:

0]-1;

always@(posedgeelkorposedgee)begin

if(e)

begin

bed_h=eount[7:

4];

bed」=count[3:

0];

Endmodule

■P

moduleeloek(en,a_1,sign,data,sclk,clk,b_m,bcd_h,bcd」);

inputen,sign,clk,sclk,a_1;

outputb_m;

regb_m;

wireas;

assignas=e&

sign&

a_1;

End

always@(posedgesclkornegedgeen)

b_m=0;

if(as)

if(count[3:

0]==0)

if(count[7:

4]==0)

begincount[7:

4]=4'

b0101;

b_m=1;

b_m=0;

elsebegincount[3:

b_m=O;

end

bcd_h=count[7:

bcd」=count[3:

*'

・•f汙

modulesg(b_m,b_h,clk,sign,clr);

inputb_m,b_h,clk,clr;

outputsign;

regsign;

always@(posedgeclkornegedgeclr)begin

begin

sign=1;

if(b_h)

if(b_m)begin

sign=0;

elsebegin

一-*鼻鼻包"

鼻亀「Tlh

•rjg入'

i4xi.|!

»

njiir-w}GJ

信号处理模块

modulelast(key,sign,key_1,out);

inputkey,sign,key_1;

outputout;

wireout;

wireks;

assignks=key&

sign;

assignout=ks|key_1;

endmodule

OUt'

U

数据输入模块

moduledisplay(h_1,h_0,m_1,m_0,fz,clk,clr,h,m);

inputh_1,h_0,m_1,m_0;

inputclk,clr,fz;

output[7:

0]h,m;

0]add_m_0,add_m_1,add_h_0,add_h_1;

always@(posedgeclkornegedgeclr)begin

add_m_0=0;

add_m_1=0;

if(fz)

m_0)

if(add_m_0==4'

b1001)

add_m_0

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2