实用多功能数字时钟设计verilog汇总Word文件下载.docx

上传人:b****3 文档编号:15097080 上传时间:2022-10-27 格式:DOCX 页数:19 大小:603.42KB
下载 相关 举报
实用多功能数字时钟设计verilog汇总Word文件下载.docx_第1页
第1页 / 共19页
实用多功能数字时钟设计verilog汇总Word文件下载.docx_第2页
第2页 / 共19页
实用多功能数字时钟设计verilog汇总Word文件下载.docx_第3页
第3页 / 共19页
实用多功能数字时钟设计verilog汇总Word文件下载.docx_第4页
第4页 / 共19页
实用多功能数字时钟设计verilog汇总Word文件下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

实用多功能数字时钟设计verilog汇总Word文件下载.docx

《实用多功能数字时钟设计verilog汇总Word文件下载.docx》由会员分享,可在线阅读,更多相关《实用多功能数字时钟设计verilog汇总Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。

实用多功能数字时钟设计verilog汇总Word文件下载.docx

数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。

  VerilogHDL语言具有下述描述能力:

设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。

所有这些都使用同一种建模语言。

此外,VerilogHDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。

  VerilogHDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。

因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。

语言从C编程语言中继承了多种操作符和结构。

VerilogHDL提供了扩展的建模能力,其中许多扩展最初很难理解。

但是,VerilogHDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。

当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。

(2)Modelsim简介 

Modelsim仿真工具是Model公司开发的。

它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。

(3)Quartus工程说明

创建工程时,路径中不允许有中文。

选择芯片系列:

CycloneII

选择芯片型号:

EP2C8Q208C8

其余直接下一步。

(创建的工程文件名为:

*.qpf文件)

与工程设置:

Assignments->

Settings

弹窗右上角:

Device…

DeviceandPinOptions->

Configuration->

Useconfigurationdevice:

EPCS1

Dual-PurposePins->

nCEO:

UseasregularI/O

创建Verilog文件,和BlockDiagram文件。

完成编译后,下载。

编译:

Processing->

StartCompilation

引脚分配:

PinPlanner

下载程序:

Tools->

Programmer->

HardwareSetup…:

选择对应的下载方式

Mode:

JATG

注意文件名后缀为:

*.sof

并勾选:

Program/Configure

连接下载器线,和USB电源线,点击“Start”下载。

Progress:

绿色100%,完成。

该下载方式:

掉电后消失,须重新下载。

3、硬件设计

(1)主要部件电路图

按键电路图

蜂鸣器电路图

(2)硬件配置

硬件搭建图

引脚配置图

4、软件设计

(1)Modelsim仿真

1.主程序

moduleled(clk,clr,miao,fen1,fen2,shi1,shi2,a,jiaos,jiaof,Ring,

sel,seg);

inputclk,clr;

inputjiaos,jiaof,sel;

outputmiao,fen1,fen2,shi1,shi2,seg;

reg[3:

0]fen1,fen2,shi1,shi2;

regmiao;

0]sfbz;

outputreg[7:

0]a;

outputregRing;

outputreg[1:

0]sel;

outputreg[6:

0]seg;

always@(posedgeclk)

begin

if(clr)

miao<

=0;

else

miao=~miao;

end

always@(posedgemiaoorclr)

a<

elseif(a==8'

d59)

a<

else

=a+1;

if(clr)

fen1<

elseif(jiaof&

&

fen1<

4'

d9)

=fen1+1;

fen1==4'

elseif(fen1==4'

d9&

a==8'

elseif(a==8'

d59&

(a+1)==8'

d60)

elsefen1<

=fen1;

fen2<

fen2<

5)

=fen2+1;

elseif(fen2==5&

fen1==9&

elseif(fen1==9&

else

=fen2;

always@(posedgemiaoorclr)

if(clr)

shi1<

elseif(jiaos&

shi1=shi1+1;

shi1==4'

elseif(shi1==8'

d3&

fen1==8'

fen2==8'

d5&

shi2==4'

d2)

begin

shi2<

end

elseif(fen1==8'

shi1==8'

d9)

=shi1+1;

elseshi1<

=shi1;

shi2=shi2+1;

shi2==2)

=shi2+1;

elseshi2<

=shi2;

always@(fen1orfen2ormiao)

if(fen1==8'

d5)

case(a)

8'

d51:

Ring=1;

d53:

d55:

d57:

d59:

default:

Ring=1'

b0;

endcase

Ring=1'

endmodule

2.测试程序

moduleledtest1;

regclk,clr;

wire[3:

wiremiao;

wireRing;

wire[7:

regjiaos,jiaof;

ledu1(clk,clr,miao,fen1,fen2,shi1,shi2,a,jiaos,jiaof,Ring);

initial

#10clk=1;

#10clr=1;

#10clr=0;

#100jiaof=0;

#100jiaos=0;

#100000jiaof=1;

#100000jiaos=1;

clr=0;

always#10clk=~clk;

3.Modelsm程序仿真

4.程序仿真波形图

(2)Quartus仿真

moduleled(clk,clr,miao,jiaos,jiaof,Ring,sel,seg);

inputjiaos,jiaof;

outputmiao,seg,sel;

reg[21:

0]div;

regmiao,clkd;

reg[7:

0]seg;

reg[3:

0]sel,nsel;

0]sfbz;

always@(posedgeclk)

if(~clr)

div<

elseif(div==21'

b111111111111111111111)

=div+1;

always@(posedgeclk)

if(~clr)

clkd<

elseif(div==21'

=~clkd;

elseclkd<

=clkd;

always@(posedgeclkd)

always@(posedgemiaoornegedgeclr)

elseif(!

jiaof&

=fen1+

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

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1