Hardware-level model elaboration Igal Yaroslavski, M.Sc. Senior Team Leader - MATLAB & Simulink Application Engineering Signal.

Slides:



Advertisements
Similar presentations
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Advertisements

ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Developing Video Applications on Xilinx FPGAs
Design Methodology for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo D. Castro, Gilberto Beltran. Manuel Salim.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
MotoHawk Training Model-Based Design of Embedded Systems.
HW/SW- Codesign Verification and Debugging. HW versus SW Ondrej Cevan.
The Design Process Outline Goal Reading Design Domain Design Flow
Embedded Systems: Introduction. Course overview: Syllabus: text, references, grading, etc. Schedule: will be updated regularly; lectures, assignments.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
ECE 699: Lecture 2 ZYNQ Design Flow.
Matlab as a Design Environment for Wireless ASIC Design June 16, 2005 Erik Lindskog Beceem Communications, Inc.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
Implementation of DSP Algorithm on SoC. Characterization presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompany engineer : Emilia Burlak.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
Hardware/Software Partitioning Witawas Srisa-an Embedded Systems Design and Implementation.
Anne Mascarin DSP Marketing The MathWorks
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
Programmable Logic- How do they do that? 1/16/2015 Warren Miller Class 5: Software Tools and More 1.
Delevopment Tools Beyond HDL
© 2005 The MathWorks, Inc. Advanced Technologies to Accelerate Mixed Signal Simulation Pieter J. Mosterman Senior Research Scientist The MathWorks, Inc.
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
1 WORLD CLASS – through people, technology and dedication High level modem development for Radio Link INF3430/4431 H2013.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
1 Integration Verification: Re-Create or Re-Use? Nick Gatherer Trident Digital Systems.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
Presenter : Ching-Hua Huang 2013/7/15 A Unified Methodology for Pre-Silicon Verification and Post-Silicon Validation Citation : 15 Adir, A., Copty, S.
Xilinx Programmable Logic Design Solutions Version 2.1i Designing the Industry’s First 2 Million Gate FPGA Drop-In 64 Bit / 66 MHz PCI Design.
Testing Workflow In the Unified Process and Agile/Scrum processes.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
SW and HW platforms for development of SDR systems SW: Model-Based Design and SDR HW: Concept of Modular Design and Solutions Fabio Ancona Sundance Italia.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Mahapatra-Texas A&M-Fall'001 How to plan on project work? An attempt to consolidate your thought to gear up project activities.
STATEFLOW AND SIMULINK TO VERILOG COSIMULATION OF SOME EXAMPLES
Functional Verification of Dynamically Reconfigurable Systems Mr. Lingkan (George) Gong, Dr. Oliver Diessel The University of New South Wales, Australia.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
2D/3D Integration Challenges: Dynamic Reconfiguration and Design for Reuse.
Final Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
1 Hardware/Software Co-Design Final Project Emulation on Distributed Simulation Co-Verification System 陳少傑 教授 R 黃鼎鈞 R 尤建智 R 林語亭.
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
1 ® ® Agenda 8:30 a.m.Introduction to The MathWorks, Xilinx, and Avnet 9:00 a.m.Video System Design with Simulink 9:45 a.m.Break 10:00 a.m.FPGA Implementation.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Design with Vivado IP Integrator
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
DAC50, Designer Track, 156-VB543 Parallel Design Methodology for Video Codec LSI with High-level Synthesis and FPGA-based Platform Kazuya YOKOHARI, Koyo.
Introduction to the FPGA and Labs
Programmable Logic Devices
Prototyping SoC-based Gate Drive Logic for Power Convertors by Generating code from Simulink models. Researchers Rounak Siddaiah, Graduate Student-University.
Hands On SoC FPGA Design
Introduction to Programmable Logic
ENG3050 Embedded Reconfigurable Computing Systems
FPGAs in AWS and First Use Cases, Kees Vissers
Overview of System Engineering
Figure 1 PC Emulation System Display Memory [Embedded SOC Software]
Course Agenda DSP Design Flow.
A Comparison of Field Programmable Gate
Matlab as a Design Environment for Wireless ASIC Design
The performance requirements for DSP applications continue to grow and the traditional solutions do not adequately address this new challenge Paradigm.
ECE 699: Lecture 3 ZYNQ Design Flow.
System View Inc..
Presentation transcript:

Hardware-level model elaboration Igal Yaroslavski, M.Sc. Senior Team Leader - MATLAB & Simulink Application Engineering Signal Processing and Communication, HDL Code Generation and Verification, FPGA workflow Systematics Limited

Agenda Background From behavioral to HW-level modelling HW-level modelling and beyond Integrated SW-HW modelling for Xilinx Zynq

HW project completion trends In 2011, Wilson research Group conducted the largest verification study ever. The study had statistical confidence of 95 ± 1.4% here’s what it showed about the hardware project completion schedule: More than 65% of the hardware projects are completed behind the schedule!

HW project design complexity Mean number of gates > 6 M Mean number of embedded processors 2 Mean number of clock domains per chip > 3

Design houses’ response External code acquisition growth by 138% Adoption of advanced verification methodologies FPGA and Emulation prototyping

Verification effort 56% of the project time is spent in verification 58% increase in verification engineers Logic flaws account for >50% bugs

Agenda Background The flow: From behavioral to HW-level HW-level modelling and beyond Integrated SW-HW modelling for Xilinx Zynq

Digital hardware design flow: Past So, how did we do it back in 80-90s? We would have a spec documents (lot and lots of pages) based on which 2 teams would code. One team would be the Design Team, it would be responsible for the actual “production code” so in addition to the functional correctness of the code, the Design Team would consider timing and footprint issues of the code they write. The other team would be the verification team. That team, would be responsible for the verification environment, with the test vectors, output checkers / assertions, reference design if needed and the pre- post simulation scripts. Functional Verification (Logic simulators, test vectors, pre / post-simulation scripts) Specs/Requirements (visio, doc, pdf, etc…) Logic Design (Verilog / VHDL code writing) An immediate drawback is that direct “spec to production” code design of DSP intensive algorithms may result in numerous algorithm design changes, which would be performed directly in “low” level production language. Which may lead to time waste or “over engineered” design that uses more resources than the minimum needed.

Functional Verification (Logic simulators, test vectors, pre / post-simulation scripts) Logic Design (Verilog / VHDL code writing) Functional Verification (Logic simulators, test vectors, pre / post-simulation scripts) Logic Design (Verilog / VHDL code writing) Behavioral Simulation (MATLAB / Simulink / C / Pyton / etc) Digital hardware design flow: Past Specs/Requirements (visio, doc, pdf, etc…) Enter behavioral algorithm design in MATLAB/C, 90s-2000s Now we have an additional team, Algorithm designers, who are responsible of designing the algorithm to requirements and validation that the algorithm “performs” as expected. They would run “what if” scenarios to make sure that the algorithm does not fail for reasonable conditions. After the algorithm is ready, they would pass it, together with the specs to the Design and Verification teams. The Design tem would design like before, but ideally they would not have to make sure that the algorithm they design is valid, only that it’s functionally correct and has acceptable performance. The Verification team would sometimes use the behavioral algorithm for reference and/or test vector generation and analysis. The challenge: The algo team provided an “ideal” floating point algorithm, with no consideration to footprint or timing performance. Digital Design team, designs under strict footprint and performance limitations. Consequently, some algorithms that work in “behavioral” case may fail in implementation, forcing re-design effort.

Functional Verification (Logic simulators, test vectors, pre / post-simulation scripts) Logic Design (Verilog / VHDL code writing) Behavioral Simulation (MATLAB / Simulink / C / Pyton / etc) Digital hardware design flow: Present Specs/Requirements (visio, doc, pdf, etc…) Functional Verification (Logic simulators, test vectors, pre / post-simulation scripts) Logic Design (Verilog / VHDL code writing) Bit exact simulation (MATLAB / Simulink / C / Pyton / etc) Enter bit exact / fixed point algorithm design, 2000s-now For last decade (give or take 3 years) the leading Algorithm Design teams design their algorithms with fixed-point math limitations in mind. The algorithms are designed in a way that compensates for “precision loss” that is inherent to the fixed point mathematics. The reference code, as well as detailed algorithm specs passed to the Hardware Design team already contain bit budget and some degree of resource utilization information. The reference design passed to the Verification Team is also more useful, as in some cases it allows for direct bit-exact verification of the Design Under Test using the bit- exact algorithm as a reference or using it as a direct generator and bit-exact analyzer of the output vectors. The challenge: While fixed point math issues are addressed, the timing, the data latency, and component delays are not addressed in the Simulation. HW Design team works hard to fit algorithm “bar” under strict limitations they have.

Behavioral Simulation (MATLAB / Simulink / C / Pyton / etc) Digital hardware design flow: Future Specs/Requirements (visio, doc, pdf, etc…) Bit exact simulation (MATLAB / Simulink / C / Pyton / etc) Functional Verification (Logic simulators, test vectors, pre / post-simulation scripts) Logic Design (Verilog / VHDL code writing) Cycle exact (HW) simulation (MATLAB / Simulink / C / Pyton / etc) Functional Verification (Logic simulators, test vectors, pre / post-simulation scripts) Logic Design (Verilog / VHDL code writing) Cycle & bit accurate model elaboration, Today – Tomorrow. Cycle accurate, hardware-like modeling performed after the bit exact algorithm design allows us to take into simulation consideration many of the actual implementation parameters. E.g. the latency/delay of certain components can influence the way the “data valid” signal is generated or propagated between the units. That signal can, in turn change the way the algorithm behaves. Furthermore, accounting for the component availability or limitations can influence the design as well e.g. usage of single or dual port RAM banks and etc. In addition, cycle & bit exact modelling allows us the automatic generation of verification environment and production design components (Next Section) The challenge: Train Algorithm Design team to consider cycle accuracy OR equip Hardware Design / Verification Team with adequate tools for cycle & bit accurate model elaboration, to be done prior to the “production” coding / DUT verification.

Agenda Background From behavioral to HW-level modelling HW-level modelling and beyond Integrated SW-HW modelling for Xilinx Zynq

Who elaborates the model to HW-level The Digital hardware design slide describes a challenge: “Train Algorithm Design team to consider cycle accuracy OR equip Hardware Design / Verification Team with adequate tools for cycle & bit accurate model elaboration, to be done prior to the “production” coding / DUT verification” But, who should elaborate bit-exact model to HW-like cycle exact level, the Algo Team the Hardware Design Team or maybe some other team? The answer is… It depends on: What is the required elaboration level (Next Slide) and what team possesses the skills needed to elaborate the model to that level What is the intended use and who should it serve. E.g. If the use is to provide a rapid FPGA prototype for a “new and thrilling” idea of the CTO Algo Team, then they are more likely to do the proof-of-concept job in-house, rather than wait for the Hardware Design Team resources to be granted for the initiative.

HW-level model elaboration degree The next reasonable question is: To a what degree the HW-level model should be elaborated. The answer is… It depends on: The level of fidelity you are required to simulate. e.g. do you need to simulate individual gates and Look Up Tables or a hardware-like function with the latency is sufficient. Do need to simulate the peripherals e.g. memory blocks or interfaces, or streaming data I/O is sufficient The use you are going to make of the model. Is it to be used as a reference design, a test bench/harness, or for a “live” a prototype or an actual production (Next Slide)

Beyond HW-level model usage options Cycle exact (HW) simulation (MATLAB / Simulink / C / Pyton / etc) Functional Verification EDA simulators, test vectors, pre / post-simulation scripts Logic Design (Verilog / VHDL code writing) Now, that we know where the Cycle & Bit exact model connects to our Design Workflow, let’s see what are the use options that we get from it. Verilog / VHDL Reference, Prototype or Product level RTL generation FIL Verification Test harness generation for Shelf or Custom FPGA Boards System C / System Verilog Reference generation for UVM / other methodologies Beyond the Logic Design to Verification steps discussed earlier, the existence of the HW-level (cycle & bit exact model) enables the generation of: FPGA in the Loop test harness for fast function and timing verification System C and System Verilog reference for UVM/Other verification methodologies RTL Verlog / VHDL code for reference, prototype or production

Agenda Background From behavioral to HW-level modelling HW-level modelling and beyond Integrated SW-HW modelling for Xilinx Zynq

Zynq Design Challenge ARM Processor C-Code Software Interface FPGA HDL Code Hardware

Zynq Design Challenge - ARM Properties: Typically programmed in C Often runs a Linux-based operating system Well-established workflows exist Challenges: FPGA Designers are not familiar with processor programming What should run on the processor vs. the FPGA? ARM Processor C-Code Software

Zynq Design Challenge - FPGA FPGA HDL Code Hardware Properties: Typically programmed in VHDL/Verilog Established workflows exist Challenges: DSP/Processor programmers are not familiar with FPGA Design What should run on the FPGA vs. the processor?

Zynq Design Challenge - Interface Interface Properties: Zynq uses “standard” AXI interface between FPGA and ARM Challenges: No established rules for hooking up the interface Different “flavors” of AXI for different bandwidth requirements

Integration, Test & Certification Traditional Design of a HW/SW System Research & Requirements Hardware Requirements Design Realization Testing Software Requirements Design Realization Testing The problem: The testing of the HW/SW integration is performed in the late stage

Zynq Design Challenge – Solution? So, how can we address these challenges and get our project onto Zynq quickly? Model-Based Design provides a single environment from requirements to prototype A guided workflow for hardware and software development INTEGRATION IMPLEMENTATION DESIGN TEST & VERIFICATION RESEARCH REQUIREMENTS ARMFPGA VHDL, VerilogC, C++ Environment Models Physical Components Algorithms

Model Based Design Flow for Zynq User defines partitioning MathWorks automates code and interface-model generation MathWorks automates the build and download through the Xilinx tools INTEGRATION IMPLEMENTATION DESIGN TEST & VERIFICATION RESEARCHREQUIREMENTS ARMFPGA VHDL, VerilogC, C++ Environment Models Physical Components Algorithms

Integrated HW / SW design flow HDL IP Core Generation Generation MATLAB ® and Simulink ® Algorithm and System Design MATLAB ® and Simulink ® Algorithm and System Design HDL IP Core Generation Generation

Generation Generation MATLAB ® and Simulink ® Algorithm and System Design MATLAB ® and Simulink ® Algorithm and System Design Embedded System Integration Integration Zynq Platform FPGA Bitstream Xilinx Embedded System Project A X I 4 - L i t e Processing System Programmable Logic IP Core Algorithm from MATLAB/ Simulink AXI Lite Accessible Registers AXI Video DMA AXI4-Stream Video In AXI4-Stream Video Out External Ports Embedded System Integration Integration Integrated HW / SW design flow

HDL IP Core Generation Generation MATLAB ® and Simulink ® Algorithm and System Design MATLAB ® and Simulink ® Algorithm and System Design Embedded System Integration Integration Zynq Platform FPGA Bitstream SW Interface Model Generation SW Interface Model Generation SW Build SW Interface Model Generation SW Interface Model Generation Integrated HW / SW design flow

HDL IP Core Generation Generation MATLAB ® and Simulink ® Algorithm and System Design MATLAB ® and Simulink ® Algorithm and System Design Embedded System Integration Integration SW Interface Model Generation SW Interface Model Generation Zynq Platform SW BuildFPGA Bitstream External Mode PIL PIL  Real-time Parameter Tuning and Verification – External Mode – Processor-in-the-loop  More probe and debug capability in the future Integrated HW / SW design flow

Zynq Work Flow Advisor

Questions?