实验四Verilog与Xilinx ISE软硬平台的介绍_第1页
实验四Verilog与Xilinx ISE软硬平台的介绍_第2页
实验四Verilog与Xilinx ISE软硬平台的介绍_第3页
实验四Verilog与Xilinx ISE软硬平台的介绍_第4页
实验四Verilog与Xilinx ISE软硬平台的介绍_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

逻辑与计算机设计基础实验设计楼道灯的控制电路

2015~2016秋冬 浙江大学计算机学院实验教学中心42Verilog与Xilinx软硬件实验平台熟悉VerilogHDL语言并能用其建立基本的逻辑部件,在XilinxISE平台进行输入、编辑、调试、行为仿真与综合后功能仿真熟悉掌握Spartan-IIIBoardFPGA开发平台,同时在ISE平台上进行时序约束、引脚约束及映射布线后时序仿真运用XilinxISE具将设计验证后的代码下载到实验板上,并在实验板上验证32010-10-11Verilog与Xilinx软硬件实验平台实验设备1台1套

装有ISE计算机

Spartan-III开发板实验材料

无42010-10-11Verilog与Xilinx软硬件实验平台1.2.3.熟悉ISE工具软件的运行环境与安装过程设计简单组合逻辑电路,采用图形输入逻辑功能描述,建立FPGA实现数字系统的XilinxISE设计管理工程,并进行编辑、调试、编译、行为仿真,时序约束、引脚指定(约束)、映射布线后时序仿真及FPGA编程代码下载与运行验证设计简单时序逻辑电路,采用Verilog代码输入逻辑功能描述,建立FPGA实现数字系统的ISE设计管理工程,并进行编辑、调试、编译、行为仿真,时序约束、引脚约束、映射布线后时序仿真及FPGA编程代码下载与运行验证52010-10-11Verilog与Xilinx软硬件实验平台问题1:某三层楼房的楼梯通道共用一盏灯,每层楼都安装了一只开关并能独立控制该灯,请设计楼道灯的控制电路。问题2:增加控制要求,灯打开后,延时若干秒自动关闭,请重新设计楼道灯的控制电路。S3S2S1F0000001101010110100110101100111162010-10-11Verilog与Xilinx软硬件实验平台•分析楼道灯的事件行为,用组 合电路实现,用带锁定功能的 按钮开关或拨动开关作为电路

输入S1,S2,S3,电路输出为F•变量赋值

–开关按下为1,弹起为0 –输出灯亮为1,灯暗为0•编写真值表,如右表72010-10-11Verilog与Xilinx软硬件实验平台根据真值表分析输入输出关系,如下图82010-10-11Verilog与Xilinx软硬件实验平台本实验将以两种方法输入逻辑功能描述:1.以图形方式输入逻辑功能描述

–不考虑灯延时熄灭,采用拨动开关2.用Verilog语言描述电路逻辑功能

–要考虑灯延时熄灭,采用按钮开关92010-10-11Verilog与Xilinx软硬件实验平台1.建立楼道控制的工程:lamp_ctrl.ise①依次点击菜单→②在对话框中设置:(工程名和文件名不能以数字开头命名)a)ProjectName:lamp_ctrlb)Top-LevelSourceType:Schematic③确认②后点击到设备属性页,设置:a)b)c)d)Family:Device:Package:Speed:Spartan-3XC3S200FT256-4④确认后,一直点击直到创建工程结束。102010-10-11Verilog与Xilinx软硬件实验平台2.创建原理图文件:lamp_ctrl.sch

①在Sources窗口Sources选项卡空白处右 键菜单选择 ②新建源文件向导中选择源文件类型为

Schematic,输入文件名lamp_ctrl,勾 选AddtoProject③连续点击,最后点击;在Sources窗口中双击刚新建的文件图标,进入电路原理图编辑窗口3.输入楼道灯控逻辑电路

在Souces窗口中选择Symbols选项卡,配合SchematicEditor工 具条输入原理图,如图添加连线输入输出(必须添加在有连接的地方)添加逻辑门楼道灯控制画图要点122010-10-11Verilog与Xilinx软硬件实验平台4.查看输入电路的硬件描述代码

在Sources窗口中选择Sourcesfor:Synthesis/Implementation, 选中lamp_ctrl.sch图标,在Processes窗口Processes选项卡中展开DesignUtilities并双击

①②,如图

③122010-10-11Verilog与Xilinx软硬件实验平台Verilog表达的完整代码modulelamp(S1,S2,S3,F);

inputS1;inputS2;inputS3;outputF;

wireNS1;wireNS2;wireNS3;wireS1NS2S3;wireS1S2S3;wireS2NS1S3;wireS3NS1S2;AND3AND3A(.I0(NS3),.I1(NS2),.I2(S1),.O(S1NS2S3));AND3AND3B(.I0(NS3),.I1(S2),.I2(NS1),.O(S2NS1S3));AND3AND3C(.I0(S3),.I1(NS2),.I2(NS1),.O(S3NS1S2));AND3AND3D(.I0(S1),.I1(S2),.I2(S3),.O(S1S2S3));INVINVS1(.I(S1),.O(NS1));INVINVS2(.I(S2),.O(NS2));INVINVS3(.I(S3),.O(NS3));OR4OR4A(.I0(S1S2S3),.I1(S3NS1S2),.I2(S2NS1S3),.I3(S1NS2S3),.O(F));endmodule132010-10-11Verilog与Xilinx软硬件实验平台5.建立基准测试波形文件:lamp_ctrl_tbw.tbw①②在Sources窗口空白处的右键菜单中选择在新建源文件向导中选择源类型为:TestBenchWaveForm,输入文件名lamp_ctrl_tbw,并勾选AddtoProject③单击直到,进入输入时钟设置,由于本实验电路是组合电路,设置:a)b)c)ClockInformationCominationalTimingInformationInitialLengthofTestBenchCombinatorial5ns,10ns1000ns④点击进入TestBenchWaveForm编辑窗口142010-10-11Verilog与Xilinx软硬件实验平台6.建立仿真激励输入波形,运行行为模拟

①在TestBenchWaveForm编辑窗口中,通过左键点击改变 输入端的高低电平

②保存输入波形,进行波形行为仿真 ③仿真波形图如下,拖动时间轴,观察与前面的真值表是否 一致;若不一致应返回继续修改,直到正确为止时间轴真值表111思考:输入波形是否包括了所有可能的输入情况?011101001110010100000152010-10-11Verilog与Xilinx软硬件实验平台仿真结果,查看输出F是否正确?152010-10-11Verilog与Xilinx软硬件实验平台若使用Win7系统,仿真出现错误如右图所示,请按如下操作:点击“开始”按钮,在开始菜单的运行栏中输入“services.msc”;在弹出的“服务”对话框中,双击“WebClient”服务;

在弹出的属性对话框中点击“启动”启用此服务,点击“确定”退出。7.

建立用户时序约束并为模块的端口指定引脚分配,创建引脚文件:lamp_icf.ucf ①在Sources窗口Sources选项卡空白处右键菜单选择 ②新建源文件向导中选择源文件类型为ImplementationConstrainsFile,输入文件名lamp_icf,勾选AddtoProject若不显示ucf文件,请重启工程。③点击“EditConstraints(Text)”,打开中刚建立的文件lamp_icf.ucf,通过文本方式进行编辑,完成后保存。若不显示ucf文件,请重启工程。引脚编号在开发板相应输入输出旁边172010-10-11Verilog与Xilinx软硬件实验平台8.设计实现并检查约束结果

在Sources窗口中选择Synthesis/Implementation,选中lamp_ctrl;在Processes窗口下选择,进行物理转换、平面布图、映射、物理布线等FPGA目标格式实现文件生成。依次执行执行完毕后:最后在设计摘要文档中有如下结果:点击按钮打开DesignSummary182010-10-11Verilog与Xilinx软硬件实验平台9.布线后仿真并检查设计的模块功能①在Sources窗口PostRouteSimulation,选中lamp_ctrl_tbw.tbw;在Processes窗口运行→②仿真结果如下,若结果与原先设计目标中的真值表不一致,则需要再修改、仿真直到波形正确192010-10-11Verilog与Xilinx软硬件实验平台10.生成模块的FPGA代码并下载开发板

①用下载数据线连接PC机并口与开发板的J7

②将5V的DC电源线连到开发板的J4电源插座

③连接好开发板后,按下列步骤进行下载操作202010-10-11Verilog与Xilinx软硬件实验平台a)b)在Sources窗口中选择Synthesis/Implementation在Sources窗口中选择lamp_ctrl.sch;在Processes窗口中,用鼠标双击出现的对话框选择“cancel”。c)点击“ConfigureTargetDevice”下的“ManageConfigurationProject(iMPACT)”,出现右边对话框,点击“Finish”。选择ConfiguredevicesusingBoundary-Scanchain(JTAG),选择AutomaticallyconnecttoacableandidentifyBoundary-Scanchain212010-10-11Verilog与Xilinx软硬件实验平台d)接下来出现AssignNewConfigurationFile对话框。这时从文件列表中选择lamp_ctrl.bit文件,将会为JTAGchain上的xc3s200设备指定配置文件;若有警告窗口弹出,点击 按钮即可;选择Bypass以跳过其他余下的设备e)右键点击xc3s200device图标,选择菜单项打开ProgrammingProperties对话框,点击

后将会按钮即可对硬件设备进行下载编程。下载后验证是否满足设计要求222010-10-11Verilog与Xilinx软硬件实验平台1.建立楼道控制的工程:lamp_ctrl.ise①依次点击菜单→②在对话框中设置如下:a)b)ProjectName:Top-LevelSourceType:lamp_ctrlHDL③确认②后点击到设备属性页,设置:a)b)c)d)Family:Device:Package:Speed:Spartan-3XC3S200FT256-4④确认后,一直点击直到创建工程结束232010-10-11Verilog与Xilinx软硬件实验平台2.创建Verilog输入源文件lamp_controller.v

①在Sources窗口空白处的右键菜单中选择 ②在新建源文件向导中选择源类型为VerilogModule,输入 文件名lamp_controller,勾选AddtoProject③连续点击定义模块输入输出引脚,点击和④在Sources窗口中双击文件图标进入Verilog代码编辑窗口输入输出也可之后在程序中配置,这里留空以Verilog语言输入逻辑功能描述楼道灯控制电路:门级语言描述`timescale1ns/1psmodulelam_ctrl(S1,S2,S3,F);inputS1;inputS2;inputS3;outputF;

wireAND_NS1NS2S3;wireAND_NS1S2NS3;wireAND_S1NS2NS3;wireAND_S1S2S3;wireNS1;wireNS2;wireNS3;AND3AND_1(.I0(NS3),.I1(NS2),.I2(S1),.O(AND_S1NS2NS3));AND3AND_2(.I0(NS3),.I1(S2),.I2(NS1),.O(AND_NS1S2NS3));AND3AND_3(.I0(S3),.I1(NS2),.I2(NS1),.O(AND_NS1NS2S3));AND3AND_4(.I0(S3),.I1(S2),.I2(S1),.O(AND_S1S2S3));INVINV1(.I(S1),.O(NS1));INVINV2(.I(S2),.O(NS2));INVINV3(.I(S3),.O(NS3));OR4OR_1(.I0(AND_S1S2S3),.I1(AND_NS1NS2S3),.I2(AND_NS1S2NS3),.I3(AND_S1NS2NS3),.O(F));Endmodule

242010-10-11Verilog与Xilinx软硬件实验平台modulelamp_controller(clk,S1,S2,S3,F);行为描述

parameterCOUNTER=28;//计数器的位数:28位

inputclk,S1,S2,S3;//输入:时钟、三个按钮

outputF;//输出:控制灯的亮、灭

wirew;

regy;

reg[COUNTER-1:0]count;

initialcount<=0;

assignw=S1^S2^S3;

always@(posedgeclk)

if(w||count<28‘hFFFF_FFF)begin

y<=1; count<=count+1;

endelsebegin

y<=0; count<=count;

end assignF=y;endmodule252010-10-11Verilog与Xilinx软硬件实验平台262010-10-11Verilog与Xilinx软硬件实验平台4.楼道控制电路代码的综合;在Processes①在Souces窗口选中文件 窗口运行→②检查综合的电路结构是否与设计目标一致272010-10-11Verilog与Xilinx软硬件实验平台5.

建立基准测试波形文件:lamp_controller_tbw.tbw①在Sources窗口右键菜单中选择②选择新建源文件类型TestBenchWaveForm,输入文件名 并勾选AddtoProject③单击直到,进入输入时钟设置a)ClockInformationb)ClockTimingInformation

•ClockHighTime

•ClockLowTime

•InputSetupTime

•OutputValidDelay

•OffsetSingleClock,clkRisingEdge25ns25ns1ns1ns0nsc)InitialLengthofTestBench13000ns④点击,进入TestBenchWaveForm编辑窗口282010-10-11Verilog与Xilinx软硬件实验平台6.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论