CREATING, ACQUIRING AND INTEGRATING REUSABLE IP Prof. Don Bouldin, Ph.D. Electrical & Computer Engineering University of Tennessee Knoxville, TN 37996-2100 dbouldin@tennessee.edu IEEE Boston 14 November 2007 http://vlsi1.engr.utk.edu/~bouldin/boston 11 OUTLINE OF THIS PRESENTATION • Design Productivity • Intellectual Property Blocks • Reuse Requirements • The Changing Design Environment • Acquiring IP Blocks • Quality IP Metrics • Collaborative Design 22 ELECTRONIC PRODUCTS ARE PERVASIVE AND ALWAYS IMPROVING Moore’s Moore’s Law: Law: Every Every 18 18 months months integrated integrated circuit circuit manufacturing manufacturing can can produce produce 2X performance for the same price or the same performance for half 2X performance for the same price or the same performance for half the the price. price. Price Price $1000--1X $1000--1X $1000--2X $1000--2X $500--1X $500--1X Performance Performance 33 A DESIGN PRODUCTIVITY CRISIS WAS PREDICTED A DECADE AGO 10,000,000 100,000,000 Logic Tr./Chip Tr./S.M. 1,000,000 100,000 10,000,000 1,000,000 58%/Yr. Compounded Complexity growth rate 10,000 100,000 10,000 1,000 100 xx 21%/Yr. Compounded Productivity growth rate x 1,000 100 10 2009 2007 2005 2003 2001 1999 1997 1995 1993 1991 1989 1987 1985 1983 1981 1 x x __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 10 xx Productivity Trans./Staff-Mo. Logic Transistors per Chip (K) The Impending Design Productivity Crisis Source: SEMATECH Maya Rubeiz USAF Wright Labs maya.rubeiz@sn.wpafb.af.mil http://rassp.scra.org 1997 44 DESIGN PRODUCTIVITY HAS PROGRESSED RECENTLY • 1947 • 3 Nobel Laureates • 1 Transistor • 2007 • 3 ECE Students • 4M Transistors Progress has been enabled by raising the level of abstraction and reusing previous sub-systems or blocks. 55 66 WE BUILD SKYSCRAPERS USING STANDARDIZED BLOCKS So, let’s use standardized blocks to build systems Sears Sears Tower, Tower, Chicago Chicago www.lego.com www.lego.com 77 INTELLECTUAL PROPERTY BLOCKS Design #1 without Planned Reuse Design #2 without Planned Reuse 1.8 1.5 Design # 1 For Reuse Design #2 WITH IP IP blocks should have well-defined interfaces Design #3 without Planned Reuse 2.1 Design #3 WITH IP Often, IP are more like patches that must be stitched together like a quilt 88 IP IS CREATED USING A HARDWARE DESCRIPTION LANGUAGE OR HDL CASE y IS WHEN A => IF w = '0' THEN y <= A ; ELSE y <= B ; END IF ; WHEN B => IF w = '0' THEN y <= A ; ELSE y <= C ; END IF ; WHEN C => IF w = '0' THEN y <= A ; ELSE y <= C ; END IF ; END CASE ; 99 AN HDL DESIGN CAN BE TARGETED TO MULTIPLE LAYOUTS architecture behavior of control is if left_paddle then n_state <= hit_state elsif n_state <= miss_state end if; SYNTHESIS SCHEMATIC--A TECH A AND AND LIBRARIES SYNPLIFY_PRO SYNPLIFY_PRO HDL OR TECH A TECH B SCHEMATIC--B OR AND OR ALTERA PLACE & ROUTE XILINX PLACE & ROUTE PHYSICAL LAYOUT PHYSICAL LAYOUT TECH B 10 10 REQUIREMENTS FOR REUSABLE IP • BASICS: – HDL Models – Functional Description – Application Intent – Interface Specifications – Authors and Owners – Size, Delay, Power Estimates – Packaging Info • ALSO NEED: – Test Bench (Input Stimuli/Output Responses – Tools and Versions Used/Needed – Foundry Used For Fab – Size, Delay, Power Measurements – Testability Features (BIST, JTAG, SCAN) 11 11 THE DESIGN METHOD HAS CHANGED CUSTOMER Requirements UNCHANGED UNCHANGED DESIGNER Specifications OLD OLD METHOD METHOD NEW NEW METHOD METHOD 1. Select ICs 1. Select PCB with ICs 2. Design/Fab PCB 2. Select blocks for new IC 3. Design blocks for new IC 3. Design missing blocks 4. Integrate blocks 4. Integrate blocks 5. System Integration 5. System Integration 12 12 IP CAN ATTRACT BUSINESS AND REDUCE RISK AND TIME-TO-MARKET CUSTOMER IP Design Center IP Foundry ASIC/FPGA 13 13 AN OPEN COMPETITIVE MARKET EXISTS CUSTOMER PORTABLE IP (Multiple Suppliers) REPOSITORY Standards: www.design-reuse.com www.vsia.org www.ieee.org Foundry Foundry Foundry ASIC/FPGA 14 14 FREE OPEN-SOURCE CORES • LEON is an open-source 32-bit SPARC V8 CPU that was developed by the European Space Agency and is available for free at www.gaisler.com •• Other Other cores cores at at www.opencores.org www.opencores.org –USB –USB 2.0 2.0 –Ethernet –Ethernet MAC MAC –DES/AES –DES/AES Encryption Encryption –FIR/IIR –FIR/IIR Filters Filters –Floating –Floating Point Point Unit Unit 15 15 QUALITY INTELLECTUAL PROPERTY • The VSI (Virtual Socket Interface) Alliance (VSIA) is an open, international organization that includes representatives from all segments of the SoC industry: System houses, Semiconductor vendors, Electronic Design Automation (EDA) companies, and Intellectual Property (IP) providers. VSIA's mission is to dramatically enhance the productivity of the SoC design community. • Quality Intellectual Property (QIP) Metric v3.0 is available for free from the VSIA website: www.vsia.org 16 16 QIP METRICS 17 17 DEVELOPING QUALITY IP • Requirements should be mapped into an executable specification which produces the desired golden reference responses. • HDL and FPGA responses must match the golden responses identically. STIMULI MATLAB or C (fixed point) RESPONSES (golden ref.) HDL SOURCE CODE RESPONSES (simulation) FPGA RESPONSES (system) 18 18 THE TESTBENCH CONTAINS THE STIMULI, RESPONSES AND UUT • Functional stimuli are developed by the designer to mimic the system environment. • The tester is written in HDL but is not synthesized into the FPGA. Testbench Testbench (Tester (Tester + + HDL HDL Source Source Code) Code) Tester Tester STIMULI (manual) HDL SOURCE CODE RESPONSES 19 19 RAPID VERIFICATION SAVES TIME • Minimizing time-to-market encourages designers to develop only a few tests for simulation and then proceed to testing the design inside the FPGA in its real-world environment. The FPGA executes tests 500x faster than the simulator and the real-world system environment produces the tests automatically. Tester Tester STIMULI (manual) HDL SOURCE CODE RESPONSES SIMULATION REAL-WORLD SYSTEM ENVIRONMENT STIMULI (auto) FPGA RESPONSES (actual) 20 20 CONTROLLABILITY AND OBSERVABILITY AID DEBUGGING • When errors are encountered on the FPGA board where tests are limited to the primary inputs and primary outputs, the designer can return to simulation where complete controllability and observability of all of the internal nodes are available for debugging. Primary Inputs Logic Primary Inputs Gate Logic Gate Primary Outputs Logic Primary Gate Output Internal Nodes 21 21 POLISHING FOR REUSE • Once the HDL source code has been verified in the FPGA, the design can be polished for reuse. • This involves documenting the HDL and providing test access mechanisms for reuse as an embedded core per IEEE 1500: http://grouper.ieee.org/groups/1500 • Also, the tester code should be enhanced with assertion-based tests to achieve the desired HDL code coverage. • Constrained, random-generated tests can be produced automatically for large HDL cores. 22 22 COVERAGE-DRIVEN TESTS The simulator can produce coverage reports and identify missed statements in the code. 23 23 ASSERTION-BASED VERIFICATION The The tester tester code code should should include include stimuli stimuli and and responses. responses. “Failure” stops simulation while “warning” does not. “Note” is used to document a correct response. wait_clock(16); wait_clock(16); IF IF (left_seg (left_seg = = X"6") X"6") --- check check second second state state of of 7-segment 7-segment display display THEN THEN ASSERT ASSERT false false REPORT REPORT "Output "Output signals signals set set correctly correctly (7-segment (7-segment second second state)" state)" SEVERITY SEVERITY note; note; ELSE ELSE ASSERT ASSERT false false REPORT REPORT "Output "Output not not set set correctly correctly (7-segment (7-segment second second state)" state)" SEVERITY SEVERITY warning; warning; END END IF; IF; 24 24 BUILT-IN SELF-TEST CODE • The HDL source code can be augmented with Built-In Self-Test (BIST) code. • BIST code can verify that the I/O and other likely failure modes are working properly or not. • BIST code can also include functional test cases to assure proper operation before execution or during “idle” times. 25 25 GRAPHICAL TOOLS CAN REUSE AND CREATE IP BLOCKS • Library cells (basic IP blocks) are integrated into a larger block that itself can be reused. 26 26 ACQUIRING IP • STAR IP: Blocks requiring 100+ staff years to design (like ARM, MIPS ) have become bestsellers and come with lots of support. • Small IP: Blocks requiring 1-2 staff years to design are priced at 1/3 of the development cost. Buyers are skeptical about the value and often prefer to do these in-house. • Medium IP: Blocks requiring 5-10 staff years are profitable for both seller and buyer. However, some suppliers have been bought by foundries to add to the foundries’ captive portfolios. 27 27 ONCE UPON A TIME Pastor Snowy Road Church County Road Dept. 28 28 THE GLOBAL ECONOMY The Earth is NOT ……. Flat Boston or Bangalore or Knoxville Actually, we live on a small planet. 29 29 COLLABORATIVE DESIGN Designer#1 Designer#3 Designer#2 Designer#4 Collaborative Design of a System-on-Chip http://www.cs.wright.edu/~tkprasad/courses/soc.html 30 30 DESIGN-FOR-REUSE and DESIGN-WITH-REUSE TEAM APPLICATION REQUIREMENTS PROJECT DESIGN FOR HDL HDL HDL HDL FPGA FPGA FPGA FPGA REUSE VERIFICATION DESIGN WITH REUSE SoC SYSTEM INTEGRATION 31 31 SUMMARY AND CONCLUSIONS • Design Productivity • Intellectual Property Blocks • Reuse Requirements • The Changing Design Environment • Acquiring IP Blocks • Quality IP Metrics • Collaborative Design 32 32