You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Chisel is used for RISC-V, not for OpenRISC
* Follow URI change of Lava website
* Use Clash instead
See
Q: Is the name “Clash”, “CLaSH”, or “CλaSH”?
at https://clash-lang.readthedocs.io/en/v1.4.3/general/faqs.html .
* Replace pyrtl in normal sentence with PyRTL like the others
Copy file name to clipboardExpand all lines: index.html
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -321,14 +321,14 @@ <h3>
321
321
<p><ahref="https://github.com/amaranth-lang/amaranth">Amaranth (previously nMigen)</a></a> is another python hardware project providing an open-source toolchain
322
322
that has a lot of wonderful stuff for working with FPGAs in particular. It has support for evaluation board definitions, a System-on-Chip toolkit, and more.
323
323
I think it has a similar philosophy of trying to be easy to learn and use and simplify the design of complex hardware with reusable components. Amaranth
324
-
(at the time of writing) has much better support on the back end for a variety of real devices and low level stuff like managing clock domains, but pyrtl
324
+
(at the time of writing) has much better support on the back end for a variety of real devices and low level stuff like managing clock domains, but PyRTL
325
325
I think it provides some value in getting going right in the command line and how it handles memories etc. I would be eager to see the power of these tools
326
326
combined in some way!
327
327
328
328
<p><ahref="https://chisel.eecs.berkeley.edu/">Chisel</a> is a project with similar goals to PyRTL but is based instead in Scala. Scala
329
329
provides some very helpful embedded language features and a rich type system. Chisel is (like PyRTL) a elaborate-through-execution hardware design language. With support
330
330
for signed types, named hierarchies of wires useful for hardware protocols, and a neat control structure call "when" that inspired our
331
-
conditional contexts, Chisel is a powerful tool used in some great research projects including OpenRISC. Unlike Chisel, PyRTL has
331
+
conditional contexts, Chisel is a powerful tool used in some great research projects including RISC-V. Unlike Chisel, PyRTL has
332
332
concentrated on a simple to use and complete tool chain which is useful for instructional projects, and provides a clearly defined and relatively easy-to-manipulate
333
333
intermediate structure in the class Block (often times call pyrtl.core) which allows rapid prototyping of hardware analysis
334
334
routines which can then be codesigned with the architecture.</p>
@@ -359,12 +359,12 @@ <h3>
359
359
providing a limited and composable set of data structures to be used to specify an RTL implementation, thus avoiding the distinction between
360
360
synthesizable and non-synthesizable code (the execution is the elaboration step).</p>
361
361
362
-
<p><ahref="http://www.clash-lang.org/">CλaSH</a> is a hardware description embedded DSL in Haskell. Like PyRTL it provides an
362
+
<p><ahref="http://www.clash-lang.org/">ClaSH</a> is a hardware description embedded DSL in Haskell. Like PyRTL it provides an
363
363
approach suitable for both combinational and synchronous sequential circuits and allows the transform
364
364
of these high-level descriptions to low-level synthesizable Verilog HDL. Unlike PyRTL, designs are statically
365
365
typed (like VHDL), yet with a very high degree of type inference, enabling both safe and fast prototying using concise
366
366
descriptions. If you like functional programming and hardware also check out
<spanclass="site-footer-owner"><ahref="https://github.com/UCSBarchlab/PyRTL">PyRTL</a> is maintained by <ahref="https://github.com/UCSBarchlab">UCSBarchlab</a>.</span>
0 commit comments