120 likes | 422 Views
IP-XACT representation of OCP. IP-XACT User Group, IP-08 December 3-4, 2008 Presenter : Stephane Guntz (Magillem Design Services) Christophe Amerijckx (STMicroelectronics) Pascal Chauvet /Kamil Synek (Sonics) Prashant Karandikar (Texas Instruments) Vesa Lahtinen (Nokia) Mark Noll (Synopsys).
E N D
IP-XACT representation of OCP IP-XACT User Group, IP-08December 3-4, 2008Presenter : Stephane Guntz (Magillem Design Services) Christophe Amerijckx (STMicroelectronics) Pascal Chauvet /Kamil Synek (Sonics) Prashant Karandikar (Texas Instruments) Vesa Lahtinen (Nokia) Mark Noll (Synopsys)
Outline • OCP Metadata Working Group (MDWG) Outline • OCP and IP-XACT • OCP Specification: interface parameters and constraints • OCP Vendor Extensions • Examples • Conclusions
Background • OCP-IP is defining a highly configurable IP block interface in the Open Core Protocol (OCP) Specification (current version 2.2) • OCP-IP has its own “metadata” description in an ascii-format (called rtl.conf) • OCP has been very interested in the work done by the Spirit consortium in this area for several years • In the beginning of 2008, OCP-IP started its own metadata working group (MDWG) • The goal of the MDWG is to develop an IP-XACT description of OCP that will replace the current rtl.conf one
OCP-IP Specification: parameters • The OCP-IP Specification defines, for each OCP-IP interface, a certain number of parameters (Table 13 on page 30): • Specifying the presence of a signal • Specifying the width of a signal
OCP-IP Specification: constraints • The OCP-IP Specification also defines a certain number of constraints between parameters checking the OCP compliancy (Chapter 15 on page 263). • Examples: • 2.1.2: byteen can only be enable if sdata or mdata is also enabled • 2.1.5: byteen is only supported when data_wdth is a multiple of 8 • 2.1.23: The burstlength_wdth must be 0 if burstlength is disabled and must be greater than 1 if burstlength is enabled • …
Packaging an IP interface in IP-XACT 1.4 Bus provider IP provider Bus definition: high level definition of the bus or interconnect IP interface(s) component • Defined by a bus type • Defined by an abstraction level • interface lists all physical ports which are present on this interface Abstraction definition: low level definition of the bus or interconnect (list of the logical ports for this bus, with allowed direction and width)
Packaging an OCP interface in IP-XACT 1.4 OCP-IP consortium OCP IP OCP Bus definition OCP interface(s) • OCP RTL abstraction level: • Clk • EnableClk • MAddr • MCmd • … component • OCP bus type • RTL abstraction level • ports present on this interface (mdata, maddress, mdmd, byteen_sig…) • OCP parameters • Missing: • OCP parameters • Constraints between OCP parameters • Constraints between logical ports and OCP parameters
OCP extensions to IP-XACT 1.4 • In OCP bus definition: • List of OCP parameters with description, type, default value (example: enableclk, addr, mdata, datahandshake…) • Parameter constraints (example: byteen parameter can only be set to true if data_wdth parameter is a multiple of 8) • In OCP RTL abstraction definition: • Constraints between a logical port and the OCP parameter values on this interface (example: MData logical port must only be defined on an OCP interface if mdata parameter is set to true) • Constraints on the width of the logical port (example: if present, MData logical port width must be equal to data_wdth parameter value)
Conclusion • OCP-IP MDWG defined vendor extensions inside the IP-XACT bus and abstraction definitions in order to capture the OCP Specification • We are currently showing that it can be used automatically by tools (using the XSLT checker generator) • Extensions will be validated then proposed to Spirit • Future plans of MDWG: SystemC support, OCP 3.0 port, legacy support for rtl.conf…