clash-compiler icon indicating copy to clipboard operation
clash-compiler copied to clipboard

Haskell to VHDL/Verilog/SystemVerilog compiler

Results 270 clash-compiler issues
Sort by recently updated
recently updated
newest added

Currently in `clash-testsuite` we allow testing against `modelsim` for SystemVerilog only. However, we could allow testing against _all_ HDL supported by Clash in `modelsim`, which would help identify more bugs...

enhancement

Crucially: https://github.com/clash-lang/clash-compiler/blob/31857597f103a2a62eb8657a4b7c3360bfbe484c/clash-lib/src/Clash/Backend/Verilog.hs#L751 should read ``` hty = BitVector (start-end+1) ``` Furthermore, it shouldn't match on `BitVector`: https://github.com/clash-lang/clash-compiler/blob/31857597f103a2a62eb8657a4b7c3360bfbe484c/clash-lib/src/Clash/Backend/Verilog.hs#L748 as _most_ things in `Verilog` are `BitVector`s anyway, so slicing is allowed.

bug

The `trueDualPortRAM` component (https://hackage.haskell.org/package/clash-prelude-1.6.3/docs/Clash-Explicit-BlockRam.html#v:trueDualPortBlockRam) has no API to set the initial contents like `blockRam` (https://hackage.haskell.org/package/clash-prelude-1.6.3/docs/Clash-Explicit-BlockRam.html#v:blockRam). As far as I know there is no technical reason to not be able to...

enhancement

Normally, when a function recognised as a test bench makes use of a function recognised as a top entity, these two end up in separate directories (and VHDL libraries). However,...

When a Clash backend encounters netlist that it does not want to attempt to translate, it will return `Nothing`, and silently discard the netlist. Perhaps this is fine for release...

enhancement

## Still TODO: - [x] Write a changelog entry (see changelog/README.md) - [x] Check copyright notices are up to date in edited files - [ ] Make sure the flag...

This is a discussion piece to improve our developer documentation on writing entries for the CHANGELOG. Please propose any changes you'd like. Since we want to automate changelog file processing...

discussion

The warnings of the form ``` Integers are dynamically sized in simulation, but fixed-length after synthesis. Use carefully. ``` are suppressed if they occur in a testbench (`ANN TestBench`). But...

https://github.com/clash-lang/clash-compiler/pull/1147

enhancement

Something that just occurs to me: since `errorX` is just `throw (XException ...)` it presumably always gets left alone by the simplifier, but what if a user writes `throw (XException...

enhancement