Churning the Most Out of IP-XACT for Superior Design Quality

advertisement
Churning the Most Out of IP-XACT
for Superior Design Quality
Ayon Dey
Lead Engineer, TI
Anshuman Nayak
Senior Product Director, Atrenta
Samantak Chakrabarti
Senior Manager, Atrenta
Samiullah Shaik
Applications Engineer, Atrenta
Introduction/Agenda
What IP Metadata is useful
• Power/voltage domain, clock,
resets, default values, port typesdft/interrupts/dma etc
How can this Metadata be extracted
• Directly from IP RTL
• While doing IP packaging by the
module designer
How is this metadata used
• SoC Integration: Intelligent Integration
• Integration quality checkers
• Generators (eg CPF from IPXACT)
2
SoC Integration Challenges
• Integrate SoC (IP>100) with
minimum design resources
Productivity
Challenge
SoC Integration
SoC integration is not limited
to just connecting IPs
• Reduce number of
IP bugs, verification
cycles
• Need to do it:
Correct by
construction
Complexity
Gordon Moore
• Higher integration
• Need to increase:
Reuse
• Power management
• Do it Quickly
• Numerous clock
domains
Time to Market
• Increase efficiency
by Enabling
Downstream flows
• Accelerate SoC development
cycle
• Quick Spins
3
Common Uses of IPXACT
Documentation
Software
• Implementation
Specifications
• Generation of System
memory map
• Header files
IPXACT
SoC Integration
• Generation of RTL netlists
Design/Integration Metadata
• Component/Component Instances
• Bus Interfaces/Interface connections
• Ports/AdHoc connections
• Design Configurations
• Filesets
• Registers
Verification
• Generate C tests
• Software header files
4
What IP Metadata is Useful
• A few examples of what can be added as metadata in IPXACT are
below
• Supported by IPXACT 1685
– Clock attribute (Mention the
port as clock and if it’s a clock
the frequency/pulse width
value)
– Default value
– Clock driver/signal
characteristics (related clock
pin for that port)
– Load/drive cell strength
specification
– Constraints attribute which
includes
• Not supported in standard
IPXACT
–
–
–
–
–
–
Power domain attribute
Voltage domain attribute
Reset attribute
DFT information
Interrupts
DMA
• Can be saved as IPXACT
vendor extensions
• Timing constraints
• Drive constraints
• Load constraints
5
How Do I extract Metadata into IP-XACT?
How do I use it?
Packaging
SpyGlass®
DataSheet
RTL
IP-XACT
Incremental
Packaging
Atrenta GenSys®
Clock constraints
(optional)
Rich IP-XACT storing packaged
RTL and other design property
Checkers
Error: Clock pin connected to
non-clock pin!
Error: Reset pin connected to
non-reset pin!
Generators
Module IP1 Pin “clk”
connected to Module CLK_IP
Pin “clk_25_mhz”. Connection
done by matching frequency
6
Examples of Checkers and generators
• Clock and non-clock pin short error check generator
• Reset and non-reset pin short error check generator
• Clock ports automatic connection based on clockfrequency property in IPXACT
• Text Report generators
• Clock/Reset connectivity generator
• Generate verification assertions for protocol checks
• CPF macro-model generator
• Power Cells insertion generators
7
Generate a CPF Macromodel from IPXACT
Generators
Execute the
custom
generators
8
Text Report Generators
• Reports
– Audit report
• instance, port
interface
summary,
connectivity
percentage or
health check
– Design difference
report between
two snapshots
– Design resources
• black-boxes, hard
macros etc.
– Dense structures
• instances with very
high pin count
9
Power Cells Insertion Generator
Power Information
• IP Instance – Power/Voltage domain association
• Power cells (isolation/levelshifters/switch cells) and their control
info
top
IPXACT
Voltage 1
• Default Values for all IP outputs
Generator
Power 1
Pd1_ip1
Pd1_ip2
IP1
IP2
IP3
IP4
Voltage 2
P
M
Power 2a
P
M
Pd2a_ip1
Power 2b
P
M
Pd2a_ip2
Pd2b_ip1
Pd2b_ip2
Power Managed SoC
IP5
• Hierarchical RTL netlist
Connectivity IPXACT
• Power cells inserted in RTL
• SoC where all IPs are
connected
10
Power management Generator Metrics
•
•
•
•
•
No of Power Domains = 6
No of Voltage Domains = 2
No of level Shifters = 2500
No of Isolation cells = Low (26500), High (4520), Latch (260)
No of IP instances in each PD.
–
–
–
–
–
–
PD1 = 47
PD2 = 26
PD3 = 4
PD4 = 3
PD5= 1
PD6 = 6
• Run Time = 20mins
11
Other Results
# Designs this
feature being Used
# Issues found while
SoC integration using
IPXACT checkers
If not, this issue
would have been
found in
Relative
Effort
>10
Average of 15 per
SoC RTL release
Power Aware
RTL simulations
10
>10
Average of 12 per
SoC RTL release
Lint, Verification
3
Check clock pin connected to nonclock pin
1
Total of 3
RTL simulation
2
Check reset pin connected to nonreset pin
1
0
RTL simulation
2
Active high signal connected to Active
low signal
1
13
RTL simulation
5
Features
Insertion of power management
structures while doing SoC RTL
development
Check input not connected
Used in # of
Designs
Traditional Approach
Relative
Effort
>10
Connectivity PercentageManual
Rest All - Lint
3
Clock ports automatic connection based
on clock-frequency property in IPXACT
1
Manual
5
Reset Pin automatic connection based on
rest attribute in IPXACT
1
Manual
5
Generator
Text Report Generators to check
connectivity percentage, unconnected
ports, multiple drivers
12
Conclusion
• What was new?
– We have shown how IP-XACT can be used beyond the conventional way
– We used a mixture of tools like SpyGlass to extract metadata into IPXACT automatically from RTL with minimal user inputs
• Then used this IP-XACT at SoC level to develop checkers and generators
– Some of the generator outputs (like CPF macromodel, or clock
constraints, etc.) can be used in other downstream flows
• E.g., verification, synthesis, static low power checks.
– These techniques ensure that metadata is captured right at the time of IP
design, by the designer himself
• Ensures minimum loss of data across handoffs and saves verification time
• Some properties that are not part of IP-XACT standards currently, but
can be considered in future versions of IP-XACT:
- Power domain attribute
- Voltage domain attribute
- Reset attribute
- DFT information
- Interrupts
- DMA
13
Download