FPGA 板 与 PC 的接口

硬件上USB接口 <->FT2232(有两个通道)将 A 通道作为 JTAG,连接 到 (赛灵思/Spartan系列/Spartan-3E)的 jtag将 B 通道作为 UART 使用 到 (赛灵思/Spartan系列/Spartan-3E)的 串口
软件上jtag , 用 UrJTAG 工具访问 , 可用于 下载fpga镜像 到 FPGA串口 , 用 一般的串口工具访问 , 可用于打印显示, 也可用于 数据输入(后面的xmodem)

从 rtl 到 可被 下载的文件 总览

ISE WebPACK 是赛灵思公司提供的 FPGA 综合开发环境,含有逻辑综合、布局布
线、配置等多种 FPGA 开发的必要功能。逻辑综合将硬件描述语言编写的程序代码转 换为门级电路网表的过程。
布局布线将这个电路网表的逻辑门和网络映射到 FPGA 的逻辑单元和I/O 的过程verilog 源文件 -> BIT 工具为 ISE Project Navigator过程为 编译转换BIT文件中包含 FPGA 配置信息
BIT -> SVF工具为iMPACT过程为 将配置信息 转换为 SVF文件SVF 格式文件包含JTAG 操作如果我们最终不用jtag接口,而是用其他接口, "BIT->SVF" 这个过程可能要改变或者省略目前赛灵思的FPGA官方开发板 网络接口 可以 直接 接收 BIT 文件verilog 源文件 -> BIT -> SVF      , 该 SVF 用于 被 UrJTAG  加载到 FPGA 的 ram 中.verilog 源文件 -> BIT -> MCS-> SVF  , 该 SVF 用于 被 UrJTAG  加载到 FPGA 的 rom 中.写入 rom 和 写入 ram的 jtag 时序肯定不一样之后我只关注 "verilog 源文件 -> BIT -> SVF" , 即 生成 "ram相关文件"的过程
  • 从 rtl 到 BIT 文件
打开ISE Project Navigator1.新建工程2.输入新工程路径和源程序类型(HDL)3.选择目标设备(FPGA芯片类型)4.添加源RTL程序 // 非自动化过程// 在代码输入以及设计分析阶段,Vivado 软件会检查代码,如果代码出现语法错误,那么 Vivado 软件将
会给出相关错误提示5.添加只声明未定义的接口,该接口由xlinx的IDE提供6.配置时钟7.配置 Memory Type // Block Memory Generator 对话框8.指定 Memory 初始化文件// 初始化文件需要设定块 RAM 初始值的COE 文件格式。// core 文件 是 .c 生成的程序文件// 指定 COE 文件后,ROM内容即被设定为初始值。// AZPR EvBoard 电源接通或复位时,AZ Processor 从 ROM 读取并执行的程序,就是这里的 COE 文件包含的程序。// azprasm led.asm -o led.bin --coe led.coeA.逻辑综合 // 自动化过程// 选中 chip_top,双击 ISE Project Navigator 窗口左下方的Synthesize-XST// 在 FPGA 设计中,综合(Synthesis)就是将 RTL 设计转变为由 FPGA 器件中的查找表(LUT)、触发器(FF)等// 各种底层电路单元所组成的网表,在这个过程中综合器也会对设计进行优化,例如,删除多余的逻辑等等B.制作时序约束文件 // 非自动化过程//布局布线时需要一个用来设定各种约束的文件。//约束包括模块输入输出信号线和 FPGA 引脚的对应关系、时序、面积等。//记载着这些约束信息的文件称为约束文件。//我们制作的约束文件命名为 AZPR_EvBoard.ucf,用纯文本格式编写。// 约束文件至少要记述两种约束信息// 一个是输入时钟的时序约束,// 另一个是 FPGA引脚相关约束。引脚映射// 综合完成后,我们需要进行约束的输入。// 约束表达了设计者期望满足的时序要求,规范了设计的时序行为,// 并在综合、实现阶段来指导工具进行布局、布线,// 工具会按照你的约束尽量去努力实现以满足时序要求,并在时序报告中给出结果。// 常用的约束包括时序约束、引脚约束等等C.布局布线 // 自动化过程// Generate Programming File上右键 单击并选择 Process Properties// 打开 Process Properties 窗口,选择左侧 Category 中的 Startup Options。在此处设置 FPGA Start-Up Clock// 直接对 FPGA 进行配置的话,在 Value 里填写 JTAG Clock// 双击 Generate Programming File 后,会在工程文件夹中生成 BIT 文件// 因为顶层模块名为 chip_top,生成的文件名为 chip_top.bit
  • 从 BIT 文件 到 SVF 文件
iMPACT
//从 ISE iMPACT 窗口左上方的 iMPACT Flows 中双击 Boundary Scan,会在界面出现 "Right click device to select operations"
//Right click device to select operations 处单击右键
//选择Output File Type → SVF File → Create SVF File,开始生成 SVF 文件

下载 下载的文件 到 FPGA

打开 UrJTAG
设置 UrJTAG
cable jtagkey
detect
part 0
svf D:\sample.svf// 该命令执行完,fpga就会跑起来// 1. 芯片会被生成// 2. "Memory 初始化文件" 配置中的 coe 被执行

疑问

“ISE WebPACK” 和 “vivado WebPACK” 有什么关系和区别
  • 操作流程区别
  • vivado的安装
* ISE/EDK are the old tools that are to be used for all Virtex-6 and older devices and that can be used for some small/middle-size Virtex-7 devices.自2012年以来,Xilinx ISE 已被 Vivado Design Suite 代替,后者的功能与 ISE 相同,但还带有 SoC 开发的附加功能。Xilinx 于2013年10月发布了最终版本的 ISE(版本号为14.7),并声明“ ISE 已进入其产品生命周期的维持阶段,并且不再计划发布 ISE。即随着FPGA进入28nm时代,ISE工具有些“不合时宜”了,硬件提升了,软件也需要提升。* Vivado is the new tool that only supports Virtex-7, UltraScale and all more recent families.Vivado is specified for  more modern chips such as Zynq 7-series.Vivado是Xilinx公司于2012年推出的新一代集成设计环境。推出Vivado是为了提高设计者的效率,他能显著增加Xilinx的28nm工艺的可编程逻辑期间的设计、综合于实现效率。Xilinx explicitly said that they will not add support for older FPGA families into Vivado. So you still have to use ISE for them (e.g. Virtex-5).The only FPGA family where you actually have a choice is some 7-series FPGAs that are supported by ISE and Vivado. both. My recommendation is to use Vivado for those. If you get a license from Xilinx, it works for ISE and Vivado both anyway.
Xilinx told me at a booth that they completely re-developed Vivado from scratch (starting about 5 years before it was released) with new algorithms for all steps (place and route, etc.) and new data bases for internal management. For instance, in ISE, each 'step' was actually a different binary tool that communicated via files with each other and ISE was actually mainly a GUI to connect them. In Vivado, all steps have the same view on a global data structure. That for instance allows you to trace back a signal that the post-place-and-route-static-timing-report identifies as your critical path, back to your HDL code. Additionally, the algorithms for Vivado are implemented with having the ever-growing size of FPGAs in mind. For instance, Xilinx told me that their placement algorithm has a complexity of O(n^4) (n being the number of elements to be placed) while at the same time producing a much higher reproducibility than the ISE algorithms (e.g. if you run P&R in ISE 5 times on a big design, you will get 5 different results with different timing scores). This won't happen in  Vivado.
Xilinx 7系列FPGA介绍
  • Xilinx 7系列FPGA介绍
CPU自制入门中使用的 "Spartan-3E XC3S250E" 不是 xilinx-7 系列,而是 "Spartan-3E" 系列,好像没有 xilinx-3E 系列与之对应
与 xilinx-7 对应的是 Spartan-7Spartan 系列包括 Spartan-2 Spartan-2E Spartan-3 Spartan-3A Spartan-3E Spartan-6 Spartan-7
参考 https://www.360xilinx.com/show-174667.htm赛灵思公司的7系列FPGA根据不同客户的应用需求,分为5个子系列 // 7系列FPGA采用的是统一的28nm设计架构Zynq SoC 系列Zynq-7000三款小型产品—Z7010,Z7015, Z7020Zynq 芯片的总体架构,并详述了它的两个组成部分:PS 和 PL一个由双核 ARM Cortex-A9 为核心构成的处理系统 PS Processing System一个等价于一片 FPGA 的可编程逻辑(PL,Programmable Logic)部分Zynq UltraScale+MPSoC是Xilinx推出的第二代多处理SoC系统 // http://www.elecfans.com/d/1309652.html在第一代Zynq-7000的基础上做了全面升级共有四个大的系列,分别是CG系列、EG系列和EV系列,其中EG系列和EV系列提供汽车级和军品级器件Spartan7系列Spartan7系列是7系列中的屌丝青年,拥有最低的价格、最低的功耗、最小的尺寸以及最低的设计难度一些低端应用中极为合适。Artix7系列Artix7系列是7系列中的普通青年,相对Spartan7系列则增加了串行收发器和DSP功能其逻辑容量也更大,适合逻辑一些稍微复杂的中低端应用。Kintex7系列Kintex7系列是7系列中的文艺青年,是在所有系列中拥有最佳的性价比无论是硬核数量还是逻辑容量,都能满足中低端、以及部分高端应用需求。Virtex7系列Virtex7系列则是7系列中的大佬,只在高端应用中使用在中低端应用就如同高射炮打蚊子,大材小用!Xilinx Virtex UltraScale XCVU440FLGA2892 FPGA
  • ZYNQ资料

问题

1.按道理 rtl 可以 封 到 任何 fpga 里面,只要资源够
2.Spartan系列 jtag  xvf 文件,具体改变了什么,怎么boot
3.fpga bit 文件制作过程中 是不是会 引用 一些 IP ,有什么场景
4.fpga 制作关注什么?fpga型号资源未定义的接口时钟内存

CPU自制入门 第三章 编程相关推荐

  1. 《CPU自制入门》笔记——第二章 电路板的设计与制作

    在下个学期,本人有一门计算机组成原理的课程设计,需要用Verilog设计一个可用的CPU.为了这门课设,我选择在这个暑假先进行研究一下. 在经过多方查找之后,我在学校的图书馆中找到了<CPU自制 ...

  2. WPF编程基础入门 ——— 第三章 布局(五)布局面板WrapPanel

    WPF布局--布局面板WrapPanel WPF--WrapPanel布局控件 WrapPanel实例--十个按钮 WPF--WrapPanel布局控件 WrapPanel(自动折行面板),允许任意多 ...

  3. X Window 程式设计入门--第三章 绘图(Graphic)

    http://cnpa.yzu.edu.tw/~thinker 作者:李圭烽 (Thinker; Thinker.bbs@bbs.yzu.edu.tw) (2001-06-01 20:10:00) I ...

  4. 机器学习coursera 第三章编程作业

    机器学习coursera 第三章编程作业 Multi-class Classification and Neural Networks lrCostFunction 整个题目给了两个数据集,一个是关于 ...

  5. Hadoop快速入门——第三章、MapReduce案例(字符统计)

    Hadoop快速入门--第三章.MapReduce案例 目录 环境要求: 1.项目创建: 2.修改Maven 3.编码 4.本地文件测试 5.修改[Action]文件(修改测试文件路径) 6.导出ja ...

  6. MyBatis快速入门——第三章、DML语句操作

    MyBatis快速入门--第三章.DML语句操作 目录 在接口类中添加[UsersMapper.java] 修改[com.item.mapper.UsersMapper.] [action.java] ...

  7. 某公司的员工分为5类,每类员工都有相应的封装类。(黑马第三版Java基础入门 第四章编程题)

    (1) Employee:这是所有员工总的父类. ① 属性:员工的姓名,员工的生日月份 ② 方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励 ...

  8. 软件设计的哲学:第三章 编程的战术和战略

    " 作者简介: 常柱,微信公众号[架构未来]作者,十多年一线互联网研发从业经验:前五八同城商业会员技术负责人,宝驾租车技术总监,现58 到家业务中台技术负责人. 好的软件设计最重要的元素之一 ...

  9. 价格优惠的C语言程序,c语言程序设计精髓第三章编程题

    1 学分绩计算(3分) 题目内容: 已知某大学期末考试学分绩的计算公式为:学分绩 =(工科数学 * 5 + 英语 * 1.5 + 线性代数 * 3.5) / 10 请编程从键盘按顺序输入某学生的工科数 ...

  10. C Primer Plus 6th Edition第三章编程练习上溢下溢

    3.11 编程练习 1.通过试验(即编写带有此类问题的程序)观察系统如何处理整数上溢.浮点数上溢和浮点数下溢的情况. int类型(整数类型)占用4字节,范围为-2^ 31 ~ 2^31-1 即-214 ...

最新文章

  1. Android中Log日志的管理之log工具类
  2. Win10开机一直转圈圈怎么办?一直转圈进不去系统的解决方法
  3. 第一百三十一节,JavaScript,封装库--CSS
  4. [论文阅读] A Simple Pooling-Based Design for Real-Time Salient Object Detection
  5. Netscaler 10.5 VPX与XenApp XenDesktop 集成配置系列之三enable StoreFront Remote Access
  6. 乔布斯在斯丹佛毕业典礼上的讲话(二)
  7. 01_Navicat的快捷键学习
  8. LIN、K、CAN、CAN-FD、FlexRay、Ethernet 、MOST、VAN常见汽车总线简介
  9. 获取手机WiFi Ip地址
  10. CSS实现当鼠标移入或者移出时实现动画过渡效果
  11. Linux操作系统——切换到root用户及其他用户
  12. python xmind转excel 知乎_XMind: ZEN 重磅更新!新增导出Word/Excel,自定义快捷键和其他...
  13. 【知识分享】异步串行收发器Uart(串口)-通信协议详解
  14. SCAU 18935 贪吃的小Q
  15. 现在学Python怎么样?还有发展前景吗?
  16. 计算机台式机快捷键开机,电脑快捷键如何快速开关机
  17. 【ODOO】Docker Compose 编排ODOO应用
  18. SpringBoot-jdbcTemplate访问数据库
  19. 大学物理上册常用公式
  20. PHP获取路径和目录方法

热门文章

  1. C语言打印结构体的值,怎么才能把结构体里面的二维数组打印出来?
  2. 树莓派安装qq linux,在树莓派上安装Ubuntu Core
  3. 乐高ev3搭建图_乐高编程培训是什么都教啥?2020可编程机器人积木编程推荐,...
  4. Microsoft Softwares
  5. PDFlib TET Crack,文本提取工具包
  6. STM32移植FATFS+USB+FLASH+PDFLIB库总结
  7. java进度条_Java实现进度条开发过程
  8. 季节性ARIMA模型【R语言】
  9. POI导出Excel文件中文乱码
  10. 【物联网毕设基础】实时时钟芯片 DS1302 介绍