实验二2输入逻辑门的设计和实现.docx

上传人:b****2 文档编号:1635586 上传时间:2023-05-01 格式:DOCX 页数:13 大小:685.08KB
下载 相关 举报
实验二2输入逻辑门的设计和实现.docx_第1页
第1页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第2页
第2页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第3页
第3页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第4页
第4页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第5页
第5页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第6页
第6页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第7页
第7页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第8页
第8页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第9页
第9页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第10页
第10页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第11页
第11页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第12页
第12页 / 共13页
实验二2输入逻辑门的设计和实现.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验二2输入逻辑门的设计和实现.docx

《实验二2输入逻辑门的设计和实现.docx》由会员分享,可在线阅读,更多相关《实验二2输入逻辑门的设计和实现.docx(13页珍藏版)》请在冰点文库上搜索。

实验二2输入逻辑门的设计和实现.docx

实验二2输入逻辑门的设计和实现

实验二2输入逻辑门的设计与实现

一.实验目的

1.使用ISE软件设计并仿真;

2.学会程序下载。

二.实验内容

使用ISE软件进行简单的2输入逻辑门的设计与实现。

三.实验步骤

1.编写文本文件并编译

2.软件仿真

3.进行硬件配置

四.实验原理

1.ISE软件是一个支持数字系统设计的开发平台。

2.用ISE软件进行设计开发时基于相应器件型号的。

注意:

软件设计时选择的器件型号是与实际下载板上的器件型号相同。

3.图2-1所示电路包含6个不同的逻辑门,本实验中用Verilog语句来描述。

图2-12输入逻辑门电路

(1)新建工程

双击桌面上“ISEDesignSuite14.7”图标,启动ISE软件(也可从开始菜单启动)。

每次打开ISE都会默认恢复到最近使用过的工程界面。

当第一次使用时,由于还没有历史工程记录,所以工程管理区显示空白。

选择FileNew--Project选项,在弹出的对话框中输入工程名称并指定工程路径,如图2-2所示。

图2-2

点击Next按钮进入下一页,选择所使用的芯片及综合、仿真工具。

计算机上安装的所有用于仿真和综合的第三方EDA工具都可以在下拉菜单中找到,如图2-3所示。

在图中我们选用了Spartan6XC6SLX16芯片,采用CSG324封装,这是NEXYS3开发板所用的芯片。

另外,我们选择Verilog作为默认的硬件描述语言。

再点击Next按钮进入下一页,这里显示了新建工程的信息,确认无误后,点击Finish就可以建立一个完整的工程了,如图2-4所示。

图2-3

图2-4

(2)设计输入和代码仿真

在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,会弹出如图2-5所示的新建源代码对话框,对于逻辑设计,最常用的输入方式就是HDL代码输入法(VerilogModule、VHDLModule)、状态机输入法(StateDiagram)和原理图输入法(Schematic)。

这里我们选择VerilogModule输入,并输入Verilog文件名。

图2-5

单击Next按钮进入端口定义对话框,如图2-6所示。

其中ModuleName栏用于输入模块名,这里是gates2,下面的列表框用于端口的定义。

PortName表示端口名称,Direction表示端口方向(可选择为input、output或inout),MSB表示信号最高位,LSB表示信号最低位,对于单信号的MSB和LSB不用填写。

当然,端口定义这一步我们也可以略过,在源程序中再行添加。

图2-6

定义了模块的端口后,单击Next进入下一步,点击Finish完成创建。

这样,ISE就会自动创建一个Verilog模块的模板,并且在源代码编辑区打开。

简单的注释、模块和端口定义已经自动生成,接下来的工作就是将代码编写完整,如图2-7所示。

图2-7

输入代码后,我们还需要对模块进行测试。

在工程管理区将view设置为Simulation,在任意位置单击鼠标右键,并在弹出的菜单中选择NewSource,在类型中选择VerilogTestFixture,输入测试文件名,单击下一步。

这时所有工程中的模块名都会显示出来,我们选择要进行测试的模块,如gates2模块。

点击Next,再单击Finish按钮,ISE会在源代码编辑区自动生成测试模块的代码,如图2-8所示。

我们看到,ISE已经自动生成了基本的信号并对被测模块做了例化。

我们的工作就是在initial…end块中的“//Addstimulushere”后面添加测试向量。

图2-8

对gates2模块,我们可以添加如下所示的测试代码。

#200

a<=0;

b<=0;

#200

a<=0;

b<=1;

#200

a<=1;

b<=0;

#200

a<=1;

b<=1;

完成测试文件编辑后,确认工程管理区中view选项设置为Simulation,这时在过程管理区会显示与仿真有关的进程,如图2-9中Processes栏所示。

右键单击其中的SimulateBehavioralModel项,选择弹出菜单中的ProcessProperties项,会弹出如图2-10所示的属性设置对话框,其中SimulationRunTime就是仿真时间的设置,可将其修改为任意时长。

图2-9

图2-10

仿真参数设置完后,就可以进行仿真。

首先在工程管理区选中测试代码,然后在过程管理区双击SimulateBehavioralModel,ISE将启动ISESimulator,可以得到仿真结果,如图2-11所示。

图2-11

(3)综合与实现

所谓综合,就是将HDL语言、原理图等设计输入翻译成由与、或、非门和RAM、触发器等基本逻辑单元的逻辑连接(网表),并根据目标和要求(约束条件)优化所生成的逻辑连接。

完成了输入和仿真后就可以进行综合。

在工程管理区的view中选择Implementation,然后在过程管理区双击Synthesize-XST,就可以开始综合过程,如图2-12所示。

图2-12

另外,要实现设计,还需要为模块中的输入输出信号添加管脚约束,这就需要在工程中添加UCF文件。

在工程管理区单击鼠标右键,点击NewSource,选择Implementation-ConstraintsFile,出现一个空白的约束文件,我们就可以为设计添加各种约束。

综合可能有3种结果:

如果综合后完全正确,则在Synthesize-XST前面有一个打勾的小圆圈;如果有警告,则出现一个带感叹号的黄色小圆圈;如果有错误,则出现一个带叉的红色小圆圈。

如果综合步骤没有语法错误,XST能够给出初步的资源消耗情况,点击DesignSummary,即可查看,如图2-13所示。

图2-13

综合完成后,下一个步骤就是实现(Implementation)。

所谓实现,是指将综合输出的逻辑网表翻译成所选器件的底层模块和硬件原语,将设计映射到器件结构上,进行布局布线,达到在选定器件上实现设计的目的。

实现主要分为3个步骤:

翻译(Translate)逻辑网表、映射(Map)到器件单元与布局布线(place&Route)。

在ISE中,执行实现过程,会自动执行翻译、映射和布局布线过程:

也可单独执行。

在过程管理区双击ImplementationDesign选项,就可以自动完成实现的3个步骤,如图2-14所示。

如果设计没有经过综合,就会启动XST完成综合,在综合后完成实现过程。

经过实现后能够得到精确的资源占用情况。

在DesignSummary即可看到具体的资源占用情况。

图2-14

(4)器件配置

硬件配置是FPGA开发最关键的一步,只有将HDL代码下载到FPGA芯片中,才能进行调试并最终实现相应的功能。

首先我们必须生成能下载到硬件中的二进制比特文件。

双击图2-15所示过程管理区的GenerateProgrammingFile,ISE就会为设计生成相应的二进制比特文件。

图2-15

然后利用USB-MiniUSB缆线,来为开发板提供电源和数据下载。

我们只需上网下载免费的DigilentAdept软件,即可快速实现Nexys3开发板上FPGA的配置。

用USB-MiniUSB缆线连接开发板和PC,打开开发板的电源开关,然后启动DigilentAdept软件。

系统开始自动连接FPGA设备,成功检测到设备后,会显示出JTAG链上所用芯片,如图2-16所示。

图2-16

图中显示检测到NEXYS3开发板上的器件FPGA(XC6SLX16)。

这里我们对FPGA进行配置。

在Browse中找到之前生成的设计的二进制比特文件,并点击旁边的Program按钮,软件就开始对FPGA进行配置。

配置成功后,下面的状态栏会显示ProgrammingSuccessful,如图2-17所示。

至此,器件配置成功,我们就可以在器件上验证预期的设计有没有很好的得以实现。

图2-17

五.实验结论

补充:

(仅供参考)

1.2输入逻辑门的verilog源代码

modulegates2(

inputwirea,

inputwireb,

outputwire[5:

0]z

);

assignz[5]=a&b;

assignz[4]=~(a&b);

assignz[3]=a|b;

assignz[2]=~(a|b);

assignz[1]=a^b;

assignz[0]=a~^b;

endmodule

 

2.2输入逻辑门的约束文件

NET"a"LOC="T5";

NET"b"LOC="V8";

NET"z[0]"LOC="T11";

NET"z[1]"LOC="R11";

NET"z[2]"LOC="N11";

NET"z[3]"LOC="M11";

NET"z[4]"LOC="V15";

NET"z[5]"LOC="U15";

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

当前位置:首页 > 工作范文 > 行政公文

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

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