descriptionSynthesize circuits to floating point logic, throw off the limitations of binary!
last changeThu, 12 Mar 2020 05:01:41 +0000 (01:01 -0400)

NaN Gate Synthesis


Make sure you have yosys installed and can run the pmgen tool. Then, run:

$ make install

This should install the plugin in your Yosys data directory.


You'll need to load the plugin in Yosys. You can either launch Yosys with:

$ yosys -m nangate

Or you can load it in your synthesis scripts, with:

plugin -i nangate

You can synthesize circuits to NaN gates with the synth_nan command. Read its help message for flags.

You'll want to run synth_nan before you synthesize for a particular target, and you'll want to make sure you don't flatten your design when you end up synthesizing, or else the optimizer will do a good job removing all of the NaN-gate logic and converting it back into pure boolean logic.

2020-03-12 Cassie JonesFix synth_nan help message develop
2020-03-06 Cassie JonesAdd -retime and -pre-flatten args
2020-03-06 Cassie JonesAdd -nosynth flag to skip internal synthesis
2020-03-06 Cassie JonesAdd
2020-03-06 Cassie JonesAdd "mult" examples
2020-03-06 Cassie JonesSupport multiple synthesis widths
2020-03-06 Cassie JonesChange install directory
2020-03-06 Cassie JonesDo NaN synthesis pattern matching via attributes
2020-03-05 Cassie JonesFix errors in the synth_nan help message
2020-03-04 Cassie JonesAdd install, use the installed cell libs
2019-04-26 Cassie JonesImplement yosys passes to synthesize to NaN gates
18 months ago develop