数电实验4Word文件下载.docx

上传人:b****8 文档编号:22156668 上传时间:2023-02-02 格式:DOCX 页数:21 大小:92.48KB
下载 相关 举报
数电实验4Word文件下载.docx_第1页
第1页 / 共21页
数电实验4Word文件下载.docx_第2页
第2页 / 共21页
数电实验4Word文件下载.docx_第3页
第3页 / 共21页
数电实验4Word文件下载.docx_第4页
第4页 / 共21页
数电实验4Word文件下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

数电实验4Word文件下载.docx

《数电实验4Word文件下载.docx》由会员分享,可在线阅读,更多相关《数电实验4Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。

数电实验4Word文件下载.docx

4.2有限状态机三要素

1.状态(当前状态,下一个状态)

2.输入信号(事件)

3.输出控制信号(相应操作)

4.3有限状态机的两种形式

1.Moore有限状态机

2.Mealy有限状态机

4.4状态机的实现方式:

1.一段式:

整个状态机写到一个always模块里面,在该模块中既描述状态转移,又描述状态的输入和输出。

2.两段式:

写为两个always语句,同步时序描述状态转移;

另一个模块采用组合逻辑判断状态转移条件,描述状态转移规律以及输出;

即把时序部分(状态转移部分)和组合部分(判断状态转移条件和产生输出)分开写。

3.三段式:

在两段式基础上,将组合部分中的判断状态转移条件和产生输出再分开写。

即一个always模块采用同步时序描述状态转移,一个always模块采用组合逻辑判断状态转移条件,描述状态转移规律,另一个always模块描述状态的输出(可以用组合电路输出,也可以时序电路输出)。

五、实验原理

5.1可编程器件开发流程

Xilinx是全球领先的可编程逻辑完整解决方案的供应商,研发、制造并销售应用范围广泛的高级集成电路、软件设计工具以及定义系统级功能的IP(IntellectualProperty)核,长期以来一直推动着FPGA技术的发展。

Xilinx的开发工具也在不断地升级,目前的ISEProjectNavigator13.x集成了FPGA开发需要的所有功能,其主要特点有:

•包含了Xilinx新型SmartCompile技术,可以将实现时间缩减2.5倍,能在最短的时间内提供最高的性能,提供了一个功能强大的设计收敛环境;

•全面支持Virtex-5系列器件(业界首款65nmFPGA);

•集成式的时序收敛环境有助于快速、轻松地识别FPGA设计的瓶颈;

•可以节省一个或多个速度等级的成本,并可在逻辑设计中实现最低的总成本。

ISEProjectNavigator13.x的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了FPGA开发的全过程,从功能上讲,其工作流程无需借助任何第三方EDA软件。

•设计输入:

ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(TheISETextEditor),用于原理图编辑的工具ECS(TheEngineeringCapture

System),用于生成IPCore的CoreGenerator,用于状态机设计的StateCAD以及用于约

束文件编辑的ConstraintEditor等。

•综合:

ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌

MentorGraphics公司的LeonardoSpectrum和Synplicity公司的Synplify,实现无缝链接。

•仿真:

ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDLBencher,同

时又提供了使用ModelTech公司的Modelsim进行仿真的接口。

•实现:

此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增

量设计等高级功能。

•下载:

下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还

包括了ImPACT,功能是进行设备配置和通信,控制将程序烧写到FPGA芯片中去。

•使用ISE进行FPGA设计的各个过程可能涉及到的设计工具如表4-2所示。

•可方便使用PlanAhead协助添加管脚定义与约束

5.2BASYS2实验板介绍

Basys2FPGA开发板是一个面向初学者的FPGA开发实验平台,由Digilent公司出品。

Basys2FPGA实验开发板基于一个Spartan-3EFPGA芯片和一个AtmelAT90USB控制器搭建,兼容所有版本的XilinxISE工具,其中也包括免费的WebPack版本,适合于进行从基本逻辑器件到复杂控制器件等各种机电路的实验与开发尝试。

Basys2板上集成了必要的I/O设备和FPGA所需的支持电路,如8个用户可编程LED指示灯,4个七段数码管显示器,4个按键开关,8个滑动开关,1个PS/2接口和1个8位VGA显示接口以及4个6针PMOD用户扩展接口。

用户可利用PMOD用户扩展接口连接到诸如面包板、用户自定义电路板或由Digilent公司提供的各种Pmod模块中以实现用户的创意与构想。

Digilent公司目前提供的Pmod模块包括各种高性价比的数字和模拟I/O模块,如A/D和D/A转换,电机驱动器,传感器输入,蓝牙、网络与无线通信等。

Basys2开发板兼容所有版本的XilinxISE工具,其中也包括免费的WebPack版本。

Basys2附带一个用于供电和编程的USB下载线,所以就不需要其他供电器件或编程下载线。

其技术特点为:

  XilinxSpartan3EFPGA,10万或25万门

  XilinxSpartan3E特有18位乘法器,72位高速双端口BlockRAM,以及500MHz+运算能力

  USB2.0高速接口提供FPGA配置和数据传输(相关Adept2.0软件可以免费下载)

  XilinxPlatformFlashROM可以无限次存储FPGA配置

  用户可配置晶振(25,50,100MHz),另附可连接第二个时钟晶振的插座

  三个内置稳压器(1.2V,2.5V,和3.3V),允许使用3.5V-5.5V的外部电源供电

  8个用户可编程LED指示灯,4个七段数码管显示器,4个按键开关,8个滑动开关,1个PS/2接口和1个8位VGA显示接口

  4个6针用户扩展接口,可以用来连接DigilentPMOD附属电路板

需要Adept2.0或更新版本软件来进行操作

管脚定义参见下表:

用户可根据以上定义决定自己的时钟及IO管脚分配方式(参见4.3.4)我们将用户常用到的管脚定义摘抄出来,以供用户参考。

表5.2.1Basys2各IO管脚定义

发光二极管

时钟

拨码

开关

按键

数码管

LD0

M5

MCLK

B8

SW0

P11

BTN0

G12

AN0

F12

LD1

M11

RCCLK

C8

SW1

L3

BTN1

C11

AN1

J12

LD2

P7

CCLK

N12

SW2

K3

BTN2

M4

AN2

M13

LD3

P6

UCLK

M6

SW3

B4

BTN3

A7

AN3

K14

LD4

N5

SW4

G3

CA

L14

LD5

N4

SW5

F3

CB

H12

LD6

P4

SW6

E2

CC

N14

LD7

G1

SW7

N3

CD

N11

CE

P12

CF

L13

CG

M12

DP

N13

5.3使用XilinxISE13.1软件开发可编程器件的流程介绍

5.3.1新建工程

(1)开启ISE13.1软件:

开始程序XilinxISEDesignSuite13.1ISEProjectNavigator,会出现ISE13.1的画面.

(2)在ISE13.1软件环境下,开启一个新的工程:

FileNewProject.

[ProjectName]:

lab1_4bitsLEDs

[ProjectLocation]:

E:

\Training\training_demo\Verilog\lab1_4bitsLEDs(依使用者设定的目录).

[Top-LevelModuleType]:

HDL(代表最上层的设计模块是以HDL输方方式的模组.

(3)单击next,下一个画面就是设定硬件FPGA的参数

[FPGA系列(DeviceFamily)]:

Spartan3E(请看板子的FPGAFPGA的编号)

[FPGA名称(Device)]:

XC3S100E(请参考开发板的FPGAFPGA的编号)

[FPGA包装(Package)]:

CP132(请参考开发板的FPGAFPGA的编号)

[FPGA速度等级(Speed)]:

-4(FPGA速度等级)

[综合工具(SynthesisTool)]:

XST(VHDL/Verilog)

[仿真器(Simulator)]:

Isim(VHDL/Verilog)

[产生仿真器的语言(GeneratedSimulationLanguage)]:

Verilog

(4)点击next.此时出现此项目所有设定的信息,若需重新设定,则可back.若无误,则按finish

5.3.2创建新的Verilog源文件

5.3.2.1创建一个新的Verilog源文件

(1)此时出现一个项目的架构,可以允许使用者开始进行项目的设计.

(2)创建新的设计文件:

ProjectNewSource;

选择VerilogModule,并设定文件名称为work4.

(3)在创建好的work4代码当中输入如下代码,并做出了详细的注释。

moduleautocount(aclr,func,CLK_50M,left,right,CR);

inputaclr,CLK_50M,CR;

//功能异步清零aclr,时钟信号CLK_50M,功能清零CR

input[2:

0]func;

//功能信号func

outputreg[2:

0]left;

//输出信号汽车左车灯

0]right;

//输出信号汽车右车灯

reg[24:

0]Count_DIV;

//内部节点

parameterCLK_Freq=50000000;

//定义参数

parameterOUT_Freq=1;

regCLK_1HzOut;

always@(posedgeCLK_50MornegedgeCR)//运用always语句且()存在时钟沿时,内部的变量一般是非阻塞的

begin

if(!

CR)begin//如果有时钟清零信号,计数变量清零,1Hz时钟信号清零

CLK_1HzOut<

=0;

Count_DIV<

end

elsebegin

if(Count_DIV<

(CLK_Freq/2*OUT_Freq-1))//当计数变量小于24999999时,计数变量自增

Count_DIV<

=Count_DIV+1'

b1;

elsebegin//当计数变量到达25000000时

CLK_1HzOut<

=~CLK_1HzOut;

end

always@(posedgeCLK_1HzOutorposedgeaclr)

begin

if(aclr)

begin

//q<

=4'

b0000;

left<

=3'

b000;

right<

else

case(func)

3'

b000:

//正常行驶

begin

left<

right<

end

3'

b001:

//刹车

b111;

b100:

//左转弯

right<

if(left==3'

b000)

begin

left<

=left+1;

//Countsdown

end

elseif(left==3'

b001)

begin

b010)

=left+2;

b100)

=left-3;

else

left<

b001;

b010:

//右转弯

if(right==3'

right<

=right+1;

elseif(right==3'

=right+2;

=right-3;

b101:

//左转弯并刹车

end

b011:

//右转弯并刹车

if(right==3'

end

b111:

//倒车

if((right==3'

b111)&

&

(left==3'

b111))

right<

left<

elseif((right==3'

b000)&

b000))

else

default:

end

endcase

end//对于else

endmodule

4.3.2.2创建一个新的Verilog测试文件

(1)创建新的设计文件:

选择VerilogTestFixture,并设定文件名称为test4.

(2)在创建好的test4代码当中输入如下代码,并做了的注释。

moduletest4;

//Inputs

regaclr;

reg[2:

regCLK_50M;

regCR;

//Outputs

wire[2:

0]left;

0]right;

//InstantiatetheUnitUnderTest(UUT)

autocountuut(

.aclr(aclr),

.func(func),

.CLK_50M(CLK_50M),

.left(left),

.right(right),

.CR(CR)

);

alwaysbegin

#10;

CLK_50M=~CLK_50M;

initialbegin

//InitializeInputs

aclr=1;

func=0;

CLK_50M=0;

CR=0;

//Wait100nsforglobalresettofinish

#1;

aclr=0;

//正常行驶

func=3'

CR=1;

#10000;

b100;

//右转弯

b010;

b101;

//右转弯并刹车

b011;

//Wait100nsforglobal

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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