20.01.2013 Views

Design Team Emulation - SystemVerilog

Design Team Emulation - SystemVerilog

Design Team Emulation - SystemVerilog

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Axis Systems, Inc.<br />

<strong>SystemVerilog</strong> Methodology for<br />

Acceleration and <strong>Emulation</strong><br />

© 2003 Axis Systems, Inc. <strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


Outline<br />

�� Axis Overview<br />

�� Acceleration & <strong>Emulation</strong> with <strong>SystemVerilog</strong><br />

�� Summary<br />

© 2003 Axis Systems, Inc.<br />

2<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


Axis Business Focus<br />

Solve verification productivity crisis<br />

© 2003 Axis Systems, Inc.<br />

Deliver software and hardware<br />

verification solutions<br />

Target system and<br />

system-on<br />

system on-a-chip chip designers<br />

Leverage breakthrough innovation of<br />

ReConfigurable Computing technology<br />

3<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


Axis Breakthrough Technology<br />

ReConfigurable Computing (RCC) for<br />

High Performance Verification Platform<br />

© 2003 Axis Systems, Inc.<br />

programs<br />

data<br />

4<br />

PCI<br />

Patented RCC<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong> (DTE)<br />

Methodology<br />

Methodology<br />

�� Multiple Levels of<br />

Abstraction<br />

� Adv Behavioral Debugging<br />

© 2003 Axis Systems, Inc.<br />

5<br />

Benefits<br />

�� IP Model Reuse and<br />

Flexibility<br />

� Single Kernel Database � Fastest Bring Up - Time to<br />

Value<br />

� Easy to Use<br />

� Small Form Factor � Multi-team Access<br />

� HW/SW Co-Verification<br />

� Fast and Efficient<br />

Debugging<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


Axis Product Overview<br />

Software Solutions<br />

Hardware Platforms<br />

Productivity<br />

Verilog<br />

Xcite 1000<br />

1998 1999 2000 2001 2002<br />

© 2003 Axis Systems, Inc.<br />

3 rd<br />

3rd Party SW<br />

rd Party SW<br />

IP Builder<br />

Xcite 2000<br />

Xchange<br />

6<br />

Xtreme<br />

Xpert<br />

Mixed HDL<br />

Xtreme-II<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong><br />

RCC<br />

Model Compiler<br />

XoC<br />

2003


ReConfigurable Computing (RCC)<br />

<strong>Design</strong><br />

RTL<br />

•Always @(posedge clk)<br />

•begin<br />

•rw_bus = istate;<br />

•if (bus_active)<br />

Gate<br />

•Inv inv1 (b, a);<br />

•and and2(c, b, a);<br />

•dffp mydff(q, d, clk);<br />

Behavioral<br />

•Initial<br />

•begin<br />

•$monitor(….);<br />

•$my_pli(…);<br />

Assertion<br />

•assert assert<br />

•(•irq ( == 1’b0)<br />

© 2003 Axis Systems, Inc.<br />

•Sun Host<br />

•Workstation<br />

•RCC<br />

•Cluster<br />

•Interface<br />

7<br />

•RCC<br />

•Cluster<br />

•Millions of<br />

•Reconfigurable<br />

•Computing<br />

•Elements<br />

•Dynamic<br />

•Event<br />

•Signaling<br />

•RCC<br />

•Cluster<br />

•RCC<br />

•Cluster<br />

•RCC<br />

•Cluster<br />

•<strong>Emulation</strong><br />

•Memory<br />

Interface<br />

Core<br />

•SIMD Controller<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong><br />

•RCC<br />

•Cluster<br />

•RCC<br />

•Cluster<br />

•RCC<br />

•Cluster


Outline<br />

�� Axis Overview<br />

�� Acceleration & <strong>Emulation</strong> with <strong>SystemVerilog</strong><br />

�� Summary<br />

© 2003 Axis Systems, Inc.<br />

8<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


Next Generation Verification Flow<br />

Hardware<br />

© 2003 Axis Systems, Inc.<br />

System<br />

RTL reuse Expertise<br />

HW/SW partitioning +<br />

architecture definition<br />

Block level <strong>Design</strong> and<br />

Verification<br />

Subsystem integration<br />

Verification<br />

Physical design/tapeout<br />

Prototype<br />

In-system Full chip<br />

Verification<br />

9<br />

Software<br />

1) <strong>Design</strong> for Verification<br />

–assertion Dev C-based technology<br />

Platform<br />

Software development<br />

(driver, embedded)<br />

2) Testbench technology<br />

Application<br />

SW<br />

Development<br />

3) Assertions accelerated<br />

with Volume Axis tapeout<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


SVA Acceleration<br />

Testbench<br />

Monitor<br />

SV simulator<br />

Monitor<br />

RTL<br />

© 2003 Axis Systems, Inc.<br />

monitor<br />

Assertions<br />

• Simulation at hardware<br />

speed with Axis RCC<br />

• Assertions run at HW<br />

speed<br />

• Reporting handled by<br />

SW simulator<br />

10<br />

RTL<br />

RTL<br />

RTL<br />

RCC Compiler<br />

Testbench<br />

RTL<br />

RCC<br />

SV simulator<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong><br />

Acceleration/<br />

<strong>Emulation</strong><br />

System


Test Bench: HDL (Verilog & VHDL)<br />

�� Transparent kernel integration<br />

�� Direct behavioral mapping + RPC host I/O<br />

�� Target-less <strong>Emulation</strong><br />

© 2003 Axis Systems, Inc.<br />

RCC<br />

DUT<br />

11<br />

Host<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


Test Bench: Co-Sim (C, Vera, e, SV)<br />

�� Native support for PLI, VPI, VHPI and FLI.<br />

�� Multi-kernel sync overhead limits speed.<br />

RCC<br />

DUT<br />

© 2003 Axis Systems, Inc.<br />

CLK<br />

Host<br />

12<br />

TB<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


Test Bench: Transaction-based<br />

Co-Simulation<br />

�� Transactors in RCC<br />

�� Better performance by fewer synchronization<br />

�� Limited by Co-Sim synchronization and data object conversion<br />

RCC<br />

© 2003 Axis Systems, Inc.<br />

DUT<br />

CLK<br />

Host<br />

13<br />

TB<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


<strong>SystemVerilog</strong> Opens<br />

Acceleration Market<br />

�� What has Changed:<br />

© 2003 Axis Systems, Inc.<br />

— Testbench and assertions are embedded within the<br />

design<br />

— Sets natural boundary for testbench parallelism<br />

— Clear interface definition between testbench and<br />

design<br />

14<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


Embedded Testbench Activates<br />

Inherent Parallelism<br />

TB<br />

© 2003 Axis Systems, Inc.<br />

Now<br />

DUT<br />

(Verilog/<br />

VHDL)<br />

15<br />

<strong>SystemVerilog</strong><br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


Direct Behavioral Modeling<br />

Logic-FPGA<br />

© 2003 Axis Systems, Inc.<br />

Event<br />

Processor<br />

Busy<br />

16<br />

Ctrl<br />

Event<br />

Eval<br />

Busy<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


<strong>SystemVerilog</strong> Accelerated on RCC<br />

Classes with methods<br />

and inheritance<br />

Interface protocol specification<br />

access control and interface methods<br />

Architecture<br />

configuration<br />

Dynamic<br />

generation of<br />

hardware<br />

Signed numbers<br />

Event handling<br />

4 state logic<br />

Assertions<br />

Protocol checkers<br />

temporal assertions<br />

Simple assertions<br />

VHDL multi-D Like<br />

arrays<br />

Constructs<br />

Automatic variables<br />

Basic datatypes<br />

(bit, int…)<br />

Hardware concurrency<br />

design entity modularization<br />

Advanced data structures<br />

Records, enums<br />

Basic programming<br />

(for, if, while,..)<br />

Verilog<br />

Gate level modelling and timing<br />

Switch level modeling and timing<br />

© 2003 Axis Systems, Inc.<br />

Associative arrays<br />

Sparse arrays<br />

Process<br />

spawning<br />

ASIC timing<br />

Testbench<br />

Coverage<br />

monitoring<br />

Constructs<br />

Assertion<br />

Processor<br />

RTL<br />

Processor<br />

RTL<br />

Processor<br />

17<br />

Polymorphic directed<br />

random generators<br />

Further programming<br />

(do while, break,<br />

continue<br />

Strings<br />

Packed structures<br />

Behavioral<br />

Processor<br />

Axis RCC<br />

Coverage & Assertion<br />

API<br />

Dynamic<br />

memory<br />

allocation<br />

C interface<br />

Behavioral<br />

Processor<br />

C Programming<br />

Void type<br />

Unions<br />

pointers<br />

Semaphores<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


Full <strong>SystemVerilog</strong> Acceleration<br />

and <strong>Emulation</strong><br />

RCC<br />

© 2003 Axis Systems, Inc.<br />

DUT<br />

18<br />

TB<br />

Simulator VCS<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>


Summary<br />

�� Integrated <strong>SystemVerilog</strong> solution for<br />

acceleration and emulation<br />

�� <strong>SystemVerilog</strong> changes simulation<br />

acceleration paradigm<br />

�� Axis’ RCC behavioral processors can<br />

directly accelerate and emulation<br />

<strong>SystemVerilog</strong> constructs<br />

© 2003 Axis Systems, Inc.<br />

19<br />

<strong>Design</strong> <strong>Team</strong> <strong>Emulation</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!