More Related Content Similar to Scineric Workspace Technical Introduction (13) Scineric Workspace Technical Introduction2. Structured
File, Build and Package
Management
A Detailed Technical Introduction
3. A Quick Introduction
Scineric Workspace
is a research tool that was created to
help firmware designers manage their
files, builds and packages
in a structured way and
in a central place.
http://scineric.csir.co.za
© CSIR 2013
4. The name and logo
Scientific + Generic
=
Scineric
“Oortjies van die seekoei”
http://scineric.csir.co.za
© CSIR 2013
6. Setting The Stage
C:FirmwareBuildsMyDesign
IP
Repository Cores
of building
blocks
RTLDesign
Building System on
Lib A Blocks
Related Items
Chip
Lib B Vendor
Toolchain
Lib C C++ to
RTL
C:FirmwareRepository
http://scineric.csir.co.za
© CSIR 2013
7. Somewhere In The Future
C:FirmwareBuildsXYZ
RTL Building RTL Building RTL Building
IP
Repository
Blocks Blocks Blocks
Cores
of building
blocks
RTL Building RTL Building RTL Building
System on
Lib A Blocks Blocks Blocks
Chip
Lib B
Lib C C++ to
RTL Building
Blocks
RTL Building
Blocks
RTL Building
Blocks RTL
C:FirmwareRepository
http://scineric.csir.co.za
© CSIR 2013
8. Challenges: Design Level
• Version control
C:FirmwareBuildsMyDesign
• Unified design structure
RTL Building
Design Related
Blocks
Items
• Interoperability of tools
• Different tool chains
• Configuration management
http://scineric.csir.co.za
© CSIR 2013
9. Challenges: Repository Level
RTL RTL RTL
• Changes to a building Buil
din
g
Buil
din
g
Buil
din
g
block affects multiple Blo
cks
RTL
Buil
Blo
cks
RTL
Buil
Blo
cks
RTL
Buil
designs din
g
Blo
din
g
Blo
din
g
Blo
• Documentation & cks
RTL
Buil
din
cks
RTL
Buil
din
cks
RTL
Buil
din
reporting g
Blo
cks
g
Blo
cks
g
Blo
cks
• Maintainers & issue tracking
• Design locking
• Version tagging
http://scineric.csir.co.za
© CSIR 2013
10. Challenges: System Level
• Reporting on system & R
T
L
R
T
L
R
T
L
project level B
u
il
R
B
u
il
R
B
u
il
R
• Keeping old designs in
d d d
T T T
i i i
L L L
n n n
B B B
g g g
a working state u
B
il
R
d
T
o
l
u
B
il
R
d
T
o
l
u
B
il
R
d
T
o
l
• Physical size of everything
i i i
L
c L
c L
c
n n n
B
k B
k B
k
g g g
u
s u
s u
s
B B B
• Hardware & firmware just il
l
d
o
i
il
l
d
o
i
il
d
o
i
l
c c c
subsystem in bigger system
n n n
k k k
g g g
s s s
B B B
l l l
o o o
c c c
k k k
s s s
http://scineric.csir.co.za
© CSIR 2013
11. It’s the year 2013
20nm devices in production
yet,
most EDA tools doesn’t even
support version control
however,
things are changing
12. IP-XACT: We Are Not Alone
• IP-XACT Standard
published by IEEE in 2009
• Huge in scope, subset of
standard addresses the
challenges described here
• Lack of user friendly tools,
industry adoption slow
http://scineric.csir.co.za
© CSIR 2013
13. IP-XACT: How Does It Work
• On design level,
designs tagged using
VLNV tags
• You add one IP-XACT
based xml file to your
design’s directory
which is used to
describe and manage
your design
http://scineric.csir.co.za
© CSIR 2013
14. IP-XACT: How Does It Work
• This IP-XACT component file stores the
information needed to solve the many
of the challenges discussed
• You don’t need to know that it exists.
The goal is that things just work from a
user perspective
http://scineric.csir.co.za
© CSIR 2013
16. Scineric: An IP-XACT based IDE
• Scineric is an IP-XACT driven IDE
• It extends the standard to help address
the challenges mentioned
• Its modern, fresh and doesn’t lock you in
http://scineric.csir.co.za
© CSIR 2013
17. Scineric GUI and the Scineric Tcl Shell
http://scineric.csir.co.za
© CSIR 2013
20. Solutions: Design Level : Unified Structures
Design Structures,
shared by teams
Classify Files,
anyone can extend it…
http://scineric.csir.co.za
© CSIR 2013
21. Solutions: Design Level : Version Control
Clever Version
Control Front-end
We Know What’s
Design structures
Generated
guides it
Git and Subversion
Clean What You Don’t Need Extend The Rules
Per Design
http://scineric.csir.co.za
© CSIR 2013
22. Solutions: Design Level : Different Tool Chains
Plunify, Xilinx, Altera Builds Are Xml Files,
Share & Reuse Them
Team
Settings
Build Management &
Customizable, Do Anything
Export Targets
http://scineric.csir.co.za
© CSIR 2013
23. Solutions: Design Level : Configuration Management
Package Design
Team Specific Packages
(again, unified package structure)
R R R
T T T
L L L
R R R
B
T B
T B
T
u
L u
L u
L
i i i
l
B l
B l
B
d
u d
u d
u
i i i
n
l n
l n
l
Store Everything g
d g
d g
d
i i i
B
n B
n B
n
l
g l
g l
g
o o o
http://scineric.csir.co.za c
B c
B c
B
© CSIR 2013
k
l k
l k
l
24. Solutions: Repository Level
RTL RTL RTL
Buil Buil Buil
din din din
g g g
Blo Blo Blo
cks cks cks
RTL RTL RTL
Buil Buil Buil
din din din
g g g
Blo Blo Blo
cks cks cks
25. Solutions: Repository Level : Version Tags
Version Tags
Keeps Track Of
All Downstream Repositories
R R R
T T T
L L L
B B B
R
ui R
ui R
ui
T
ld T
ld T
ld
L
in L
in L
in
Bg Bg Bg
ui
Bl ui
Bl ui
Bl
ld
o ld
o ld
o
in
c in
c in
c
gk gk gk http://scineric.csir.co.za
Bl
s Bl
s Bl
s © CSIR 2013
o o o
27. Solutions: Repository Level : Locking Continued
Design Locks Enabled
Opening A Locked Design
Getting A Lock
Releasing A Lock
http://scineric.csir.co.a
© CSIR 2013
29. Solutions: Repository Level : Documentation & Reporting
Documentation Generation & Guidelines Repository Wide Reporting
• Per Project, Maintainer,
Development Stage Reports
• Detailed design reports:
• Graphical time history
• Time allocation history per
task
• Health reports
• Different export formats?
http://scineric.csir.co.za
© CSIR 2013
31. Solutions: System Level : Keep Old Designs Working
Continuous Integration using Jenkins (http://jenkins-ci.org)
Jenkins is an application that monitors executions of repeated jobs,
such as building a software project.
Jenkins targets software, but Scineric allows you to build firmware using it
http://scineric.csir.co.za
© CSIR 2013
32. Solutions: System Level : Keep Old Designs Working Continued
Link Design To Jenkins Job
Create Script Files For Build
Ready To Use Launch Scripts
Firmware Build In Jenkins
Build Trends Over Time
http://scineric.csir.co.za
© CSIR 2013