快速 FPGA / ASIC 原型设计与验证 单博 信号处理应用工程师 MathWorks 中国 1
实际案例 HDL 代码自动生成, 并在 Xilinx 开发板运行 2
日程 介绍使用基于模型的设计方法进行 FPGA 设计实际案例 音频均衡器定点化模型 HDL 代码自动生成速度和面积优化验证 : HDL 联合仿真和 FPGA 在环仿真总结 3
基于模型的设计 (model based design): 从概念到产品 预先研究 需求 算法设计 环境模型 数字模型 模拟模型 射频模型 时序和控制逻辑算法算法实现 算法测试与验证 C/C++ VHDL, Verilog 射频和模拟 MCU DSP FPGA ASIC 晶体管 集成 4
Integration Communications System Design 数字 + 模拟 Digital + Analog Digital-analog co-design Measured RF data Antenna array design Circuit level modeling Electrical components Lumped elements Mixed signal design Ex: PLLs, ADCs System deployment SW/HW co-verification Custom radio boards Lab and field tests 数字系统 Digital System System level performance BER Simulations Accelerating simulations Design elaboration Synchronization Equalizers Pre-emphasis System targeting and verification C/HDL code generation (built-in targets like SP601 or Beagleboard) C/HDL verification FPGA in the loop (FIL) 数字算法 Digital Algorithm Algorithm exploration Stand-alone algorithms Mathematical models ex: filters, FEC, modulators Algorithm elaboration Fixed-point Implementation tradeoffs for speed, complexity, etc. Implementation w/code generation HDL code generation C code generation 行为级仿真 Behavioral Simulation 设计细化 Elaboration and Implementation Considerations 目标器件和平台 Targeting Implementation 5
Lockheed Martin Develops Configurable, Space-Qualified Digital Channelizer Using MathWorks Tools Challenge To design and implement a reconfigurable, spacequalified digital channelizer Solution Use Simulink to model and simulate the system, and EDA Simulator Link MQ with Mentor Graphics ModelSim to verify the VHDL implementation Results Verification time reduced by 90% Overall development time shortened by eight months Key algorithms reused, saving 50% of design effort on subsequent projects Artist s rendition of one of the satellites that will carry Lockheed s digital channelizer. With Simulink and EDA Simulator Link MQ, simulation and verification are performed in one environment. As a result, we can test the design from end to end, improving quality and ensuring design accuracy and validity." Bradford Watson Lockheed Martin Space Systems Link to user story 6
Sandia Implements High-Performance Radar Receiver Using MathWorks and Xilinx DSP Design Tools Challenge To design a digital radar receiver and implement it on the Virtex-II platform FPGA within strict time and budgetary limits Solution Use MathWorks and Xilinx DSP design software to create, simulate, test, and synthesize designs into hardware Results Accelerated design High-speed simulation Accurate representation of the actual system The first prototype of the digital IF receiver module. We are so impressed with the tools and the direction in which The MathWorks and Xilinx are going that we plan to make this our mainstream DSP design flow. Dale Dubbert Sandia National Laboratories Link to user story 7
日程 介绍使用基于模型的设计方法进行 FPGA 设计实际案例 音频均衡器定点化模型 HDL 代码自动生成速度和面积优化验证 : HDL 联合仿真和 FPGA 在环仿真总结 8
音频均衡器系统要求 多种均衡器 增益 +/-6dB 可控 5 种用户预定义的均衡器 Rock Pop Jazz Classical Vocal 音量控制 资源限制在 FPGA 合理范围内 音效良好 9
起点 已定义用于参考的浮点算法 初始化模型中的数据类型已根据人工估计的范围, 进行了定点化 浮点模型 定点模型 10
对定点化模型进行优化 Simulink 允许定义有限精度的数据类型 字长 小数部分字长 Demo Fixed-Point Tool 检查信号 min/max, overflow 对数据类型进行优化 11
日程 介绍使用基于模型的设计方法进行 FPGA 设计实际案例 音频均衡器定点化模型 HDL 代码自动生成速度和面积优化验证 : HDL 联合仿真和 FPGA 在环仿真总结 13
自动产生 HDL 代码 Simulink HDL Coder 14
刚刚所见 自动产生 HDL 代码 可读, 可移植 HDL 代码 15
代码与模型双向可追踪 完整保存模型与代码间的层级结构 完整保存信号和端口命名 代码中注释可链接到模型, 反之亦然 代码还可以链接到需求 (DO-254) 16
日程 介绍使用基于模型的设计方法进行 FPGA 设计实际案例 音频均衡器定点化模型 HDL 代码自动生成速度和面积优化验证 : HDL 联合仿真和 FPGA 在环仿真总结 17
硬件设计挑战 : 面积与速度优化 X X X X X X MUX X SCHEDULING DEMUX 18
面积速度优化 使用 streaming option 减少音频均衡器中乘法器的使用数量 19
所看见的 - Workflow Advisor 选择 ASIC, FPGA, 或 FPGA 目标板 为 HDL 代码生成, 准备模型 产生 HDL 代码 物理设计及关键路径高亮 配置 FPGA 20
回顾 : 自动 HDL 代码生成 Simulink HDL Coder 可读 可移植的 HDL 代码 目标 ASIC 和 FPGA 标准 Simulink 模块库 按键式配置 Xilinx 和 Altera FPGA 面积和速度优化 模型和代码间双向追溯 22
日程 介绍使用基于模型的设计方法进行 FPGA 设计实际案例 音频均衡器定点化模型 HDL 代码自动生成速度和面积优化验证 : HDL 联合仿真和 FPGA 在环仿真总结 23
使用联合仿真验证 HDL 代码 HDL Verifier 复用系统级模型作为 testbench 与 ModelSim 和 Cadence Incisive 进行联合仿真 闭环验证 24
使用硬件验证算法 HDL Verifier 使用 FPGA 硬件进行联合仿真 复用系统级模型作为 testbench 执行大规模仿真 增强对于设计可在流片阶段正确工作的信心 支持一系列 FPGA 开发平台 通过千兆网线快速数据交互 25
MATLAB 和 Stateflow 对 HDL Coder 的支持支持 HDL 的模块 MATLAB 用于建模和生成 HDL 实现的 MATLAB 语言相关子集 支持 HDL 的有用的 MATLAB 功能模块设计模式 Stateflow 有限状态机建模 (Mealy, Moore) 不同的建模范式 ( 图形化方法, 状态转换表, 真值表 ) 整合 MATLAB 代码 26
基于模型的设计 : 从概念到产品 预先研究 需求 算法设计 环境模型 数字模型 模拟模型 射频模型 时序和控制逻辑算法算法实现 算法测试与验证 C/C++ VHDL, Verilog 射频和模拟 MCU DSP FPGA ASIC 晶体管 集成 27