Adopting Model-Based Design for FPGA, ASIC, and Soc Development

Adopting Model-Based Design for FPGA, ASIC, and Soc Development

Adopting Model-Based Design for FPGA, ASIC, and SoC Development Hitu Sharma Application Engineer- Signal Processing, HDL & Communication © 2015 The MathWorks, Inc.1 Agenda ▪ Why Model-Based Design for FPGA, ASIC, or SoC? ▪ How to get started – General approach – collaborate to refine with implementation detail – Re-use work to help RTL verification – Hardware architecture – Fixed-point quantization – HDL code generation – Chip-level architecture ▪ Customer results 2 FPGA, ASIC, and SoC Development Projects 67% of ASIC/FPGA projects are behind schedule Over 50% of project time is spent on verification 75% of ASIC projects require a silicon re-spin 84% of FPGA projects have non-trivial bugs escape into production Statistics from 2018 Mentor Graphics / Wilson Research survey, averaged over FPGA/ASIC 3 Many Different Skill Sets Need to Collaborate • Poor communication across teams RESEARCHRESEARCH REQUIREMENTS • Key decisions made in silos • System-level issues found in late stages SPECIFICATIONS • Hard to adapt to changing requirements “In our previous, document-based System Architecture design workflow, each team developed its own specification. This SPECIFICATIONS created a communication gap between the teams, as well as delays and the increased risk of error” Algorithms Noritaka Kosugi, Kazuyuki Hori, and Yuji Ishida SPECIFICATIONS Hitachi Embedded Digital Analog Software Hardware Hardware Verification System Integration 4 SoC Collaboration with Model-Based Design RESEARCHRESEARCH REQUIREMENTS DESIGN Am I making WHAT am I & Validation the right making? System Architecture thing? Algorithms HOW am I Verification Is it going to Implementation Architectures making it? Export work? Models Implementation Knowledge Generate Code Embedded Digital Analog Have I made MAKE IT! Software Hardware Hardware it right? System Integration 5 Agenda ▪ Why Model-Based Design for FPGA, ASIC, or SoC? ▪ How to get started – General approach – collaborate to refine with implementation detail – Re-use work to help RTL verification – Hardware architecture – Fixed-point quantization – HDL code generation – Chip-level architecture ▪ Customer results 6 General Approach: Use the Strengths of MATLAB and Simulink MATLAB DESIGN Simulink System Architecture ✓ Large data sets Algorithms ✓ Parallel architectures ✓ Explore mathematics Streaming ✓ Timing ImplementationAlgorithms Architectures ✓ Control logic ✓ Data type propagation Streaming Hardware ✓ Data visualization Architectures ✓ Mixed-signal modeling Fixed-Point Hardware Architectures Implementation Architectures 7 Partition Hardware-Targeted Design, System Context, Testbench Algorithm Hardware Software Analysis Stimulus Algorithm Algorithm 8 Streaming Algorithms: MATLAB or Simulink…or Both 9 Refine Algorithm and Verify Against Golden Reference Reference Algorithm Verification Algorithm Stimulus “Scoreboard” Design Under Test Streaming Algorithms Streaming Hardware Architectures Fixed-Point Hardware Architectures Self-checking 10 Generate SystemVerilog DPI Components for RTL Verification Reference Verification Algorithm Algorithm Stimulus “Scoreboard” HDL HDL Verifier Verifier DPI C DPI C ▪ Reuse MATLAB/Simulink models in verification – Scoreboard, stimulus, or models external to the RTL ▪ Generate from frame-based or streaming algorithm DPI C Scoreboard ▪ Floating-point or fixed-point Scoreboard DPI C ▪ Individual components or entire testbench Seq. Items – Runs natively in SystemVerilog simulator – Eliminate re-work and miscommunication Design Under Driver Monitor – Save testbench development time Test (DUT) RTL – Easy to update when requirements change SystemVerilog verification environment 11 What if there’s a mismatch? MATLAB / Simulink Reference Algorithm Verification Algorithm Stimulus “Scoreboard” HDL Verifier cosimulation HDL Simulator DUT RTL ▪ Co-simulate with 3rd-party HDL simulator – Reuse MATLAB/Simulink test environment – Run HDL design in a supported simulator* – Generate co-simulation infrastructure and handshaking – Analyze both the design and test environment * Mentor Graphics® ModelSim® or Questa ® Cadence ® Incisive ® or XceliumTM 12 Collaborate to Add Hardware Architecture Optimize architecture design for hardware goals Specify HDL implementation options 13 Fixed-Point Streaming Algorithms: Manual Approach 14 Fixed-Point Streaming Algorithms: Automated Approach Simulate with Fixed-Point Choose to apply Simulate and representative data to Designer proposes proposed types compare collect required ranges data types or set your own results 15 Automatically Generate Production RTL DESIGN ▪ Choose from over 250 supported blocks Algorithms – Including MATLAB functions and Stateflow charts Streaming ▪ Quickly explore implementation options Algorithms Implementation Streaming Hardware – Micro-architectures Knowledge Architectures – Pipelining Fixed-Point Hardware Architectures – Resource sharing Implementation Architectures – Fixed-point or native floating point HDL ▪ Generate readable, traceable Verilog/VHDL Coder – Optionally generate AXI interfaces with IP core ▪ Quickly adapt to changes and re-generate ▪ Production-proven across a variety of applications and FPGA, ASIC, and SoC targets Synthesizable RTL AXI Interfaces Synthesis scripts 16 Agenda ▪ Why Model-Based Design for FPGA, ASIC, or SoC? ▪ How to get started – General approach – collaborate to refine with implementation detail – Re-use work to help RTL verification – Hardware architecture – Fixed-point quantization – HDL code generation – Chip-level architecture ▪ Customer results 17 Model-Based Design Results for Communications System Development at Hitachi Solution Adopted Model-Based Design to enable teams to verify the specification via a model in a shared simulation environment. The system design and FPGA “We have adopted Model-Based design teams use the model as an executable specification. The model is Design with MATLAB® and Simulink® refined and elaborated throughout the design process, and HDL code is as our standard development automatically generated for logic synthesis and implementation. workflow for FPGA design. As a result, we have improved Results communication between teams, ▪ 70% effort reduction for design projects reduced development time, and ▪ Nearly equivalent FPGA performance, power, and resource usage reduced risk by evaluating system ▪ Adopted across more than 10 product development projects performance early in the design process.” Link to article 18 Getting Started Collaborating with Model-Based Design RESEARCHRESEARCH REQUIREMENTS ❑ Refine algorithm toward implementation DESIGN Validation & Validation ❑ Verify refinements versus previous versions System Architecture ❑ Generate verification models ❑ Add hardware implementation detail and Algorithms generate optimized RTL Verification ❑ Simulate System-on-Chip architecture Implementation Architectures Export Models Implementation Knowledge Generate Code ➢ Eliminate communication gaps Embedded Digital Analog ➢ Key decisions made via cross-skill collaboration Software Hardware Hardware ➢ Identify and address system-level issues before implementing subsystems System Integration ➢ Adapt to changing requirements with agility 19 What's New! © 2015 The MathWorks, Inc.20 Model and Simulate SoC Architecture DESIGN System Architecture Implementation Knowledge SoC Blockset Algorithms Implementation Architectures I/O SoC I/O Asynchronous events ▪ Simulate behavior and latency – Algorithm, memory, internal and external connectivity – Scheduling and OS effects – Real streaming I/O data External Memory ▪ Diagnose software performance and hardware utilization Hardware sample rate Initialization signals ▪ Adjust core algorithms so they work in the actual hardware context AXI registers 21 Enhanced Data Type Support for SystemVerilog DPI Generation: Enum DPI feature will generate SystemVerilog enum from Simulink and MATLAB enum data types on interface. Simulink or MATLAB enum type Before After 22 PCI Express based MATLAB as AXI Master for Xilinx FPGA Boards Provide HDL IP core for Xilinx Vivado designs to support AXI4 read and write operations over a PCI Express connection. ▪ Provides faster performance than JTAG and Ethernet based MATLAB as AXI Master ▪ Not board specific. ▪ Demo available: – copyXilinxFPGAExampleFiles(‘pcieaximaster’) ▪ To use on host: – mem = aximaster(‘Xilinx’, ‘Interface’, ‘PCIe’); – writememory(mem, ‘C000000’, wrdata); – rddata = readmemory(mem, ‘C00000000’, ‘uint8’); 23 Learn More ▪ Next steps to get started with: – Verification: Improve RTL Verification by Connecting to MATLAB webinar – Fixed-point quantization: Fixed-Point Made Easy webinar – Incremental refinement, HDL code generation: HDL self-guided tutorial ▪ Visit us at the demo booth for detailed update on SoC block set and HDL Verifier workflow. 24 Training Services Exploit the full potential of MathWorks products Flexible delivery options: ▪ Public training available in several cities ▪ Onsite training with standard or customized courses ▪ Web-based training with live, interactive instructor-led courses More than 48 course offerings: ▪ Introductory and intermediate training on MATLAB, Simulink, Stateflow, code generation, and Polyspace products ▪ Specialized courses in control design, signal processing, parallel computing, code generation, communications, financial analysis, and other areas www.mathworks.in/training 25 Generating HDL Code from Simulink This two-day course shows how to generate and verify HDL code from a Simulink® model using HDL Coder™ and HDL Verifier™ Topics include:

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    28 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us