1 |
2 |
jt_eaton |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
2 |
20 |
jt_eaton |
<html>
|
3 |
|
|
<head>
|
4 |
|
|
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=UTF-8">
|
5 |
|
|
<title>socgen_prj_description</title>
|
6 |
|
|
<meta name="GENERATOR" content="OpenOffice.org 3.0 (Linux)">
|
7 |
|
|
<meta name="CREATED" content="0;0">
|
8 |
|
|
<meta name="CHANGED" content="20100309;9110600">
|
9 |
|
|
<meta name="CLASSIFICATION" content="socgen project description">
|
10 |
|
|
<meta name="DESCRIPTION"
|
11 |
|
|
content="socgen is a laboratory for the development of a opensource design for reuse toolset">
|
12 |
|
|
<meta name="KEYWORDS" content="eda design for reuse opensource tools">
|
13 |
|
|
<meta name="Info 3" content="">
|
14 |
|
|
<meta name="Info 4" content="">
|
15 |
|
|
<meta name="date" content="2010-01-08T12:01:41-0500">
|
16 |
|
|
<meta name="robots" content="index,follow">
|
17 |
|
|
</head>
|
18 |
|
|
<body dir="LTR" lang="en-US">
|
19 |
|
|
<div id="toc__header" dir="LTR">
|
20 |
|
|
<p><br>
|
21 |
|
|
<br>
|
22 |
|
|
</p>
|
23 |
|
|
</div>
|
24 |
|
|
<h1><a name="socgen_project"></a>SOCGEN Project</h1>
|
25 |
|
|
<h2>Design for Reuse</h2>
|
26 |
|
|
<p>The SOCGEN project is a laboratory for developing and
|
27 |
2 |
jt_eaton |
demonstrating the methods and processes needed to create and reuse
|
28 |
|
|
digital components. The goal of the project is to create a open
|
29 |
|
|
source set of eda tools that will enable a designer to configure and
|
30 |
|
|
assemble a complete System_on_a_chip (SOC) in a quick, easy and error
|
31 |
20 |
jt_eaton |
free manner.</p>
|
32 |
|
|
<p>I am hosting this project on Opencores due to the availability of
|
33 |
2 |
jt_eaton |
free opensourced ip modules and a user community that is in dire need
|
34 |
|
|
of a good design for reuse solution. I will be taking various
|
35 |
|
|
opencores modules and reworking them into the socgen repository.
|
36 |
|
|
Design for reuse is all about efficiency. Any code can be reused if
|
37 |
|
|
you devote enough time and energy to it but paying attention to the
|
38 |
|
|
details can make a huge difference in how easy it is to reuse a
|
39 |
|
|
module. Any one is welcome to use these versions of the modules and
|
40 |
20 |
jt_eaton |
the scripts that I am creating. Feedback is always welcome.</p>
|
41 |
|
|
<p>The entire industry is about to experience a change in the way
|
42 |
|
|
that chips are designed that will be as dramatic as it was back in
|
43 |
|
|
the early 90's. Before that point the most common tool for design
|
44 |
2 |
jt_eaton |
entry was schematic capture. But designs had grown to the point where
|
45 |
|
|
that was far to inefficient and it was replaced with a rtl to
|
46 |
20 |
jt_eaton |
synthesis process.</p>
|
47 |
|
|
<p>That happened 20 years ago and chips have continued to grow to the
|
48 |
2 |
jt_eaton |
point where you can no longer design and verify the rtl code in a
|
49 |
20 |
jt_eaton |
reasonable time. </p>
|
50 |
|
|
<p>My approach to this problem is to introduce modern hi volume
|
51 |
|
|
production line theory into the IC design process. The designs are
|
52 |
|
|
too complex to simply get a group together and hand craft rtl code.
|
53 |
|
|
Socgen will develop the tools and processes needed to assemble cores
|
54 |
|
|
together in quick and predictable manner.</p>
|
55 |
|
|
<p> </p>
|
56 |
|
|
<p>A good deal of this effort involves understanding database design
|
57 |
|
|
and usage. Most designers simply construct their databases based
|
58 |
2 |
jt_eaton |
only on their immediate and past needs. Socgen will provide a
|
59 |
|
|
repository of various projects that have been converted to show how
|
60 |
|
|
small changes in where you store files can make a big difference in
|
61 |
20 |
jt_eaton |
how easily those files can be reused.</p>
|
62 |
|
|
<p><br>
|
63 |
|
|
<br>
|
64 |
|
|
</p>
|
65 |
|
|
<p>All socgen tools and components are released under LGPL. Any other
|
66 |
2 |
jt_eaton |
opencores projects used in the repository will retain their original
|
67 |
20 |
jt_eaton |
license.</p>
|
68 |
|
|
<p><br>
|
69 |
|
|
<br>
|
70 |
|
|
</p>
|
71 |
|
|
<p><br>
|
72 |
|
|
<br>
|
73 |
|
|
</p>
|
74 |
|
|
<h2>Definitions<br>
|
75 |
|
|
</h2>
|
76 |
|
|
<p>COMPONENT The basic design building block<br>
|
77 |
|
|
</p>
|
78 |
|
|
<p>LIBRARY<br>
|
79 |
|
|
</p>
|
80 |
|
|
<p>TARGET<br>
|
81 |
|
|
</p>
|
82 |
|
|
<p>COLLECTOR<br>
|
83 |
|
|
<br>
|
84 |
|
|
</p>
|
85 |
|
|
<p><br>
|
86 |
|
|
<br>
|
87 |
|
|
</p>
|
88 |
|
|
<p><br>
|
89 |
|
|
<br>
|
90 |
|
|
</p>
|
91 |
|
|
<p><br>
|
92 |
|
|
<br>
|
93 |
|
|
</p>
|
94 |
|
|
<p><br>
|
95 |
|
|
<br>
|
96 |
|
|
</p>
|
97 |
|
|
<p>Socgen will provide:</p>
|
98 |
|
|
<ol>
|
99 |
|
|
<li>
|
100 |
|
|
<p>Installation instructions for any and all external tools needed</p>
|
101 |
|
|
</li>
|
102 |
|
|
<li>
|
103 |
|
|
<p>Proper data base design and management tools and techniques</p>
|
104 |
|
|
</li>
|
105 |
|
|
<li>
|
106 |
|
|
<p>Proper design verification</p>
|
107 |
|
|
</li>
|
108 |
|
|
<li>
|
109 |
|
|
<p>All modules will be proven in silicon</p>
|
110 |
|
|
</li>
|
111 |
|
|
</ol>
|
112 |
|
|
<p><br>
|
113 |
|
|
<br>
|
114 |
|
|
</p>
|
115 |
|
|
<p>Socgen is a work in process so expect to see frequent changes. All
|
116 |
2 |
jt_eaton |
socgen tools are run under Makefiles and I will try to keep the top
|
117 |
20 |
jt_eaton |
level commands constant.</p>
|
118 |
|
|
<p><br>
|
119 |
|
|
<br>
|
120 |
|
|
</p>
|
121 |
|
|
<p>Till Later</p>
|
122 |
|
|
<p><br>
|
123 |
|
|
<br>
|
124 |
|
|
</p>
|
125 |
|
|
<p>John Eaton</p>
|
126 |
|
|
<p><br>
|
127 |
|
|
<br>
|
128 |
|
|
</p>
|
129 |
|
|
<p><br>
|
130 |
|
|
<br>
|
131 |
|
|
</p>
|
132 |
|
|
</body>
|
133 |
|
|
</html>
|