Add skins for missing Yosys RTL cells
See original GitHub issueSome cells from Yosys that could use a skin. I created this issue to figure out which cells should get skinned, as well as what skin they should get. I’m pulling information from the latest version of the Yosys manual. All ideas, comments, and constructive criticism welcome.
unary operators
-
$pos
, making into a plus sign may get confusing with addition -
$neg
, making into a minus may get confusing with subtraction -
$reduce_and
should be added as an alias toand
-
$reduce_or
andreduce_bool
should be added as aliases toor
binary operators
-
$shl
,$shr
,$sshl
,$sshr
could be done with just<<
,>>
,<<<
, and>>>
respectively -
$mul
,*
orx
could work -
$div
,/
could work -
$mod
,%
could work -
$pow
,^
ora^b
may work -
$eqx
may be added as an alias to$eq
-
$ne
and$nex
could have a=/=
symbol
registers
-
$sr
, I don’t think this one needs a skin -
$adff
, same as$dff
but have anARST
(asynchronous reset) port. This could simply just be on the bottom of the current$dff
skin -
$sdff
, same as$dff
but have anSRST
(synchronous reset) port. This could simply just be on the bottom of the current$dff
skin, though not sure how to distinguish from$adff
, maybe by putting anA
orS
next to the reset port -
$dlatch
,$dlatchsr
, and$adlatch
, not sure what this one would look like -
$dffsr
, not sure what this one would look like
There are several other register variants listed in the manual that may be too niche / difficult to properly define a skin for. These are $dffe
, $adffe
, $dffsre
, $sdffe
, and $sdffce
.
memories
-
$mem
,$memrd
,$memwr
,$meminit
- I’m not sure what to do for these, if anything should be done
gates
-
$_BUF_
-
$_ANDNOT_
,$_ORNOT_
-
$_AOI3_
,$_OAI3_
,$_AOI4_
,$_OAI4_
-
$_MUX4_
,$_MUX8_
,$_MUX16_
Issue Analytics
- State:
- Created 2 years ago
- Comments:18 (4 by maintainers)
Top Results From Across the Web
Developers - Add skins for missing Yosys RTL cells - - Bountysource
Add skins for missing Yosys RTL cells. ... I created this issue to figure out which cells should get skinned, as well as...
Read more >Yosys Manual - GitHub
This document covers the design and implementation of this tool. At the moment the main focus of Yosys lies on the high-level aspects...
Read more >Yosys Manual - YosysHQ
Such a graph, when encoded as list of cells and connections, is called a netlist. RTL synthesis is easy as each circuit node...
Read more >Yosys+nextpnr: An Open Source Framework from Verilog to ...
The used mixed integer programming solver minimizes the distance between each of the memory cells and the grid locations while assigning each of ......
Read more >So what's the deal with CHISEL, and why is it so great? : r/FPGA
Language like Chisel add some power, but it's still basically RTL. ... At the most basic level they are a better skin to...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
This looks awesome!
All looks pretty awesome to me!