Ric lab intro EDA 111607 -...

22
設計驗證工作室 Design Verification Team 黃鐘揚 教授 Prof. Chung-Yang (Ric) Huang Department of Electrical Engineering National Taiwan University 2007/11/16

Transcript of Ric lab intro EDA 111607 -...

Design Verification Team

Prof. Chung-Yang (Ric) HuangDepartment of Electrical Engineering

National Taiwan University2007/11/16

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 2

Lab ProfileFounded 2004.02Lab info

Office: EE-II 444Lab: BL 627 ( EE 353)PTT: NTUGIEE_ricWebsite: http://dvlab.ee.ntu.edu.tw/To find me

[email protected] @ ptt, ptt2, msn, skype, ...02-3366-3644

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 3

3 Major Research Directions1. SoC design methodology and verification

SoC (SpringSoft) (1) ()Other cooperation: (ITRI)

2. Formal-assisted design optimization and debugging (SpringSoft) (2) () (AUO)

3. Next generation constraint satisfiability and optimization engine

(Cadence) (expected starting Q4 2007) ()Other cooperation:

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 4

(1) SoC Design Methodology and Verification

Think ---What is System-on-Chip (SoC)?What is a system?

Processor

cache

DSP

DMA ROM RAM

HW

RTOSFirmware Driver

AP1 AP1 AP1 AP1

wii, ps-3, IPTV, video phone etc

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 5

Design Component Paradigm Shifts

Transistors

1970s

1980s

Logic gates

always @ (posedge ck)count

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 6

Virtual (HW) Platform

Processor

cache

DSP

DMA ROM RAM

HW

RTOS

Firmware Driver

AP1 AP1 AP1 AP1

Host machine (real computer)

C++/SystemC-based virtual platform including HW (processors, IPs, mem, I/Os) +

RTOS, firmware/drivers, system libraries

Applicationprograms

Test / Analysis / debuggingprograms

More HW IPs

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 7

QuteVP: our virtual platform

Processor

RAM ROM

DMA

Inputmodule

user-definedInstruction

ROM

TML bus modelARBITER

Ethernet

DCT

Slavedevice

Full functional ARM V5T (ARM11 + DSP)

with extended instructions

Dual-port DMA

Virtual socket

Experiments: JPEG encoding IDCT SW Network data transfer

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 8

QuteVP: Design Performance Analysis

JPEGJPEG--EncodeEncode JPEGJPEG--EncodeEncodeRGERGE--YCrCbYCrCb RGERGE--YCrCbYCrCb

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 9

Our SoC Design/EDA Research

QuteVPVirtual

Platform

Multimedia over IP SoC

MoIP/NSoC w/ Prof. AY Wu, Prof. SY Chien, Prof. Polly Huang, etc

SoCComplete

SoC-Complete/NSoC w/ Prof. C Shih, Prof. CL yang

QuteCCESL DB

SpringSoft Projecta complete

SystemC front-end HW/SW Co-Sim, Co-Verification, Co-Optimization

High-Level Formal Engine

MoIP/NSoC w/ Prof. AY Wu, Prof. SY Chien, Prof. Polly Huang, etc

Academia Sinicaw/ Prof. BY Wang

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 10

(2) Formal-Assisted Design Debugging and Optimization

1. Designing circuit is now like writing programs2. Every program has bugs3. The more complex the design is, the more

bugs there will be and the more difficult it is to find the bug

4. The complexity of modern designs grows exponentially

The effort to find and fix bugs is increasing tremendously

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 11

Is it really so difficult?Yes, the design is too complexCan you fix the real causes of the bug?

Not really, if we can READ designer mind and systematically verify the implementationArtificial Intelligence (AI)??What human can do, the computer can do it

million times faster

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 12

Key Techniques1. Design Intent Extraction (read designers mind)

Extract FSM, counter, etc from RTL Verilog

2. Powerful constraint satisfiability solver

3 assign arb_next_state[4:0] = arbiter(arb_state[4:0], ..);

4 ff_sre_4 arb_state_reg (.out(arb_state[4:1]),

5 .din(arb_next_state[4:1]), .clk(clk),

6 .reset_l(reset_l), .enable(1'b1));

8 ff_s arb_state_reg_0 (.out(arb_state[0]),

9 .din(~reset_l|arb_next_state[0]), .clk(clk));

11 function [4:0] arbiter; input [4:0] cur_state; reg [4:0] next_state;

14 parameter IDLE = 5'b00001, REQ_ACTIVE = 5'b00010,

15 FILL3 = 5'b00100, FILL2 = 5'b01000, FILL1 = 5'b10000;

16 begin case (cur_state)

18 IDLE: if (pj_tv) next_state = REQ_ACTIVE;

20 else next_state = cur_state;

22 REQ_ACTIVE: ... FILL3: ... FILL2: ... FILL1: ...

26 default: next_state = 5'bx;

27 endcase

28 arbiter[4:0] = next_state[4:0];

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 13

FSM/Counter Extraction Tool

Quick Link IconClick to re-open

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 14

FSM/Counter Extraction Tool

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 15

Formal-Assisted Design Debugging and Optimization Roadmap

RTL Verilogparser

Formal engines

Berkeley ABC

Hierarchical DB

RAR engine

Flatten DB

louis

STA engine

Real designs

BI engine

Technology-Dependent Logic

Optimization

Intelligent Debugging

Low Cost ECO

FSM/Counter Extractor

Physical design

Release !!kevinlads

lun / probex

qshi

rocky

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 16

(3) Next generation constraint satisfiability and optimization engine

Most of the problems in EDA are NP-complete or NP-hardTraditional approach

Our approach

Greedy-based heuristics

Stuck @ local optimal

Perturbation(e.g. SA, GA)

Formal modeling of the problem

CSOP engines + various learning

Perturbation(e.g. SA, GA)

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 17

Formal ModelingTransform designs and problems in mathematic or logic form

Boolean logic (&, |, !...)Arithmetic operators (+, -, *, /)Axioms

Solve it or prove it !!SATBDDILPSMTTheorem prover

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 18

Weekly Study Groups1. Formal engine

Problem modelingSAT, Pseudo Boolean, ILP, LP, CSP,... etc

How to create an EDA-specific formal enginehttp://140.112.42.185/~thlin/engine-study-group-index.htm

2. Front-end verificationDesign analysis, validation, debugging, Formal-driven synthesis & optimization

How to intelligently utilize formal engineshttp://140.112.42.185/~louius/fe-study-group-index.htm

3. SoC / ESL designHW/SW co-design, co-verificationSystem-level design methodologies

Future design and verification paradigmhttp://140.112.42.185/~sam/esl-study-group-index.htm

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 19

Related courses for my researches

(Ric, 2008 Spring) (Prof. Yao-Wen Chang)EDA

(Ric, 2008 Spring) (Prof. Jie-Hong Jiang)

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 20

Will you be one of us?

If you...

!!...

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 21

Title-------------------------------0 2004.02 1 2004.02 32 2004.05 33 2004.05 4 2004.05 5 2004.06 6 2004.06 7 2004.09 --8 2004.12 9 2004.12 10 2004.12 11 2004.12 212 2005.04

13 2005.04 214 2005.06 315 2005.06 316 2005.11 217 2005.11 118 2005.12 219 2005.12 220 2005.12 221 2006.04 222 2006.04 223 2006.11 124 2006.11 125 2006.11 126 2006.11 127 2006.11 128 2007.09 RA-------------------------------

: 7, : 11, : 2, : 4

11/16/07 Chung-Yang (Ric) Huang [email protected] +886-2-3366-3644 22

For more information...To find me

Office: EE-II [email protected] @ ptt, ptt2, msn, skype, ...02-3366-3644

Lab:BL 627 ( EE 353)PTT: NTUGIEE_ricWebsite: http://dvlab.ee.ntu.edu.tw/