传统fpga设计流程简介

上传人:xh****66 文档编号:61711516 上传时间:2018-12-10 格式:PPT 页数:31 大小:1.02MB
返回 下载 相关 举报
传统fpga设计流程简介_第1页
第1页 / 共31页
传统fpga设计流程简介_第2页
第2页 / 共31页
传统fpga设计流程简介_第3页
第3页 / 共31页
传统fpga设计流程简介_第4页
第4页 / 共31页
传统fpga设计流程简介_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《传统fpga设计流程简介》由会员分享,可在线阅读,更多相关《传统fpga设计流程简介(31页珍藏版)》请在金锄头文库上搜索。

1、水煮FPGA,传统FPGA设计流程简介,Field Programmable Gate Array 可编程逻辑器件 适合高密度,复杂时序逻辑 供应商: Xilinx、Altera、Actel、Lattice、Quicklogic,FPGA?,FPGA结构,可编程IO 可编程逻辑单元 LUT(查找表) 寄存器 布线 全局线(低Skew、强驱动) 普通互连(长、短) 专用进位链 内嵌功能单元 PLL/DLL RAM DSP SERDES ,XC3S50 overview,IOB,Lan (global、short、long),RAM&DSP,DCM,Switch box,CLB,XC3S50 CL

2、B overview,LUT,Register,进位链,电路设计 功能仿真 综合 综合后仿真 布局布线 布局布线后仿真 板级仿真(optional) 加载配置,在线调试,FPGA设计流程,FPGA设计平台,?,Xilinx ISE 界面简洁的工具接口 Altera Quarters II 高集成度的工具箱 MAXPLUS II,模型设计,数字系统模型设计层次 ESL Behavior level RTL Gate level 设计输入 SystemC, SystemVerilog HDL 原理图 simple 网表 IP core,TOP,DOWN,高性能电路HDL描述 1、提升频率 算法:并

3、行、乒乓、流水线合理按排数据流 结构:源逻辑复制,减少扇出 2、减少资源、功耗 资源共享,时钟使能,功能仿真,Tools Modelsim VCS NCsim Working in Test Bench 建议在设计中估算并加入延时信息,测试目标,测试激励,测试监控,Test Bench,综 合,将模型映射到现有资源 Tools Synplify Pro for most FPGA XST for xilinx FPGA Quartus for Altera FPGA ,可综合HDL设计 HDL是描述性语言,非设计语言,原则上先有电路后有HDL。 可综合的特点:可以直观反应到一个或几个具体的简单

4、电路上 if()else mux2 always ( posedge clk) begin DFFs end for() ? ab ? 传说中可综合的RTL不一定可综合 对应的映射区间限制在FPGA现有的资源内,HDL模型优化 我们的目标是,没有不确定性 不要让综合器替你做决定 用HDL设计描述你的设计 尽量使用厂商所提供的库 使用综合约束,A+B+C+D,or,Example,综合约束 模型优化(speed、area) 模型映射自由度 设置方式: 1、菜单选择 for global 2、HDL内嵌入 for special 3、约束文件编辑,优化目标,优化力度,FSM选项,资源识别,Exam

5、ple,综合结果观察 1、综合报告 资源利用率 最大设计速率 注意你的Warning 2、RTL View/Technology View 跟踪、分析关键模块、路径,Synplify Pro RTL overview,RTL view,Technology view,Critical path,Net/port/inst,综合后仿真,目的: 验证综合后的实际功能与模型所描述功能的一致性 添加器件延时信息,初步验证时序(optional),实 现,流程 布局 单元放置 物理综合(optional) 布线 单元连接 单元重放置,组合逻辑优化(复制,交换) 时序逻辑优化(复制,平衡),布局后仿真,约

6、束 唯一人为干预实现过程的接口 决定实现效果好坏的主要因素 约束不会提升设计的最佳性能,同综合一样,它只增加实现过程的可控性,结果的唯一性 PIN 分配管脚、电压标准 驱动能力、速度 输入延迟 端接阻抗 Timing Area ,附加约束,Area Constraint 绝对位置 触发器 LUT RAM/DSP (primitive) 绝对区域 模块 group of primitive 相对位置 触发器 LUT RAM/DSP (primitive) 相对区域 模块 指定布线 net,区域约束,Map结果,模块列表,Floorplanner overview,!区域约束主要目的是关联耦合逻辑

7、,减少后续布线压力;其次是加大资源利用率。 !靠的近信号延迟不一定就小,信号线上延迟主要来自线与线之间的转接(如LUT,switch-box)。由于FPGA内部连接的结构是横纵两向的,斜向的连接延迟会大于横纵方向上最大跨度连接。所以,在做位置约束时尽量避免斜向;而区域约束要松,如果没有资源上的顾虑,约束面积建议为所需的3倍以上。 !对时序的改善贡献很小,紧的约束甚至有恶化时序的可能。,Timing Constraint 端口输入输出约束 IO端口 时钟约束 单时钟域约束 同步器件 多时钟域约束 关联时钟组 Skew约束 同源时钟 线延迟约束 net TIG all 设计的最高速度已经由设计的构

8、造和器件的性能决定,时序约束只提供了设计需求,明确了设计内部各单元哪些需要被优待,哪些可以随意。所以,没必要在时序上加上很紧的约束,跟自己的电脑过不去,还浪费青春,浪费电。适可而止才是正道。,布局布线后验证&仿真,时序分析 动态时序分析 需要测试向量 效率低 覆盖率不能保证 静态时序分析 不需要外部测试激励 效率高 全覆盖 精确度不高,STA时序模型,TPmin = Tcko +Tdelay +Tsetup -Tskew Tcko + Tdelay - Tskew Thold Slack = Tp - Tpmin,!尽量保证实现结果留有一定的余量,Xilinx STA tool overvie

9、w,后仿 仿真模型 时序标注 .sdf文件 提供三种延时值,最大、典型、最小 打印信息 $setup, $hold, $recovery # * Error:/path/to/xilinx/verilog/src/simprims/X_RAMD16.v(96): $setup(negedge WE:29138 ps, posedge CLK:29151 ps, 373 ps); # Time:29151 ps Iteration:0 Instance: /test_bench/u1/U1/X_RAMD16,错误类型,相关信号,信号最后改变时间,要求时间,错误报告事件,出错位置,出错模型,END,

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

当前位置:首页 > 生活休闲 > 科普知识

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