clash-ghc
retroclash-lib
Our great sponsors
clash-ghc | retroclash-lib | |
---|---|---|
33 | 2 | |
1,370 | 8 | |
1.5% | - | |
9.2 | 4.5 | |
2 days ago | 5 days ago | |
Haskell | Haskell | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
clash-ghc
- Clash: A Functional Hardware Description Language
- Clash (Haskell) for ASIC design
-
Building a Networked Key-Value-Store on an FPGA
> You'd be better off with a higher-level or more modern HDL that compiles to Verilog/VHDL. "Chisel" is one such.
As is Clash :) https://clash-lang.org/
-
Need project idea
You can take a look at https://clash-lang.org/. There is also a book for it. https://gergo.erdi.hu/retroclash/
-
5 layered CNN implementation on arduino/FPGAs [P]
I don't know much about FPGAs, but Clash lang compiles to VHDL, and might do the trick: https://clash-lang.org
- An addressable little explored language gap: HDL - Hardware Description Languages, any language used for electronic circuit design, description, and specs
- Pedagogical Downsides of Haskell
- Ask HN: Choice of HDL for an FPGA Project
-
Baud rate 1.5% lower than expected, is this normal?
if you need inspiration there is a full UART core available in clash: https://github.com/clash-lang/clash-compiler/blob/master/clash-cores/src/Clash/Cores/UART.hs
-
A circuit simulator that doesn't look like it was made in 2003
Perhaps peripheral (the original site has been hugged to death).
Both clashlang: https://clash-lang.org/
And Hardcaml: https://github.com/janestreet/hardcaml
have personally fueled my interest in hardware.
Dan Luu speaks eloquently and at length about how better options are needed for logic design. I would recommend both of the above to the enthusiastic novice.
retroclash-lib
-
A pattern for accumulating "pieces" of a product type?
Here's one I made earlier: https://github.com/gergoerdi/retroclash-lib/blob/master/src/RetroClash/CPU.hs
-
Permutate parsers, don't validate
I have very good experience with Barbies (and barbes-th, its companion Template Haskell package to generate Barbie types from normal ADTs), although not for this exact use case. But to give you a glimpse of a similar situation, here I am using Barbies to update a record of (pure) values with a record of (Last) edits:
What are some alternatives?
wiringPi - A Haskell binding to the wiringPi library, for using GPIO on the Raspberry Pi.
clash-compucolor2 - Clash implementation of the Compucolor II home computer
clash-prelude
clash-calculator - FPGA desktop calculator for seven-segment display and keypad, written in Clash
mercury-api - Haskell binding to Mercury API for ThingMagic RFID readers
yieldfsm - YieldFSM, a DSL for describing finite state machines in Clash
ICFP2020_Bluespec_Tutorial - Tutorial on hardware design using Bluespec BH (Bluespec Classic) for Haskell programmers at ACM ICFP 2020 conference
riscv-cores-list - RISC-V Cores, SoC platforms and SoCs
amaranth - A modern hardware definition language and toolchain based on Python
verismith - Verilog Fuzzer to test the major simulators and sythesisers by generating random, valid Verilog.
hidapi - Haskell HIDAPI bindings
clash-prelude-quickcheck - QuickCheck instances for various types in the CλaSH Prelude