1 |
6 |
root |
<!--# set var="title" value="The Perlilog Project" -->
|
2 |
|
|
<!--# include virtual="/ssi/ssi_start.shtml" -->
|
3 |
|
|
<P><B><FONT COLOR="#bf0000" SIZE="+2">Project Name: Perlilog</FONT></B></P>
|
4 |
|
|
|
5 |
|
|
<P><U>Description</U></P>
|
6 |
|
|
|
7 |
|
|
<P>Perlilog is a design tool, whose main target is easy integration of Verilog IP cores
|
8 |
|
|
for System-on-Chip (SoC) designs.
|
9 |
|
|
|
10 |
|
|
<P>At a smaller scale, Perlilog is a great starting point for writing scripts which handle
|
11 |
|
|
Verilog code in general. It comes with a rich set of functions, that can be used for several purposes,
|
12 |
|
|
such as instantiation of ASIC pads, automatic connection and generation of simple Verilog
|
13 |
|
|
modules, and so on.
|
14 |
|
|
|
15 |
|
|
<P>The philosophy behind Perilog is that an IP core should be like a black box. Fitting
|
16 |
|
|
it for a certain purpose should be as easy as defining the desired requirements. Connecting
|
17 |
|
|
the cores, to become a system, should be as easy as drawing a block diagram.
|
18 |
|
|
|
19 |
|
|
<P>With plain Verilog, the reality couldn't be further away. But by using Perlilog correctly,
|
20 |
|
|
integration can be that simple.
|
21 |
|
|
|
22 |
|
|
<P>Perlilog introduces a new meaning to "IP core". It also introduces a different way to
|
23 |
|
|
approaching the task of interfacing cores with each other.
|
24 |
|
|
|
25 |
|
|
<P>Perlilog was built to make core programming and integration intuitive tasks. As such, it
|
26 |
|
|
is based on new, rather natural concepts, which one must get used to in order to gain
|
27 |
|
|
the most of the tool.
|
28 |
|
|
|
29 |
|
|
<P>Perlilog is written in Perl, currently with no GUI.
|
30 |
|
|
While the scripts, that the system consists of, are rather sophisticated,
|
31 |
|
|
only plain Perl knowledge is needed to use its scripting capabilities.
|
32 |
|
|
|
33 |
|
|
<p>
|
34 |
|
|
<P><U>Bye bye Verilog?</U></P>
|
35 |
|
|
|
36 |
|
|
<P>Absolutely not. Verilog is still the language to define the functionality of the core.
|
37 |
|
|
The final output of a design, which incorporates Perlilog, is perfectly normal Verilog
|
38 |
|
|
files.
|
39 |
|
|
|
40 |
|
|
<P>Perlilog will do the following tasks instead of you:
|
41 |
|
|
<ul>
|
42 |
|
|
<li>Instantiation of modules
|
43 |
|
|
<li>Connection between modules
|
44 |
|
|
<li>Setting up modules' attributes (word width, address mapping on buses etc.)
|
45 |
|
|
</ul>
|
46 |
|
|
<p>
|
47 |
|
|
<P><U>Status of the project</U></P>
|
48 |
|
|
|
49 |
|
|
<P>The current version is highly usable for general scripts, which involve Verilog code.
|
50 |
|
|
As for sophisticated SoC generation, it still lacks script pieces, which makes it directly
|
51 |
|
|
useful to connect real-life cores.
|
52 |
|
|
<P>The project is known to be used by a few Verilog designers, and despite the official
|
53 |
|
|
"beta" stage, no significant bugs have been found. The project appears to be reliable.
|
54 |
|
|
<P>Features are added to Perlilog whenever the system is shown to be incapable of meeting
|
55 |
|
|
a reasonable need. Those who want to try Perlilog are encouraged to contact the
|
56 |
|
|
maintainer directly.
|
57 |
|
|
|
58 |
|
|
<P>The project comes with a guide, which includes all knowledge needed to enrich the tool, so it
|
59 |
|
|
can connect real-life IP cores as promised above.
|
60 |
|
|
<p>
|
61 |
|
|
|
62 |
|
|
<P><U>Download</U></P>
|
63 |
|
|
|
64 |
|
|
<P><TABLE WIDTH="616" BORDER="1" CELLSPACING="2" CELLPADDING="0">
|
65 |
|
|
<TR>
|
66 |
|
|
<TD COLSPAN="2">
|
67 |
|
|
<P><CENTER><B>The Perlilog System and its documentation</B></CENTER></TD>
|
68 |
|
|
</TR>
|
69 |
|
|
<TR>
|
70 |
|
|
<TD WIDTH="35%">
|
71 |
|
|
<P><CENTER><B> Item</B></CENTER></TD>
|
72 |
|
|
<TD WIDTH="65%">
|
73 |
|
|
<P><CENTER><B> Link</B></CENTER></TD>
|
74 |
|
|
</TR>
|
75 |
|
|
<TR>
|
76 |
|
|
<TD WIDTH="35%">
|
77 |
|
|
The Perlilog system (tarball)</TD>
|
78 |
|
|
<TD WIDTH="65%">
|
79 |
|
|
<P><CENTER> <A HREF="Perlilog-0.3.tar.gz">Perlilog-0.3.tar.gz (47 kB)</A></CENTER></TD>
|
80 |
|
|
</TR>
|
81 |
|
|
<TR>
|
82 |
|
|
<TD WIDTH="35%">
|
83 |
|
|
A Guide to Perlilog (pdf)</TD>
|
84 |
|
|
<TD WIDTH="65%">
|
85 |
|
|
<P><CENTER> <A HREF="perlilog-guide-0.3.pdf">perlilog-guide-0.3.pdf (748 kB)</A></CENTER></TD>
|
86 |
|
|
</TR>
|
87 |
|
|
</TABLE></P>
|
88 |
|
|
|
89 |
|
|
<p>
|
90 |
|
|
<P><U>Maintainer</U></P>
|
91 |
|
|
|
92 |
|
|
<P>The Perlilog project is maintained by its author, Eli Billauer. He can be reached at
|
93 |
|
|
<A HREF="mailto:elib@flextronics.co.il__NOSPAM">elib@flextronics.co.il__NOSPAM</A>.
|
94 |
|
|
<p><p>
|
95 |
|
|
|
96 |
|
|
<!--# include virtual="/ssi/ssi_end.shtml" -->
|