当前位置: 首页 > news >正文

滨州做网站的科技公司网站随机代码

滨州做网站的科技公司,网站随机代码,写作网站原码,网站建设一个人1.1. 概述 这是一个简单的练习#xff0c; 可以帮助初学者开始了解如何使用Intel Quartus 软件进行 FPGA 开发。 在本章节中#xff0c;您将学习如何编译 Verilog 代码#xff0c;进行引脚分配#xff0c;创建时序约束#xff0c;然后对 FPGA 进行编程#xff0c;驱动开… 1.1. 概述 这是一个简单的练习 可以帮助初学者开始了解如何使用Intel Quartus 软件进行 FPGA 开发。 在本章节中您将学习如何编译 Verilog 代码进行引脚分配创建时序约束然后对 FPGA 进行编程驱动开发板上8 个绿色 LED 的其中一个。您将使用一个 50MHz 的时钟输入来自 板载晶振来驱动计数器并将LED 指定给其中一个计数器的输出位。 教程级别 初学者 1.2. 准备工作 ◼ 硬件 ⚫ Terasic DE2-115 套件 基于 Cyclone IV  FPGA 芯片。 作为扬名海内外的DE2开发板的升级款DE2-115凭借功耗低、逻辑资源多、1存储器容量大、DSP功能、以及接口丰富等特性可满足用户对多媒体、高品质图像处理、数字信号处理等各类开发要求深受国内外高校师生的青睐。到目前为止成千上万片的DE2-115已经在全球千余所名校实验室里“安家”扮演着数字逻辑、EDA、数字系统设计等多项课程的“实力派网红”!主角儿可谓是FPGA 教育界的新一代。 ◼ 软件 ⚫ Intel Quartus Prime 软件套件 Lite 版 此版本 FPGA 设计软件非常适合初学者因为它可以免费下载而且不需要任何许可文 件。您可以通过链接https://fpgasoftware.intel.com/?editionlite 或者是 https://www.intel.com/content/www/us/en/software-kit/669444/intel-quartus-prime-lite-edition-design-software-version-17-1-for-windows.html 下载。 注 安装文件较大几千兆字节而且需要花费很长时间才能下载和安装。为了最大 限度减少下载时间和所需的磁盘空间我们建议您只下载本练习中所需的项目。取消选 中的“ Select All ” , 仅选择 Quartus Prime 和 Cyclone V device support 。如下图。 当下载并安装完 Intel Quartus 软件您可以开始准备创建工程。 ? 为什么 Intel Quartus 软件下载如此之大请参考 1.5 章节的解释 注 本文档中的截图基于 v17.1 。使用较早版本或更高版本的 Intel Quartus 软件时用 户体验可能有所差异。 1.3. 创建 FPGA 工程 步骤 1. 创建 Intel Quartus 软件工程 1a. 打开 Intel Quartus Prime 软件套件 Lite 版本 图 1-2 Intel Quartus Prime 软件窗口 4 1b. 打开 New Project Wizard 图 1-3 点击 New Project Wizard 按钮 1c. 在 Introduction 对话框下点击 Next 图 1-4 Introduction 对话框 5 1d. Directory Name Top-Level Entity 选择目录用于存放工程。直接在桌面新建一个my_first_fpga的文件夹并将工程路径指定到这个文件夹工程名称和顶层实体都取名为my_first_fpga 夹。点击 Next 。 图 1-5 工程位置明细 此工程目录用于本示例教程但对于以后创建新的工程我们不做推荐。 ? 以后的工程文件放在哪里 请参考 1.5 章节的解释 6 1e. 工程类型 继续选择Next选择 Empty Project 然后点击 Next 。 图 1-7 Project Type 对话框 1f. 添加文件 此处不必添加任何文件。点击 Next 。 图 1-8 Add Files 对话框 7 1g. Family, Device Board Settings 注 您可能需要展开窗口查看更多器件名称。 选择以下器件 • Family : Cyclone IV E • Device name : EP4CE115F29C7 注 为了选择指定的器件您需要点击向上 / 向下箭头滚动器件支持清单直到 发现 EP4CE115F29C7 。或者您可以在 Name filter 框中输入器件名称以缩小器 件清单。您也可能要展开 Name 区域查看整个器件名称。 图 1-9 Family 和 Device 对话框 点击 Next 。 1h. EDA Tool Settings 我们将使用默认的 EDA 工具和设置所以不需要改变。点击 Next 。 8 图 1-10 EDA Tools 对话框 1i. Summary 点击 Finish 。 图 1-11 Summary 对话框 9 将显示以下窗口。 图 1-12 Your First Project 窗口 步骤 2. 创建 HDL 文件 硬件描述语言 HDL 我们以 Verilog 作为 HDL 来使用。如果您熟悉 C 编程语言但对于 HDL 还是新 手Verilog 与 C 相似。 2a. 前往 File 选项 Quartus 软件主窗口点击 New 。选择 Verilog HDL File 然 后点击 OK 。 图 1-13 选择 New Verilog HDL File 10 2b. 选择 File Save As 选择 my_first_fpga 作为文件名。这是顶层文件名(my_first_fpga.v)。点击 Save 。 图 1-14 保存 Verilog HDL 文件 步骤 3. 设计 Verilog 模块 3a. my_first_fpga.v 文件内容如下 module my_first_fpga(input wire clk, // 50MHz input clockoutput wire LED // LED ouput );// create a binary counter reg [31:0] cnt; // 32-bit counterinitial begincnt 32h00000000; // start at zeroendalways (posedge clk) begincnt cnt 1; // count upend//assign LED to 25th bit of the counter to blink the LED at a few Hz assign LED cnt[24];endmodule拷贝如上代码到 my_first_fpga.v 文件中 图 1-15 在文本编辑器中粘贴 Verilog HDL 代码 3b. Analysis Synthesis 右键点击 Analysis Synthesis 然后点击 Start 对 Verilog 代码执行语法检查和 综合。 或者直接点击Task窗格的Analysis Synthesis如果您没有看到 Task 窗格请到 View 菜单选择 Utility Windows 然后选 择 Tasks 。 再或者直接点击如下如的按钮进行Analysis Synthesis 图 1-16 开始 Analysis Synthesis 12 ? 在 Analysis Synthesis 过程中发生了什么请参考 1.5 章节的解释 如果该过程成功完成 Analysis Synthesis 旁边将显示一个绿色勾型标记。如果在该过程 中提示有错误请检查您的 Verilog 代码语法 , 确保与上述代码模块完全一致。 图 1-17 Analysis 完成 步骤 4. 选择引脚分配 4a. 在 Quartus 顶部导航栏选择 Assignments Pin Planner 图 1-18 Pin Planner 窗口 请注意 input (clk) 与 output (LED) 在 Node Name 下面已经列出因为您已经运行 了 Analysis Synthesis 。 图 1-19 Pin Planner Location 设置 4b. 依次点击每一个引脚使 Location 列突出显示然后输入以下表格中的 LED 和 clk 信号的引脚位置。其余列会自动填充数据目前保持 默认值即可。 图 1-20 Pin Planner 全部设置完成 其实上面表格的引脚分配信息来自DE2-115_v.x.x.x_SystemCD\DE2_115_schematic\de2-115_mb.pdf文件或者来自DE2-115_v.x.x.x_SystemCD\\DE2_115_user_manual\DE2_115_User_manual.pdf: 4f. 关闭 Pin Planner 。 Pin Planner 退出时会自动保存修改。 步骤 5. 创建 SDC 文件 编译 Verilog 代码之前您需要为设计提供时序约束。您将创建 SDC(Synopsis Design Constraints) 文件其中包含有指示 Quartus 软件如何关闭设计中的时序的指 令。如果没有这个文件的话您将在编译过程中遇到警告消息因为 IntelQuartus 软件不知道如何关闭设计中的时序。 5a. 在 my_first_fpga  工程目录下创建 my_first_fpg.sdc 文件。与 Verilog 文件 .v 扩展文件在同一 个目录下。将 如下 文件内容拷贝到 my_first_fpg.sdc 文件。 # inform quartus that the clk port brings a 50MHz clock into our design so # that timing closure on our design can be analyzedcreate_clock -name clk -period 50MHz [get_ports clk]# inform quartus that the LED output port has no critical timing requirements # its a single output port driving an LED, there are no timing relationships # that are critical for thisset_false_path -from * -to [get_ports LED] 15 5b. 保存 blink.sdc 文件。 ? 什么是 SDC 文件为什么需要它请参考 1.5 章节的解释 图 1-21 SDC 文件位置 5c. 现在把该 SDC 文件添加到 Intel Quartus 软件工程。选择 Project Add/Remove Files in Project . 在出现的 Settings 对话框中点击 File name 文本框右侧的 “…” 浏览按钮。显示文件浏览对话框。选择 blink.sdc 文件并点击 Open 按钮关闭 该对话框。这时候 blink.sdc 文件会在工程文件清单里点击 OK 按钮关闭 Settings 对话框。 步骤 6. 编译 Verilog 代码 6a. 右键点击 Compile Design 然后点击 Start . 这些工具会对设计进行综合、布局 布线、组合和执行时序分析。因为只有少数代码行编译只需花几分钟就可完 成。 ? 布局布线过程中发生了什么请参考 1.5 章节的解释 ? Assembler 过程中发生了什么请参考 1.5 章节的解释 ? 什么是时序分析请参考 1.5 章节的解释 16 图 1-22 编译设计 编译完成后将会出现类似于如下的总结报告。 图 1-23 编译总结 编译完 Verilog 代码后就可以对 FPGA 进行编程。 步骤 7. 对 FPGA 编程 最后一步就是对 FPGA 进行编程。 对 FPGA 进行编程需要通过 USB Blaster 端口将开发板与电脑连接。 17 7a. 通过 USB Blaster  端口将开发板与电脑连接。 7b. 开发板连接电源 。 7c. 右键点击 Program Device (Open Programmer) 打开 Programmer 窗口。 图 1-24 打开 Quartus 软件的 Programmer 工具 7d. 选择 Hardware Setup 。 图 1-25 硬件设置 在 Currently selected hardware 的下拉项中选择 USB-Blaster[USB-0] 然后点击 Close 。 图 1-26 Cable 选择 7e. 添加 .sof 文件 右键点击 EP4CE115F29 器件的 File 栏选择 Change File 。 图 1-29 Change File 7g. 导向 output_file 文件夹选择 my_first_fpga .sof 然后点击 Open 。 20 图 1-30 选择 .sof 文件 这里的 my_first_fpga.sof 是配置文件 SRAM Object Files (.sof 文件 ) 是二进制文件包含 配置 SRAM-based 器件的数据我们的 FPGA 是基于 SRAM 的。 Intel Quartus 软 件的 Program Device ( 也称为 Quartus Programmer) 查看 SOF 文件并为 FPGA 器 件获取下载的 bit stream 。 7h. 勾选 Program/Con fi gure 然后点击 Start 。 图 1-31 开始编程 21 步骤 8. 观察闪烁的 LED 如果 Progress 进度显示 100% (Successful) LED[0] 将闪烁。 图 1-32 编程成功 图 1-33 LED 闪烁 1.4. 拓展实验 ◼ 更改闪烁频率 到此您已经获得一个成功的 LED 闪烁工程可以使用计数器的不同 bit 来修改 LED 的闪烁 22频率。 1HZ 即 1 次每秒 1 秒一个周期以 1HZ 的频率闪烁意味着 LED 每秒闪烁一次。 2HZ 就 是LED 每秒闪烁 2 次。 0.25HZ 就是指每 4 秒 LED 闪烁一次慢闪。使用计数器更高的 bit 获得 更慢的闪烁使用低位的bit 可以获得更快闪烁例如 cnt[22] 。测试不同的计数器位来观察 LED闪烁情况。 时钟和计数器公式 cnt[n] 其中 n 等于计数器位 2 ; 在 verilog 示例代码中设置 n 为 24 2 24 16777216 时钟是 50MHZ 或 50 000 000HZ Clock / 2 n 等于每秒闪烁次数 50,000,000 / 16,777,216 2.9802 大约每秒三次闪烁。 您需要做以下三点进行更改 1. 修改 Verilog 文件 blink.v 在赋值语句中选择一个不同的计数器 bit 2. 重新编译设计 3. 重新为 FPGA 器件编程 ◼ 添加更多 LED 试着将剩余的 7 个 LED 中的一个或多个连到其他计数器 bits, 每个 LED 以不同的频率闪烁。例 如可以将一个新LED 连到计数器 bit23 会闪烁两次和 bit 24 闪烁一样快。或者添加其余 全部7 个 LED 每一个都连到特定的计数器 bit 。 您需要做以下几点进行更改 1. 修改 verilog 代码 (a) 在模块定义中添加新的 LED (b) 列出新的 LED 作为输出 (c) 将每个新的 LED 赋给特定的计数器 bit cnt[n] ? 我对硬件设计不熟悉在哪能获取包含这些更改的 Verilog 代码请参考 1.5 章节的解 释 2. 运行 Analysis Synthesis 3. 用 Pin Planner 分配 LED 输出给引脚 23 确保设置合适的 I/O standard, current strength 和 slew rate 。 I/O 引脚与 LED 的连接如 下所示 4. 重新编译设计 5. 重新对器件编程 1.5. 解释 为什么 Intel Quartus 下载量如此之大 Intel Quartus 下载包含很多不同精密工具用于创建自定义芯片设计比如模拟 , 综合工具 布局和布线引擎时序分析仪和器件编程。几乎所有的这些功能都嵌入到 Intel Prime Software 套件 FPGA 设计软件本身。下载也包括针对 Nios II soft CPU 的嵌入式软件设计 套件以及一个或多个 FPGA 种类数据库 — 如本实例中的 Cyclone V FPGA 数据库。 以后的工程文件需要放在哪 以下是在为工程选择目录时应该采取的一些指导 : • 不要将工程放到 Intel Quartus 软件工具目录。新的 Intel Quartus 版本每 6 个月发布 所以将它们放到具体版本的目录会使得它们在每个新版本安装后会显得孤立。更坏 的情况是如果您删除旧版本的工具工程可能会丢失。 • 避免工程路径名称有空格因为一些工具的目录路径不允许有空格。在路径名称中 需要用下划线或连接符代替空格 • 使用您有读 / 取权限的路径作为目录。听起来很直观但是有时候 IT 部门会限制管理 员权限。确保创建的文件夹不需要管理员权限。 在 analysis synthesis 过程中发生了什么? Analysis Synthesis 过程 24 • 检查设计文件的语法和语义错误。 • 执行 netlist extraction 构建一个集成了所有设计文件的数据库。 • 将硬件描述语言 (HDL) 代码综合到适合目标 FPGA 种类的硬件模块 什么是 SDC 文件为什么需要他 SDC 代表 Synopsys Design Constraints 是一种行业标准格式它定义了硬件 (silicon) 设计的 时序约束例如器件的目标频率以及外围设备的时序。 SDC 文件为 Intel Quartus 软件提 供了一种验证所生成的系统是否满足其计时要求的方法。 在 FPGA 的综合过程中 Intel Quartus 软件调用了一个名为 TimeQuest 的设计工具它读取 时序约束文件计算内部 FPGA 信号的时序并将这些时序与 SDC 文件指定的时序要求进 行比较。此过程将会创建一个报告该报告验证是否满足时序要求并 / 或识别未能满足时 序要求并需要优化的信号。 布局布线过程中会发生什么 fitter 将综合设计的逻辑布局布线到目标器件资源中。把它想象成一个布线器上面陈列一 块印制电路板用铜线把各种器件连接在一起。在这里器件是逻辑资源 ( 例如查找表、寄 存器、内存、乘法器等 ) 而 traces 是 FPGA 器件内的“导线”。 Assembler 过程中发生了什么 Assembler 从一个成功的布局布线生成一个编程镜像然后下载到 FPGA 器件。 什么是时序分析 时序分析是对器件中的逻辑的时序进行综合、布局布线以确保满足所有时序要求的过程。 目的是在满足所有时序约束的情况下实现“时序收敛”。 我对硬件设计不熟悉我在哪能获得包含这些更改的 Verilog 代码 就在这里 1. // create module 2. module blink( 3. input wire clk, // 50MHz input clock 4. output wire [7:0] LED // array of 8 LEDs 5. ); 6. 7. // create a binary counter 8. reg [31:0] cnt; //32 bit counter 9. 10. initial begin 11. 12. cnt 32’h00000000; // start count at zero 13. 14. end 15. 16. always (posedge clk) begin 17. 18. cnt cnt1; // count up 19. 20. end 21. 22. //assign LEDs to bits 28 through 21 of the counter 23. 24. assign LED cnt[28:21]; 25. 26. endmodule
http://www.tj-hxxt.cn/news/142324.html

相关文章:

  • 做网站找个人深圳企业登记注册
  • 海南省城乡建设部网站首页网站建设和网站推广可以同一家做吗
  • 目前哪些企业需要做网站建设的呢WordPress设置用户访问个数
  • 虚拟主机网站建设实训总结大连网站建设企业
  • 如何做搞笑原创视频网站c2c网站内容及功能开始
  • 网站正在建设中的网页怎么做不用fash做的视频网站
  • 营销型网站建设是什么网站邮件系统建设招标
  • 国内f型网页布局的网站动画视频制作软件app
  • 高新手机网站建设公司谷歌手机版下载安装
  • 做网站需要多少兆空间大型网站开发流程和步骤
  • 网站系统建设项目做网站推广维护需要学些什么
  • 专业建站服务建站网网站建设对公司来说重要吗
  • 做个网站多少费用wordpress能做成app吗
  • 成都彩蝶花卉网站建设案例两个wordpress公用用户
  • 佛山网站建设公司大全网速
  • 做网站用什么服务器比较好广州网站优化服务商
  • 佛山网站公司网站建设进项填那个服务
  • 企业网站的栏目设置网站推广软件ky99
  • 怎样不让网站自动跳转wap找代理产品上哪个平台
  • 中英文的网站设计中国工业设计在线官网
  • 基于jsp的网站开发开题报告龙海网站建设
  • 网站建设 选中企动力制作一个静态网页
  • 美食网站怎样做锅包肉seo关键词优化的技巧和方法
  • 基于php电子商务网站开发西安企业建站公司
  • 网站utf8乱码哪里可以接网站开发项目做
  • 怎么免费建立自己的网站国家城乡建设网站
  • 企业品牌网站建设报价seo电商运营是什么意思
  • php 怎么做 网站吗小说网站开发数据库
  • 志愿服务网站开发夫妻工作室网站建设
  • 网站建设与管理简介杭州医疗器械网站制作