summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Cassie Jones [Thu, 12 Mar 2020 05:01:41 +0000 (01:01 -0400)]
Fix synth_nan help message
Cassie Jones [Fri, 6 Mar 2020 23:10:53 +0000 (00:10 +0100)]
Add -retime and -pre-flatten args
These are the synthesis options that I wanted to be able to run when I
added the -nosynth option, so I'm including them here.
Cassie Jones [Fri, 6 Mar 2020 23:04:33 +0000 (00:04 +0100)]
Add -nosynth flag to skip internal synthesis
This is useful if you want to have control the initial coarse-grained
synthesis, you can disable the synthesis that synth_nan does and provide
your own.
Cassie Jones [Fri, 6 Mar 2020 22:24:51 +0000 (23:24 +0100)]
Add README.md
Cassie Jones [Fri, 6 Mar 2020 22:24:38 +0000 (23:24 +0100)]
Add "mult" examples
Cassie Jones [Fri, 6 Mar 2020 21:53:14 +0000 (22:53 +0100)]
Support multiple synthesis widths
The original NaN gates paper describes 3-bit and 4-bit floating point
formats. The original synthesis was hard-coded for 3-bit synthesis, but
technically 5-bit floats are the smallest legal floating point values.
Allowing for different synthesis provides opportunities to compare the
different results.
Cassie Jones [Fri, 6 Mar 2020 21:45:01 +0000 (22:45 +0100)]
Change install directory
Plugins in the yosys-plugins project install themselves into
datdir/plugins/..., so we should do the same.
Yosys seems to support this specifically, so now we can refer to the
plugin as simply "nangate" instead of specifying the full path. Use:
yosys -m nangate
Or in your synthesis scripts, include:
plugin -i nangate
Cassie Jones [Fri, 6 Mar 2020 17:29:46 +0000 (18:29 +0100)]
Do NaN synthesis pattern matching via attributes
The previous implementation of NaN synthesis used matching on cell
types, which wouldn't scale with adding support for larger cell types.
Using attributes allows for simply adding the appropriate width
attributes and figuring things out from there.
Cassie Jones [Thu, 5 Mar 2020 17:25:26 +0000 (18:25 +0100)]
Fix errors in the synth_nan help message
Cassie Jones [Wed, 4 Mar 2020 22:43:51 +0000 (23:43 +0100)]
Add install, use the installed cell libs
The extension needs to load a cell library in order to tech-map things,
and that means having a Verilog file at a locatable path. The Yosys
built-ins put them in the <share>/yosys directory, and so we install
things there and load them from there for convenience.
Using a path +/<path> will be rewritten inside Yosys to load from
<share>/yosys/<path>. I add a nangate/ sub-directory for namespacing
purposes during the install, and load things from +/nangate/<file>.
Cassie Jones [Fri, 26 Apr 2019 06:01:46 +0000 (02:01 -0400)]
Implement yosys passes to synthesize to NaN gates