基于fpga的数字电路设计与实现之一

上传人:第*** 文档编号:49617735 上传时间:2018-07-31 格式:PPTX 页数:48 大小:3.90MB
返回 下载 相关 举报
基于fpga的数字电路设计与实现之一_第1页
第1页 / 共48页
基于fpga的数字电路设计与实现之一_第2页
第2页 / 共48页
基于fpga的数字电路设计与实现之一_第3页
第3页 / 共48页
基于fpga的数字电路设计与实现之一_第4页
第4页 / 共48页
基于fpga的数字电路设计与实现之一_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基于fpga的数字电路设计与实现之一》由会员分享,可在线阅读,更多相关《基于fpga的数字电路设计与实现之一(48页珍藏版)》请在金锄头文库上搜索。

1、基于FPGA的数字电路设计与实现 第一课:我的第一个FPGA工程卢有亮 13086696528内容仿真建立工程和编码实验板和资源安装开发环境下载运行实验实验 板实验实验 板初探关键键特性: v 10万门门(或25万门门)赛赛灵思Spartan3E-FPGA,可根据需要选选配 v FPGA特性18位乘法器, 72K高速双端口块块存储储器RAM v USB2.0接口完成FPGA供电电、配置和数据传输传输 v XCF02平台闪闪存ROM,用于存储储FPGA配置比特流文件 v 用户调频户调频 率振荡荡器(25,50,100兆赫),附加一路外接振荡荡器接 口 v 三个内置稳压稳压 器(1.2V,2.5V

2、和3.3V),允许许使用3.5V,5.5V的外 部供电电 v 8个LED,4位七段显显示器,4个按钮钮,8个滑动动开关 接口: v USB2接口 v 4个6针扩针扩 展接口, v 8位VGA接口 v PS/2接口实验实验 板初探卢有亮 2014参考手 册原理图卢有亮 2014开发和实验环境v安装ISE软件到你的电脑!以小组的方式,2-3人一个小组,设置组长一 名。每个小组至少有一台笔记本电脑。安装软件:ISE 13.4 每个小组配置一套开发板。该开发板的官方网: http:/ 软件和相关资料下载加入QQ群:电子科大FPGA数电实验群号: 56957702群共享中有ISE软件等的下载地址群名片格

3、式见群公告开发和实验环境ISE软软件的安装v下载了ISE软件后,按照安装ISE软 件。注意:如果电脑 是WIN8或64位系统,可能 不支持安装ISE软件,请选择 WIN7 32位 电脑卢有亮 2014安装说 明一、首先打开ISE工具,新建一个工程建立工程和编码编码这里要注意,我们的 实验板是Spartan3E -XC3S100E-CP132 ,以前我们不需要把 程序烧进板子里,所 以可以乱选,但这次 一定要根据板子选择 芯片类型。然后点击 Next。以前ISE版本可能没有自 带的simulator(仿真器 ),但现在一般都自带有 ISim(VHDL/Verilog) ,其实如果你安装上了 Mo

4、delsim仿真工具也可 以选择其它的仿真工具。 这里我们就选择ISim( VHDL/Verilog)就可以 了。然后点击Next。选择Verilog Module,右侧输入文件名(文件名不能由数字开头),点Next进入下一步。弹出Define Module后,不管它,直接点击Next进入下一步,弹出Summary后也不 管,直接点击Next进入下一步。本次实验流水灯实验,时钟频率是50M,要看得清楚流水灯的移动,必须进行分频/分析 时钟频 率50M,要500MS移动一位 ,若流水灯频率为4,则需要12500000 分频 module DivClk(Clk, DClk); input Clk;

5、 output DClk; reg DClk; reg31:0 Count; always ( posedge Clk ) begin if(Count = 12500000) begin Count = 0; DClk = DClk; end else Count = Count + 1; end endmodule module FlashLED2(LED , Clk); input Clk; output7:0 LED; reg7:0 LEDTemp = 8b00000001; wire DClk; DivClk Div1(Clk, DClk); assign LED = LEDTemp

6、; always (posedge DClk) begin if(LEDTemp = 8b10000000) LEDTemp = 8b00000001; else LEDTemp = LEDTemp “ LOC = “M5“ ; 对LOC = “M5”,说明我们的第一个 LED灯对应的管脚是M5管脚。其实我 们也可以LOC=“M4” 或者“M4”,但是我们的实验板上已 经把M5这个管脚连接到对应实验板上 的第一个LED灯了。所以我们应该通过 编写ucf告诉综合器,我的端(PORT )里的输出LED实际上是对应着你芯片 的M5管脚。从上图中我们可以看到M5管脚连线到LD0这个 地方。LD0的线最

7、后会连接到左图红色方框位 置。说明了M5管脚连接的是第一个LED灯。UCF代码码v # clock pins for Basys2 Board v NET “Clk“ LOC = “B8“; # Bank = 0, Signal name = MCLKv # Pin assignment for leds v NET “led“ LOC = “G1“ ; # Bank = 3, Signal name = LD7 v NET “led“ LOC = “P4“ ; # Bank = 2, Signal name = LD6 v NET “led“ LOC = “N4“ ; # Bank = 2,

8、 Signal name = LD5 v NET “led“ LOC = “N5“ ; # Bank = 2, Signal name = LD4 v NET “led“ LOC = “P6“ ; # Bank = 2, Signal name = LD3 v NET “led“ LOC = “P7“ ; # Bank = 3, Signal name = LD2 v NET “led“ LOC = “M11“ ; # Bank = 2, Signal name = LD1 v NET “led“ LOC = “M5“ ; # Bank = 2, Signal name = LD0卢有亮 20

9、14Ucf文件写好后,可以进行Implement design 完成布局布线工作,双击Implement design或 右键后单击Run完成。确定无误后进行下一步 (生成可编写文件)。如果无误的 话,将生成 一个.bit的文 件,即是将 要烧写的文 件。保存了编写好的UCF文件后,我们将板子接上 电源和数据线,如图先点击工程文件,再双击 Configure Target Device中的Generate Target。下载工程JTAG下载弹出这个,不管它,点ok。弹出这个,不管,点NO弹出了ISE的iMPACT工具,双击 Boundary Scan。在空白的地方点击右键选择 Initiali

10、ze Chain弹出这个,点YES选择该工程文件夹中的bit后缀文件。bit文件的格式 .bit是二进制文件,可以分为三个部分:头部冗余信息,配置数据,尾部冗余信息。 其中头部信息里面包含了当前ISE工程名字、编译时间等信息,因此头部信息的长度是不确定的,72个字节左 右。第二部分是配置数据流,以0xFF FF FF FF AA 99 55 66开头,AA 99 55 66是Xilinx指定的同步字符。 配置数据流的具体格式及含义可以参见参考文献,比如ug071.pdf的P95的Configuration Sequence,基本 格式就是指令+数据,很清晰地给出哪个字节是什么命令,用来干什么。

11、例如bit文件中,加载数据帧之后, 有CMD寄存器的命令: START 0x5(0101b) 表示开始Start-Up Sequence。 最后一部分是尾部信息,由16个32bit的空操作指令:0x20 00 00 00组成。大家可以打开bit文件看,有很多 20 00 00 00。这些表示空操作。这部分信息可以不用加载到FPGA。No - Cancel - CancelNo - Cancel - CancelNo - Cancel - CancelNo - Cancel - CancelOK - OK - 右右键键键键点点击绿击绿击绿击绿 色芯片色芯片 - Program - Done!-

12、Program - Done!2、Digilent Adept下载由于这块板子是Digilent出的 ,其官网也给出了对应的下 载软件配套USB下载线使用 ,此处我选择了PC模式,即 直接下载到FPGA中去。点出 之后出现的可能不是我 们需要的文件夹,别着急。找到我们 工程所在的文件夹,选择 led_flash_top.bit文件,在点击 Program。选择该工程文件夹中的bit后缀文件。bit文件的格式 .bit是二进制文件,可以分为三个部分:头部冗余信息,配置数据,尾部冗余信息。 其中头部信息里面包含了当前ISE工程名字、编译时间等信息,因此头部信息的长度是不确定的,72个字节左 右。第

13、二部分是配置数据流,以0xFF FF FF FF AA 99 55 66开头,AA 99 55 66是Xilinx指定的同步字符。 配置数据流的具体格式及含义可以参见参考文献,比如ug071.pdf的P95的Configuration Sequence,基本 格式就是指令+数据,很清晰地给出哪个字节是什么命令,用来干什么。例如bit文件中,加载数据帧之后, 有CMD寄存器的命令: START 0x5(0101b) 表示开始Start-Up Sequence。 最后一部分是尾部信息,由16个32bit的空操作指令:0x20 00 00 00组成。大家可以打开bit文件看,有很多 20 00 00 00。这些表示空操作。这部分信息可以不用加载到FPGA。弹出warning,点yes接着program继续yesCongratulations successfulNotice:由于软件原因,可能有时下载会失败,多下载几次就好了卢有亮 视频演示整个过 程的视 频演示任务务:加入QQ群,下载载ISE软软件,将本PPT讲讲述内容完成 , 直到流水灯正确在开发发板下运行。卢有亮 2014

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号