alteraFPGA的设计流程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Nonblocking Assignments in Verilog Synthesis, Coding Styles That Kill!
11
FPGA的设计流程
12
目标
• 完成本单元的学习后你将会 • 列出FPGA设计过程的步骤(以Altera的FPGA为设计 例子) • 用缺省的软件选项来实现一个FPGA的设计 • Quaturs II • Modelsim
20
功能仿真
• 对逻辑功能进行验证: • 不考虑时序问题,认为门都是理想门,没有延时; • 详细一些的可以认为门延时都是一样,而忽略互连 线的延时。
调用模块的
行为仿真模 型
RTL代码
测试程序 (test
bench)
测试数据
逻辑仿真器
21
逻辑综合
• 通过映射和优化,把逻辑设计描述转换为和物理实现 密切相关的工艺网表:
2. 门级仿真 ❖ 采用综合软件综合后生成的门级网表 ❖ 不带有布局布线后产生的时序信息
3. 时序仿真(后仿真) ❖ 在门级仿真的基础上加入时延文件“.sdf”文件 ❖ 速度很慢,需要很长时间
33
用ModelSim作功能仿真(1)
ModelSim 的实现方法:
❖ 交互式的命令行 (Cmd) • 利用控制台的命令行
• 减少电子系统的开发风险和开发成本 • 缩短上市时间(time to market) • 通过在系统编程、远程在线重构等技术降低维护升级成本
• 系统的原型实现+ASIC的原型验证
ASIC常用FPGA进行原型机验证
7
CPLD与FPGA的区别
内部结构 程序存储 资源类型 集成度 使用场合 速度 其他资源 保密性
1 建立库
UI) 从主菜单里面: Design -> Create a New Library
Cmd) 从main, 记录窗口:
ModelSim> vlib <库名>
36
用ModelSim作功能仿真(4)
2 映射库到物理目录
UI) 从主菜单: Design -> Browse Libraries Design -> Create a New Library
RTL代码
调用模块的 黑盒子接口
设置综合目标 和约束条件
逻辑综合器
EDIF网表 (netlist)
HDL网表 (netlist)
22
逻辑综合

将用行为和功能层次表达的电子系统转换为低层次的 便于具体实现的模块组合装配而成的过程。
23
布局布线也叫适配
将综合生成的网表文件,在FPGA内部进行布局布线的设计,并最 终生成用于下载的二进制配置文件;如JEDEC、JAM格式的文件, 适配所选定的目标器件必须属于原综合器指定的目标器件系列
• Device Delays • Interconnect Delays • Port Delays • Path Delays • Timing Checks • Can be Back-annotated to a Design for Accurate Model of Delays
27
物理验证
将生成的二进制配置文件下载到FPGA上,进行实际的功能 和时序的测试;
Altera (.sof文件) Xlinx (.bit 文件),
由于FPGA常常是作为整个系统一部分,因此还应该将FPGA 放到整个系统中进行验证,整个系统工作正常,才算完成 了开发过程。
28
用ModelSim 仿真
29
内容
❖ ModelSim产品简介 ❖ ModelSim的用途 ❖ 用ModelSim进行功能仿真 ❖ 用ModelSim进行时序仿真
30
ModelSim产品简介(1)
❖ 由Mentor Graphics公司 的子公司Model Tech公司开发 ❖ 工业上最通用的仿真器之一 ❖ 支持Verilog 和 VHDL仿真
–PLD分解组合逻辑的功能很强,一个宏单元就可以分 解十几个甚至20~30多个组合逻辑输入
• 复杂时序逻辑:FPGA
–FPGA芯片中包含的LUT和触发器的数量非常多,往往 都是成千上万
9
推荐书籍
Verilog Verilog数字系统设计教程 夏宇闻 北京航天航空大学出版社 硬件描述语言Verilog 刘明业等译 清华大学出版社
FPGA 基于FPGA的嵌入式系统设计 任爱锋 西安电子科技大学出版社 基于FPGA的系统设计(英文版) Wayne Wolf 机械工业出版社
IC设计 Reuse methodology manual for system-on-a-chip designs 3rd ed. Michael Keating, Pierre Bricaud. 片上系统:可重用设计方法学沈戈,等译电子工业出版社, 2019 Writing testbenches : functional verification of HDL models / Janick Bergeron Boston : Kluwer Academic, c2000
可以考虑基本单元,比如加法、乘法器和寄存器等。
设计文档化非常重要
19
设计实现
• 用电路框图或者HDL描述实现自己的设计:
➢ 图形输入:状态图输入,波形图输入,原理图输入 ➢ 简单的设计可以用电路框图; ➢ 大型复杂的一般倾向于用HDL描述; ➢ HDL描述和计算机编程中的高级语言描述有很大不同
,每一个描述都要考虑硬件的实现能力,是不是可 以综合的等等,目前HDL语言标准中仍然有不能被综 合的语法,这些要尤其注意。
16
FPGA设计流程
时序分析
tclk
- Verify Performance Specifications
Were Met
- Static Timing Analysis
门级仿真 - Timing Simulation - Verify Design Will Work in Target
Technology
Constraints - Synplify, Quartus II
布局布线 - Map Primitives to Specific Locations inside Target Technology with Reference to Area & Performance Constraints
10
推荐文章
sunburst-design/papers/ Verilog Coding Styles For Improved Simulation Efficiency State Machine Coding Styles for Synthesis Synthesis and Scripting Techniques for Designing MultiAsynchronous Clock Designs Synchronous Resets? Asynchronous Resets? I am so confused!
具有完善先进的开发工具
提供语言、图形等设计方法,十分灵活 通过仿真工具来验证设计的正确性
可以反复地擦除、编程,方便设计的修改和升级 灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间
布局布线容易,设计过程相当于只有ASIC设计的前端
研发费用低
不需要投片费用
6
FPGA的应用前景
• 通信、控制、数据计算等领域得到了广泛的应用
alteraFPGA的设计流程
单击此处添加副标题内容
Altera FPGA的设计流程
贺光辉
清华大学电子工程系
2
目标
• 掌握FPGA的标准设计流程和工具
• 用Modelsim进行功能级仿真并诊断RTL Code • 用Quartus II做设计综合和布局布线 • 用FPGA Mega-functions做设计 • 返标SDF并运行门级的仿真
逻辑综合器
EDIF网表 (netlist)
调用模块 的
综合模型
设置布局 布线约束
条件
FPGA厂家工具
下载/编程 文件
HDL网表
SDF文件
(netlist) (标准延时格式)
24
时序逼近
• 时序逼近流程是一个推荐的设计方法可以帮助设计满 足它们的时序目标
25
门级仿真
FPGA厂家工具
测试数据
HDL 网表 (netlist)
SDF文件 (标准延时格式)
FPGA基本 单元仿真
模型
测试程序 (test bench)
逻辑仿真器
26
SDF 文件
• Industry Standard Format • Automatically Generated When You Compile a
Design (Output File with Extension .sdo) • Contain Timing Information
• 模块的基本划分和功能定义: • 每个模块应该完成的功能; • 模块之间的接口定义; • 模块间通讯的问题一定要考虑好,硬件通信的成本一般 比较大。
18
设计的整体规划
设计规模的初步估计,大致应该选择哪一层次的芯片; 设计时序的宏观规划:
频率和时钟结构; 可能的关键路径,着重优化;
模块的进一步细化,考虑可重用性等的规划:
• OEM版本允许Verilog仿真 或者 VHDL 仿真
❖ ModelSim/SE
• 首要的版本,能混合仿真Verilog 和 VHDL
❖ ModelSim/XE
• OEM版,包含Xilinx公司的库文件
❖ ModelSim/AE
• OEM版,包含Altera公司的库文件
31
ModelSim产品简介(2)
❖ 用户界面 (UI) • 能接受菜单输入和命令行输入
❖ 批处理模式 • 从DOS或UNIX命令行运行批处理文件
34
用ModelSim作功能仿真(2)
基本仿真步骤: 1 建立库 2 映射库到物理目录 3 编译源代码
- 所有的HDL代码必须被编译 4 启动仿真器 5 执行仿真
35
用ModelSim作功能仿真(3)
13
FPGA的设计流程
• FPGA的设计流程 • 用ModelSim进行仿真 • 用Quartus II进行综合和时序分析 • 用Quartus II进行布局布线、调试和下载
14
15
FPGA设计流程
Design Specification
LE M512
M4K
I/O
Design Entry/RTL Coding - Behavioral or Structural Description of
• 掌握FPGA的时序约束 • 了解FPGA的设计原则
3
提纲
• FPGA概要 • FPGA的设计流程
• 用Modelsim进行仿真和调试 • 用Quartus II进行时序分析、综合等
• FIR滤波器的设计实例
4ຫໍສະໝຸດ Baidu
FPGA概要
5
FPGA的优点
集成度高,可以替代多至几千块通用IC芯片
极大减小电路的面积,降低功耗,提高可靠性
Design
RTL仿真 - Functional Simulation (Modelsim®,
Quartus II) - Verify Logic Model & Data Flow (No Timing Delays)
综合 - Translate Design into Device Specific Primitives - Optimization to Meet Required Area & Performance
CPLD Product-term 内部EEPROM 组合电路资源丰富
低 完成控制逻辑
慢 - 可加密
FPGA Look-up Table SRAM,外挂EEPROM 触发器资源丰富
高 能完成比较复杂的算法
快 EAB(嵌入式逻辑块),锁相环 一般不能保密
8
CPLD还是FPGA ?
• 复杂组合逻辑:CPLD
PC Board Simulation & Test - Simulate Board Design - Program & Test Device on Board - Use SignalTap II for Debugging
17
系统规划和预算
• 系统功能的总体规划: • 功能集的定义; • 端口的定义;
ModelSim 用户界面
main主窗口:
structure结构窗口
process处理窗口
:
Signal&variable信号 和变量窗口
dataflow数据流窗口
source源窗口
Wave&list 波形和列表窗口
32
ModelSim的用途
1. RTL 仿真(功能仿真) ❖ 验证设计HDL的基本逻辑功能,属于最基本的验证 ❖ 仿真速度最快
相关文档
最新文档