Automatic Interface Synthesis based on the Classification of - - PowerPoint PPT Presentation

automatic interface synthesis based on the classification
SMART_READER_LITE
LIVE PREVIEW

Automatic Interface Synthesis based on the Classification of - - PowerPoint PPT Presentation

Automatic Interface Synthesis based on the Classification of Interface Protocols of IPs ChangRyul Yun 1 , DongSu Kang 2 , YoungHwan Bae 3 , HanJin Cho 3 , KyoungSon Jhang 2 1 Agency for Defense Development, KOREA 2 Dept. of Computer Engineering,


slide-1
SLIDE 1

Automatic Interface Synthesis based

  • n the Classification of Interface

Protocols of IPs

ChangRyul Yun1, DongSu Kang2, YoungHwan Bae3, HanJin Cho3, KyoungSon Jhang2

1Agency for Defense Development, KOREA

  • 2Dept. of Computer Engineering, ChungNam National University, KOREA

3Multimedia SoC Design Team, ETRI, KOREA

slide-2
SLIDE 2

2

Outline

  • Introduction & Motivation

– Interface circuit structures

  • Proposed Interface Synthesis Method

– Interface Synthesis Flow – SIMPLE (Simplified Interface Protocol Description Language) – Classification of Interface Protocols of IPs – The Structures of interface Circuits – Interface Synthesis Algorithm

  • Experiments
  • Conclusion
slide-3
SLIDE 3

3

Introduction

  • IP-based Design Methodology in SoC

– A methodology to respond to the demands of high performance, complex functionality, short time-to- market – One of key issues: The difficulty of IPs integration

  • IPs use various interface protocols

– Interface circuits between IPs are necessary.

  • Interface circuits

– Time-consuming and error-prone task – Automatic interface circuit generation method is necessary.

slide-4
SLIDE 4

4

Introduction

  • Automatic Interface Synthesis Flow based on

interface FSMs

IP

(Master)

IP

(Slave)

Interface circuits

Protocol Specification Protocol Specification Protocol Specification Protocol Specification Interface FSM Interface FSM Interface FSM Interface FSM The Subset

  • f Product

FSM The Subset

  • f Product

FSM Matching Information

slide-5
SLIDE 5

5

Motivation

IP

(Master)

IP

(Slave)

Interface circuits

Protocol Specification Protocol Specification Protocol Specification Protocol Specification Interface FSM Interface FSM Interface FSM Interface FSM The Subset

  • f Product

FSM The Subset

  • f Product

FSM

A synthesis algorithm should consider various characteristics

  • n generation of interface

circuits. Flexible and highly appropriate structure depending on IP characteristics and system level requirements. Easy and efficient interface protocol description method

  • f IPs.

Matching Information

User constraints

slide-6
SLIDE 6

6

Motivation

  • The various characteristics of interface protocols
  • f IPs

– Address and data transfer characteristics

  • The number of addresses on burst
  • Shared signal or different signals for an address and data

– No Address – Different clock frequencies – Different data widths

  • These differences should be considered on an

interface synthesis algorithm.

slide-7
SLIDE 7

7

Product FSM Based Structure

  • Product FSM based interface circuits

– Consist of a product FSM and buffers – Allow the transfer of data without any clock cycle delay.

Protocol 1 FSM 1 Interface Protocol 2 FSM 2 Product FSM Buffer The interface circuit structure based on a product FSM[3]

[3] Vijay D’silva, S. Ramesh and Arcot Sowmya, “Bridge Over Troubled Wrappers: Automated Interface Synthesis,” Proceedings of the 17th Int ernational Conference on VLSI Design 2004 Page(s):189 – 194

slide-8
SLIDE 8

8

FSMD Based Structure

  • FSMD(FSM+Data Path) based interface circuits

– Consist of two FSMDs and buffers(Queue) – Every data transfer has at least two clock cycle.

IP IP FSMD FSMD QUEUE QUEUE

The interface circuit structure based on a product FSM[6]

[6] Dongwan Shin and Daniel Gajski, “Interface Synthesis from Protocol Specification,” Technical Report (CECS-02-13), April 12 2002, Center for Embedded Computer Systems University of California, Irvine

slide-9
SLIDE 9

9

IPC Based Structure

  • IPC (Interface Protocol Component) [10]

– Protocol Convert

  • From transaction level to cycle level vice versa.

– No internal buffers

CORE

Master IPC

CORE

Transaction code Transaction arguments Interface ports with IP Interface ports with IP

Slave IPC

Transaction code Transaction arguments

Execute transaction by transaction code Recognize transaction by signals

[10] ChangRyul Yun, KyoungSon Jhang, “An Interface Protocol Component Modeling Language,” Proceedings of the 15th ASIC/SOC Conference, Sept. 2002, Page(s): 456-460

slide-10
SLIDE 10

10

Proposed Interface Synthesis Flow

Protocol Description (Master) Protocol Description (Master) Protocol Description (Slave) Protocol Description (Slave)

Parsing & Build interface FSMs

Interface FSM (Master) Interface FSM (Master) Interface FSM (Slave) Interface FSM (Slave)

Protocol Analysis Protocol Analysis Type I

Interface Circuits

Type I

Interface Circuits Matching Information Matching Information

Build a Product FSM Build a Product FSM Build IPCs Build IPCs Type II

Interface Circuits

Type II

Interface Circuits

  • Classify Interface Protocols
  • Select a synthesis algorithm for interface structure

depending on analysis results or user constraints

slide-11
SLIDE 11

11

Interface FSM

  • Protocol Description Methods

– Waveform or timing diagram – Formal language

  • SIMPLE (Proposed Description Method)

– Simplified Interface Protocol Description Language[10] – Interface Protocol: Transfers + Parameters

  • Transfer: the behavior of ports on a cycle
  • Parameter

– Address, data, transaction information and etc. – Used to match the different feature of IPs

[7] ChangRyul Yun, YoungHwan Bae, HanJin Cho, KyoungSon Jhang, “Automatic Synthesis of Interface Circuits from Simplified IP Interface Protocols,” Proceedings of the Eleventh Asia-Pacific Computer Systems Architecture Conference (ACSAC 2006), September 6-8th, Page(s):581-587

slide-12
SLIDE 12

12

Interface FSM

  • SIMPLE

Define $new_transaction, $write; /* ⑤, ⑥ */ Interface AHB_Master { in bit HREADY; /* Ports List */ : initial A; /* ① Initial State */ AMBA_MASTER: behavior { int count; // User Defined Variable A: if ( $new_transaction == 1 ) /* ⑤ */ { HTRANS = "10"; // NONSEQ HADDR = $address; /* ④ */ HBURST = $transaction; /* ② */ count = $transaction_length; /* ③ */ if ($write == '1') /* ⑥ */ { HWRITE = '1'; if ( HREADY == '1') goto B; : } else goto A; }

  • Reserved Parameter

②: transaction type ③: transaction length ④: address

  • User Defined Parameter

⑤, ⑥

AHB Master interface Protocol

A part of the description

slide-13
SLIDE 13

13

A B C

htrans!”10”, hwrite!‘1’, hready?‘1’, hburst!$transaction, haddr!$address count!$transaction_length

hready?‘0’ hready?’0’

htrans!”10”, hwrite!‘0’, hready?‘1’, hburst!$transaction, haddr!$address count!$transaciton_length htrans!”11”, hready?‘1’ haddr!$address, hrdata?$rdata count!count-1 htrans!”10”, hwrite!‘0’, hready?‘1’, hwdata!$wdata, haddr!$address, hburst!$transaction count!$transaction_length htrans!”10”, hwrite!‘1’, hready?‘1’, hrdata?$rdata haddr!$address, hburst!$transaction count!$transaction_length hready?‘1’ hrdata?$rdata count?0

τ

hready?‘1’ hwdata!$wdata count?0

Interface FSM

slide-14
SLIDE 14

14

The categorization of Interface protocols

  • Address & data Transfer Characteristics

DES, AES, Color converter, etc No address C PCI, PCI-X, etc. Shared one port for addresses, write data, and read data B AHB, OCN, VCI, OCP,PLB, etc. Separated ports for addresses, write data, and read data A Examples Feature Category

slide-15
SLIDE 15

15

Selection of Interface Circuit Structure

  • Type I

Product FSM-Based Structure

  • Type II

IPC-Based Structure

Use different Clock? TYPE II-1 TYPE II-2

YES NO

TYPE I-1

YES NO

A:A

NO

Use different data width?

Use different data width?

A:B B:A A:C B:B B:C

TYPE I-2 TYPE II-4 TYPE I-1 TYPE II-4 TYPE II-3

Interface FSM 1 Matching Information

Protocol Analysis

Interface FSM 2

YES

A pair of Protocol Category

slide-16
SLIDE 16

16

Type I

  • Type I – 1
  • Type I – 2

Master Master Slave Slave

Address Read Data Write Data Address Read Data Write Data

Buffer Buffer

Product FSM

Buffer Control signals Control signals

− For a pair of Category A IP − A buffer can be employed for each port pair. − Data can be stored or bypassed to reduce transmission delay. −For a pair of Category A : Category B −Generate or ignore addresses

Slave Slave Master Master

Address Read Data Write Data AD

Buffer Buffer

Product FSM

Buffer Control signals Control signals

slide-17
SLIDE 17

17

Type I - 1

  • Matching Information for a pair of PCI(M):AHB(S)

[Clock Ratio] 1 : 1 //// Master IP, Slave IP //// Buffer Size, Signal (master), MSB, LSB, //// Signal (slave), MSB, LSB, $address or $wdata or $rdata [Port Pair] 1 , FA , 31 , 0 , haddr , 31 , 0 , $address; [Port Pair] 1 , FD , 31 , 0 , hwdata , 31 , 0 , $wdata; // Burst Transaction Length, Signal(master), MSB, LSB, // Values, Signal(slave), MSB, LSB, Values [TM] 1 , FS , 3 , 2 , "00" , HBURST , 2 , 0 , "000"; [TM] 4 , FS , 3 , 2 , "01" , HBURST , 2 , 0 , "011"; [TM] 16 , FS , 3 , 2 , "11" , HBURST , 2 , 0 , "111";

slide-18
SLIDE 18

18

Type - II

  • IPC Based Structure

Slave IPC Master IPC

Write buffer Read buffer Load Empty Request Empty Full Request Load Full Address Buffer Load Empty Request Full

address Write data Read data

Control signals Control signals

address Write data Read data

Master IP Slave IP

slide-19
SLIDE 19

19

Type - II

  • Type II - 4

0x08 0x0C 0x2C IPC

(DES) Decoder

AHB DES

IPC

(AHB M) Control signals

HADDR HWDDR HRDDR Key Plain Cipher

0x00 0x04 0x28

32 32 32 64 64 64 32 32 32 32 32 busy done start enc_dec

0x14 0x10

Buffer Address

slide-20
SLIDE 20

20

Type II - 3

  • Matching Information for a pair of AHB(M):DES(S)

– Graphical User Interface (GUI) or a script file can be used to construct the matching description. // Buffer Size, Master Port Name, MSB, LSB, Slave Port Name, MSB, LSB, // Address Port, MSB, LSB, address value, $Data or $Control ; [Port Mapping] 1, HWDATA, 31, 0, KEY, 63, 32, HADDR, 7, 0, 0x00, $Data; [Port Mapping] 1, HWDATA, 31, 0, KEY, 31, 0, HADDR, 7, 0, 0x04, $Data; [Port Mapping] 1, HWDATA, 31, 0, Plain, 63, 32, HADDR, 7, 0, 0x08, $Data; [Port Mapping] 1, HWDATA, 31, 0, Plain, 31, 0, HADDR, 7, 0, 0x0C, $Data; [Port Mapping] 1, HWDATA, 31, 0, Cipher, 63, 32, HADDR, 7, 0, 0x28, $Data; [Port Mapping] 1, HWDATA, 31, 0, Cipher, 31, 0, HADDR, 7, 0, 0x2C, $Data; [Port Mapping] 1, HWDATA, 0, 0, START, 0, 0, HADDR, 7, 0, 0x14, $Control; [Port Mapping] 1, HWDATA, 0, 0, enc_dec, 0, 0, HADDR, 7, 0, 0x14, $Control;

slide-21
SLIDE 21

21

Experiments

  • The comparison between manual and automatic design

0.9 1.1 197 225 145 134 AHB:DES II-4 1.0 1.3 204 204 316 237 AHB:PVCI (12.5Mhz, 32bit: 50Mhz, 8bit) II–3 0.9 1.3 208 225 316 244 AHB:PVCI (50Mhz, 32bit: 50Mhz, 8bit) II–2 0.9 1.1 191 214 356 310 AHB:PVCI (50Mhz, 32bit: 12.5Mhz, 32bit) II–1 0.6 2.6 144 258 212 82 PCI:AHB 0.9 1.4 238 315 72 50 AHB:PCI I–2 0.9 1.8 249 268 121 66 AHB:APB 0.6 1.4 356 580 61 44 BVCI:AHB 0.5 3.3 105 197 374 112 OCN:AHB 0.8 1.8 181 234 103 57 AHB:OCN I–1 fmax Area A M A M A / M fmax Area (Slices) Master : Slave Type

slide-22
SLIDE 22

22

Experiments

  • Compare product FSM-based with IPC-based Structure

1.0 0.9 10 5 212 267 19 6 8 5 204 252 39 10 AHB:PVCI 0.9 1.2 10 4 217 205 21 7 8 4 201 249 42 10 BVCI:AHB 1.0 1.2 10 5 228 276 20 6 8 5 219 324 48 18 AHB:BVCI 0.9 1.5 14 4 121 256 35 6 12 4 105 374 89 12 OCN:AHB 0.9 1.2 14 5 198 174 34 6 12 5 181 203 53 9 AHB:OCN fmax Area R W fmax Area # T # S R W fmax Area # T # S Type I / Type II Type II (IPC Based) Type I (Product FSM Based) Master : Slave

slide-23
SLIDE 23

23

Experiments

  • The comparison with previous work[3]

8 6 32 17 1:3 1:1 OCP:PLB 8 6 15 12 1:1 1:2 AHB:PLB 20 9 18 8 1:1 1:1 OCP:AHB 12 6 12 7 1:1 1:1 AHB:PLB # T # S # T # S Our Method Previous Method Data Width Clocks Master:Slave

#S : The number of States, #T : The number of transitions

[3] Vijay D’silva, S. Ramesh and Arcot Sowmya, “Bridge Over Troubled Wrappers: Automated Interface Synthesis,” Proceedings of the 17th Int ernational Conference on VLSI Design 2004 Page(s):189 – 194

slide-24
SLIDE 24

24

Conclusion

  • Automatic Interface Synthesis based on protocol

categorization

– Chose an appropriate structure of interface circuits based on

  • Interface protocol category
  • Clock frequency
  • Data width
  • System level requirements (by user constraints)

– Protocol Classification

  • Our Synthesis algorithm selects an interface circuit structure

depending on the classification of interface protocols

slide-25
SLIDE 25

25

Conclusion

  • Product FSM-based structure

– Less data transmission latency – Somewhat larger area and slower maximum

  • perating frequency
  • IPC-based structure

– Less states and transitions than product FSM-based in case that IPs use different frequencies and/or data widths.

  • The Performance

– Comparable with performance of the manual designs

slide-26
SLIDE 26

Thank You!