yosys.git
7 years agoAdd first draft of eASIC back-end
Clifford Wolf [Fri, 29 Sep 2017 15:53:43 +0000 (17:53 +0200)]
Add first draft of eASIC back-end

7 years agoFix synth_ice40 doc regarding -top default
Clifford Wolf [Fri, 29 Sep 2017 15:52:57 +0000 (17:52 +0200)]
Fix synth_ice40 doc regarding -top default

7 years agoAllow $size and $bits in verilog mode, actually check test case
Clifford Wolf [Fri, 29 Sep 2017 09:56:43 +0000 (11:56 +0200)]
Allow $size and $bits in verilog mode, actually check test case

7 years agoMerge pull request #425 from udif/udif_dollar_bits
Clifford Wolf [Fri, 29 Sep 2017 09:39:36 +0000 (11:39 +0200)]
Merge pull request #425 from udif/udif_dollar_bits

Add $bits() and $size()

7 years agoMerge pull request #421 from stephengroat/osx-travis
Clifford Wolf [Thu, 28 Sep 2017 12:45:47 +0000 (14:45 +0200)]
Merge pull request #421 from stephengroat/osx-travis

Add osx tests using brew bundle

7 years agodelete bad backslash
Stephen [Wed, 27 Sep 2017 23:52:20 +0000 (16:52 -0700)]
delete bad backslash

7 years agoforgot to install bundles
Stephen [Wed, 27 Sep 2017 23:51:50 +0000 (16:51 -0700)]
forgot to install bundles

7 years agoAdd osx tests using brew bundle
Stephen Groat [Wed, 27 Sep 2017 23:49:03 +0000 (16:49 -0700)]
Add osx tests using brew bundle

7 years agoIncrease maximum LUT size in blifparse to 12 bits
Clifford Wolf [Wed, 27 Sep 2017 13:27:42 +0000 (15:27 +0200)]
Increase maximum LUT size in blifparse to 12 bits

7 years ago$size() now works correctly for all cases!
Udi Finkelstein [Tue, 26 Sep 2017 17:34:24 +0000 (20:34 +0300)]
$size() now works correctly for all cases!
It seems the issues was that AST_MULTIRANGE is converted into a multirange_dimensions[] array on the AST_MEMORY node directly.

7 years ago$size() seems to work now with or without the optional parameter.
Udi Finkelstein [Tue, 26 Sep 2017 16:18:25 +0000 (19:18 +0300)]
$size() seems to work now with or without the optional parameter.
Multidimensional arrays still don't work. I suspect the problem is that the array is flattened into a 1D array before $size() is evaluated.

7 years agoParse reals as string in JSON front-end
Clifford Wolf [Tue, 26 Sep 2017 12:37:03 +0000 (14:37 +0200)]
Parse reals as string in JSON front-end

7 years agoMerge branch 'vlogpp-inc-fixes'
Clifford Wolf [Tue, 26 Sep 2017 12:02:57 +0000 (14:02 +0200)]
Merge branch 'vlogpp-inc-fixes'

7 years agoMinor coding style fix
Clifford Wolf [Tue, 26 Sep 2017 11:50:14 +0000 (13:50 +0200)]
Minor coding style fix

7 years agoMerge branch 'master' of https://github.com/combinatorylogic/yosys into combinatorylo...
Clifford Wolf [Tue, 26 Sep 2017 11:48:13 +0000 (13:48 +0200)]
Merge branch 'master' of https://github.com/combinatorylogic/yosys into combinatorylogic-master

7 years agoenable $bits() and $size() functions only when the SystemVerilog flag is enabled...
Udi Finkelstein [Tue, 26 Sep 2017 06:19:56 +0000 (09:19 +0300)]
enable $bits() and $size() functions only when the SystemVerilog flag is enabled for read_verilog

7 years agoAdded $bits() for memories as well.
Udi Finkelstein [Tue, 26 Sep 2017 06:11:25 +0000 (09:11 +0300)]
Added $bits() for memories as well.

7 years ago$size() now works with memories as well!
Udi Finkelstein [Tue, 26 Sep 2017 05:36:45 +0000 (08:36 +0300)]
$size() now works with memories as well!

7 years agoAdd $size() function. At the moment it works only on expressions, not on memories.
Udi Finkelstein [Tue, 26 Sep 2017 03:25:42 +0000 (06:25 +0300)]
Add $size() function. At the moment it works only on expressions, not on memories.

7 years agoFix ignoring of simulation timings so that invalid module parameters cause syntax...
Clifford Wolf [Mon, 25 Sep 2017 23:52:59 +0000 (01:52 +0200)]
Fix ignoring of simulation timings so that invalid module parameters cause syntax errors

7 years agoAdding support for string macros and macros with arguments after include
combinatorylogic [Thu, 21 Sep 2017 17:25:02 +0000 (18:25 +0100)]
Adding support for string macros and macros with arguments after include

7 years agoMerge pull request #413 from azonenberg/extract-reduce-tweaks
Clifford Wolf [Sat, 16 Sep 2017 09:31:37 +0000 (11:31 +0200)]
Merge pull request #413 from azonenberg/extract-reduce-tweaks

Added support for off-chain loads in extract_reduce

7 years agoAdded missing "break"
Andrew Zonenberg [Sat, 16 Sep 2017 00:54:07 +0000 (17:54 -0700)]
Added missing "break"

7 years agoImplemented off-chain support for extract_reduce
Andrew Zonenberg [Fri, 15 Sep 2017 20:56:00 +0000 (13:56 -0700)]
Implemented off-chain support for extract_reduce

7 years agoextract_reduce now only removes the head of the chain, relying on "clean" to delete...
Andrew Zonenberg [Fri, 15 Sep 2017 17:52:09 +0000 (10:52 -0700)]
extract_reduce now only removes the head of the chain, relying on "clean" to delete upstream cells. Added "-allow-off-chain" flag, but it's currently ignored.

7 years agoMerge branch 'master' of github.com:cliffordwolf/yosys
Clifford Wolf [Fri, 15 Sep 2017 19:28:16 +0000 (21:28 +0200)]
Merge branch 'master' of github.com:cliffordwolf/yosys

7 years agoUpdate ABC to hg rev cd6984ee82d4
Clifford Wolf [Fri, 15 Sep 2017 19:25:59 +0000 (21:25 +0200)]
Update ABC to hg rev cd6984ee82d4

7 years agoMerge pull request #412 from azonenberg/reduce-fixes
Clifford Wolf [Thu, 14 Sep 2017 20:36:25 +0000 (22:36 +0200)]
Merge pull request #412 from azonenberg/reduce-fixes

extract_reduce: Fix segfault on "undriven" inputs

7 years agoextract_reduce: Fix segfault on "undriven" inputs
Robert Ou [Tue, 12 Sep 2017 21:21:04 +0000 (14:21 -0700)]
extract_reduce: Fix segfault on "undriven" inputs

This is easily triggered when un-techmapping if the technology-specific
cell library isn't loaded. Outputs of technology-specific cells will be
seen as inputs, and nets using those outputs will be seen as undriven.
Just ignore these cells because they can't be part of a reduce chain
anyways.

7 years agoMerge pull request #411 from azonenberg/counter-extraction-fixes
Clifford Wolf [Thu, 14 Sep 2017 19:44:26 +0000 (21:44 +0200)]
Merge pull request #411 from azonenberg/counter-extraction-fixes

Various improvements and bug fixes to extract_counter

7 years agoMerge pull request #410 from azonenberg/opt_demorgan
Clifford Wolf [Thu, 14 Sep 2017 19:42:34 +0000 (21:42 +0200)]
Merge pull request #410 from azonenberg/opt_demorgan

Added "opt_demorgan" pass (fixes #408)

7 years agoMinor changes to opt_demorgan requested during code review
Andrew Zonenberg [Thu, 14 Sep 2017 17:34:45 +0000 (10:34 -0700)]
Minor changes to opt_demorgan requested during code review

7 years agoFixed bug where counter extraction on non-GreenPAK devices incorrectly handled parall...
Andrew Zonenberg [Thu, 14 Sep 2017 17:18:49 +0000 (10:18 -0700)]
Fixed bug where counter extraction on non-GreenPAK devices incorrectly handled parallel counter output

7 years agoAdded support for inferring counters with reset to full scale instead of zero
Andrew Zonenberg [Wed, 13 Sep 2017 22:57:17 +0000 (15:57 -0700)]
Added support for inferring counters with reset to full scale instead of zero

7 years agoAdded RESET_TO_MAX parameter to $__COUNT_ cell. Cannot yet be extracted.
Andrew Zonenberg [Wed, 13 Sep 2017 22:47:06 +0000 (15:47 -0700)]
Added RESET_TO_MAX parameter to $__COUNT_ cell. Cannot yet be extracted.

7 years agoAdded support for inferring counters with active-low reset
Andrew Zonenberg [Wed, 13 Sep 2017 22:32:20 +0000 (15:32 -0700)]
Added support for inferring counters with active-low reset

7 years agoInitial support for extraction of counters with clock enable
Andrew Zonenberg [Wed, 13 Sep 2017 17:58:41 +0000 (10:58 -0700)]
Initial support for extraction of counters with clock enable

7 years agoFixed typo in comment. Fixed bug where extract_counter would create up counters when...
Andrew Zonenberg [Tue, 5 Sep 2017 04:49:56 +0000 (21:49 -0700)]
Fixed typo in comment. Fixed bug where extract_counter would create up counters when it meant to create down counters.

7 years agoInitial version of opt_demorgan is functioning for AND/OR gates. Not the prettiest...
Andrew Zonenberg [Tue, 12 Sep 2017 00:18:26 +0000 (17:18 -0700)]
Initial version of opt_demorgan is functioning for AND/OR gates. Not the prettiest results for bus inputs, but this can be improved

7 years agoAdd src attribute to extra cells generated by proc_dlatch
Clifford Wolf [Sat, 9 Sep 2017 08:18:08 +0000 (10:18 +0200)]
Add src attribute to extra cells generated by proc_dlatch

7 years agoAdd src arguments to all cell creator helper functions
Clifford Wolf [Sat, 9 Sep 2017 08:16:48 +0000 (10:16 +0200)]
Add src arguments to all cell creator helper functions

7 years agoFurther improve extract_fa (but still buggy)
Clifford Wolf [Sat, 2 Sep 2017 14:37:42 +0000 (16:37 +0200)]
Further improve extract_fa (but still buggy)

7 years agoMerge pull request #406 from azonenberg/coolrunner-techmap
Clifford Wolf [Sat, 2 Sep 2017 11:43:51 +0000 (13:43 +0200)]
Merge pull request #406 from azonenberg/coolrunner-techmap

Coolrunner techmapping improvements

7 years agoMerge pull request #405 from azonenberg/gpak-refactoring
Clifford Wolf [Sat, 2 Sep 2017 11:43:36 +0000 (13:43 +0200)]
Merge pull request #405 from azonenberg/gpak-refactoring

Gpak refactoring

7 years agocoolrunner2: Finish fixing special-use p-terms
Robert Ou [Thu, 31 Aug 2017 00:02:28 +0000 (17:02 -0700)]
coolrunner2: Finish fixing special-use p-terms

7 years agocoolrunner2: Generate a feed-through AND term when necessary
Robert Ou [Wed, 30 Aug 2017 23:46:32 +0000 (16:46 -0700)]
coolrunner2: Generate a feed-through AND term when necessary

7 years agocoolrunner2: Initial fixes for special p-terms
Robert Ou [Wed, 30 Aug 2017 23:38:04 +0000 (16:38 -0700)]
coolrunner2: Initial fixes for special p-terms

Certain signals can only be controlled by a product term and not a
sum-of-products. Do the initial work for fixing this.

7 years agocoolrunner2: Fix mapping of flip-flops
Robert Ou [Tue, 29 Aug 2017 21:56:02 +0000 (14:56 -0700)]
coolrunner2: Fix mapping of flip-flops

7 years agocoolrunner2: Combine some for loops together
Robert Ou [Tue, 29 Aug 2017 21:55:45 +0000 (14:55 -0700)]
coolrunner2: Combine some for loops together

7 years agoFixed typo in error message
Andrew Zonenberg [Fri, 1 Sep 2017 13:41:39 +0000 (06:41 -0700)]
Fixed typo in error message

7 years agoAdded blackbox $__COUNT_ cell model
Andrew Zonenberg [Tue, 29 Aug 2017 21:17:29 +0000 (14:17 -0700)]
Added blackbox $__COUNT_ cell model

7 years agoRefactoring: moved modules still in cells_sim to cells_sim_wip
Andrew Zonenberg [Tue, 29 Aug 2017 20:23:23 +0000 (13:23 -0700)]
Refactoring: moved modules still in cells_sim to cells_sim_wip

7 years agoMerge branch 'master' of github.com:cliffordwolf/yosys
Clifford Wolf [Fri, 1 Sep 2017 10:35:09 +0000 (12:35 +0200)]
Merge branch 'master' of github.com:cliffordwolf/yosys

7 years agoMerge branch 'ChipScan-master'
Clifford Wolf [Fri, 1 Sep 2017 10:33:47 +0000 (12:33 +0200)]
Merge branch 'ChipScan-master'

7 years agoUpdate more stuff to use get_src_attribute() and set_src_attribute()
Clifford Wolf [Fri, 1 Sep 2017 10:26:55 +0000 (12:26 +0200)]
Update more stuff to use get_src_attribute() and set_src_attribute()

7 years agoupdated to use get_src_attribute() and set_src_attribute().
Jason Lowdermilk [Thu, 31 Aug 2017 20:51:56 +0000 (14:51 -0600)]
updated to use get_src_attribute() and set_src_attribute().

7 years agoMerge pull request #399 from azonenberg/counter-extraction
Clifford Wolf [Thu, 31 Aug 2017 15:54:28 +0000 (17:54 +0200)]
Merge pull request #399 from azonenberg/counter-extraction

Refactored counter extraction to not be GreenPAK specific. Fixes #396.

7 years agoMerge branch 'counter-extraction' of github.com:azonenberg/yosys into counter-extraction
Andrew Zonenberg [Thu, 31 Aug 2017 01:16:15 +0000 (18:16 -0700)]
Merge branch 'counter-extraction' of github.com:azonenberg/yosys into counter-extraction

7 years agoextract_counter: Added optimizations to remove unused high-order bits
Andrew Zonenberg [Thu, 31 Aug 2017 01:14:22 +0000 (18:14 -0700)]
extract_counter: Added optimizations to remove unused high-order bits

7 years agoMerge branch 'master' of https://github.com/cliffordwolf/yosys into counter-extraction
Andrew Zonenberg [Wed, 30 Aug 2017 23:40:41 +0000 (16:40 -0700)]
Merge branch 'master' of https://github.com/cliffordwolf/yosys into counter-extraction

7 years agoextract_counter: Minor changes requested to comply with upstream policy, fixed a...
Andrew Zonenberg [Wed, 30 Aug 2017 23:27:18 +0000 (16:27 -0700)]
extract_counter: Minor changes requested to comply with upstream policy, fixed a few typos

7 years agoMerge remote-tracking branch 'upstream/master'
Jason Lowdermilk [Wed, 30 Aug 2017 17:47:06 +0000 (11:47 -0600)]
Merge remote-tracking branch 'upstream/master'

7 years agofix indent level
Jason Lowdermilk [Wed, 30 Aug 2017 17:46:41 +0000 (11:46 -0600)]
fix indent level

7 years agoMerge pull request #397 from azonenberg/gpak-libfixes
Clifford Wolf [Wed, 30 Aug 2017 09:53:44 +0000 (11:53 +0200)]
Merge pull request #397 from azonenberg/gpak-libfixes

Reformatted GP_COUNTx_ADV resets to avoid Yosys thinking that they're…

7 years agoAdd {get,set}_src_attribute() methods on RTLIL::AttrObject
Clifford Wolf [Wed, 30 Aug 2017 09:39:11 +0000 (11:39 +0200)]
Add {get,set}_src_attribute() methods on RTLIL::AttrObject

7 years agoAdd support for source line tracking through synthesis phase
Jason Lowdermilk [Tue, 29 Aug 2017 20:46:35 +0000 (14:46 -0600)]
Add support for source line tracking through synthesis phase

7 years agoFinished refactoring counter extraction to be nice and generic. Implemented techmappi...
Andrew Zonenberg [Tue, 29 Aug 2017 05:13:36 +0000 (22:13 -0700)]
Finished refactoring counter extraction to be nice and generic. Implemented techmapping from $__COUNT_ to GP_COUNTx cells.

7 years agoRefactored extract_counter to be generic vs GreenPAK specific
Andrew Zonenberg [Tue, 29 Aug 2017 04:48:20 +0000 (21:48 -0700)]
Refactored extract_counter to be generic vs GreenPAK specific

7 years agoRefactoring: Renamed greenpak4_counters pass to extract_counter, moved it to techmap...
Andrew Zonenberg [Tue, 29 Aug 2017 03:52:08 +0000 (20:52 -0700)]
Refactoring: Renamed greenpak4_counters pass to extract_counter, moved it to techmap/ since it's going to become a generic pass

7 years agoReformatted GP_COUNTx_ADV resets to avoid Yosys thinking that they're multi-edge...
Andrew Zonenberg [Mon, 28 Aug 2017 16:06:37 +0000 (09:06 -0700)]
Reformatted GP_COUNTx_ADV resets to avoid Yosys thinking that they're multi-edge-sensitive and getting confused.

7 years agoMerge branch 'azonenberg-recover-reduce'
Clifford Wolf [Mon, 28 Aug 2017 17:52:51 +0000 (19:52 +0200)]
Merge branch 'azonenberg-recover-reduce'

7 years agoRename recover_reduce to extract_reduce, fix args handling
Clifford Wolf [Mon, 28 Aug 2017 17:52:06 +0000 (19:52 +0200)]
Rename recover_reduce to extract_reduce, fix args handling

7 years agoMerge branch 'recover-reduce' of https://github.com/azonenberg/yosys into azonenberg...
Clifford Wolf [Mon, 28 Aug 2017 17:46:17 +0000 (19:46 +0200)]
Merge branch 'recover-reduce' of https://github.com/azonenberg/yosys into azonenberg-recover-reduce

7 years agoFurther improve extract_fa pass
Clifford Wolf [Mon, 28 Aug 2017 17:43:26 +0000 (19:43 +0200)]
Further improve extract_fa pass

7 years agoMerge pull request #392 from azonenberg/greenpak-portfixes
Clifford Wolf [Mon, 28 Aug 2017 13:29:58 +0000 (15:29 +0200)]
Merge pull request #392 from azonenberg/greenpak-portfixes

Fixed bug causing GP_SPI model to not synthesize

7 years agoFixed bug causing GP_SPI model to not synthesize
Andrew Zonenberg [Mon, 14 Aug 2017 22:32:07 +0000 (15:32 -0700)]
Fixed bug causing GP_SPI model to not synthesize

7 years agorecover_reduce: Update documentation
Robert Ou [Sun, 27 Aug 2017 09:19:19 +0000 (02:19 -0700)]
recover_reduce: Update documentation

The documentation now describes the commands performed in the deleted
recover_reduce script.

7 years agorecover_reduce: Reindent using tabs
Robert Ou [Sun, 27 Aug 2017 09:12:41 +0000 (02:12 -0700)]
recover_reduce: Reindent using tabs

7 years agorecover_reduce: Rename recover_reduce_core to recover_reduce
Robert Ou [Sun, 27 Aug 2017 09:01:32 +0000 (02:01 -0700)]
recover_reduce: Rename recover_reduce_core to recover_reduce

Clifford has commented on PR #387 stating that he does not like the
driver script and would prefer to only have the core script with
appropriate notes in the documentation.

Also rename to .cc (rather than .cpp) for consistency.

7 years agorecover_reduce: Add driver script for the $reduce_* recover feature
Robert Ou [Fri, 11 Aug 2017 09:00:33 +0000 (02:00 -0700)]
recover_reduce: Add driver script for the $reduce_* recover feature

Conflicts:
passes/techmap/Makefile.inc

7 years agorecover_reduce_core: Finish implementing the core function
Robert Ou [Fri, 11 Aug 2017 08:48:22 +0000 (01:48 -0700)]
recover_reduce_core: Finish implementing the core function

7 years agorecover_reduce_core: Initial commit
Robert Ou [Fri, 11 Aug 2017 07:40:31 +0000 (00:40 -0700)]
recover_reduce_core: Initial commit

Conflicts:
passes/techmap/Makefile.inc

7 years agoDon't track , ... contradictions through x/z-bits
Clifford Wolf [Fri, 25 Aug 2017 14:18:17 +0000 (16:18 +0200)]
Don't track , ... contradictions through x/z-bits

7 years agoAdd removing of redundant pairs of bits in ==, ===, !=, and !== to opt_expr
Clifford Wolf [Fri, 25 Aug 2017 14:02:15 +0000 (16:02 +0200)]
Add removing of redundant pairs of bits in ==, ===, !=, and !== to opt_expr

7 years agoMerge branch 'extract_fa'
Clifford Wolf [Fri, 25 Aug 2017 11:42:13 +0000 (13:42 +0200)]
Merge branch 'extract_fa'

7 years agoFurther improve extract_fa (seems to be fully functional now)
Clifford Wolf [Fri, 25 Aug 2017 11:41:54 +0000 (13:41 +0200)]
Further improve extract_fa (seems to be fully functional now)

7 years agoRename "adders" to "extract_fa"
Clifford Wolf [Fri, 25 Aug 2017 10:04:40 +0000 (12:04 +0200)]
Rename "adders" to "extract_fa"

7 years agoFix bug in write_smt2 (export logic driving hierarchical cells before exporting regs)
Clifford Wolf [Fri, 25 Aug 2017 09:44:48 +0000 (11:44 +0200)]
Fix bug in write_smt2 (export logic driving hierarchical cells before exporting regs)

7 years agoTowards more generic "adder" function extractor
Clifford Wolf [Wed, 23 Aug 2017 12:20:10 +0000 (14:20 +0200)]
Towards more generic "adder" function extractor

7 years agoAdd experimental adders pass
Clifford Wolf [Tue, 22 Aug 2017 11:48:55 +0000 (13:48 +0200)]
Add experimental adders pass

7 years agoAdd hashlib support for hashing of pools
Clifford Wolf [Tue, 22 Aug 2017 11:04:33 +0000 (13:04 +0200)]
Add hashlib support for hashing of pools

7 years agoAdd consteval support for $_ANDNOT_ and $_ORNOT_
Clifford Wolf [Tue, 22 Aug 2017 11:04:05 +0000 (13:04 +0200)]
Add consteval support for $_ANDNOT_ and $_ORNOT_

7 years agoRemove some dead code from fsm_map
Clifford Wolf [Mon, 21 Aug 2017 13:02:16 +0000 (15:02 +0200)]
Remove some dead code from fsm_map

7 years agoRename "singleton" pass to "uniquify"
Clifford Wolf [Sun, 20 Aug 2017 10:31:50 +0000 (12:31 +0200)]
Rename "singleton" pass to "uniquify"

7 years agoMore intuitive handling of "cd .." for singleton modules
Clifford Wolf [Fri, 18 Aug 2017 22:15:12 +0000 (00:15 +0200)]
More intuitive handling of "cd .." for singleton modules

7 years agoAdd "sim -zinit -rstlen"
Clifford Wolf [Fri, 18 Aug 2017 10:54:17 +0000 (12:54 +0200)]
Add "sim -zinit -rstlen"

7 years agoMerge branch 'sim'
Clifford Wolf [Fri, 18 Aug 2017 09:45:15 +0000 (11:45 +0200)]
Merge branch 'sim'

7 years agoAdd "sim" support for memories
Clifford Wolf [Fri, 18 Aug 2017 09:44:50 +0000 (11:44 +0200)]
Add "sim" support for memories

7 years agoAdd Const methods is_fully_zero(), is_fully_def(), and is_fully_undef()
Clifford Wolf [Fri, 18 Aug 2017 09:40:08 +0000 (11:40 +0200)]
Add Const methods is_fully_zero(), is_fully_def(), and is_fully_undef()

7 years agoAdd support for assert/assume/cover to "sim" command
Clifford Wolf [Fri, 18 Aug 2017 08:24:14 +0000 (10:24 +0200)]
Add support for assert/assume/cover to "sim" command