yosys.git
4 years agoFix tests/arch/xilinx/fsm.ys to count flops only
Eddie Hung [Fri, 14 Feb 2020 18:31:38 +0000 (10:31 -0800)]
Fix tests/arch/xilinx/fsm.ys to count flops only

4 years agoExpand +/xilinx/cells_sim.v to keep ICARUS and non -specify paresr happy
Eddie Hung [Fri, 14 Feb 2020 17:17:53 +0000 (09:17 -0800)]
Expand +/xilinx/cells_sim.v to keep ICARUS and non -specify paresr happy

4 years agoice40: fix specify for inverted clocks
Eddie Hung [Fri, 14 Feb 2020 17:17:20 +0000 (09:17 -0800)]
ice40: fix specify for inverted clocks

4 years agoFix tests by gating some specify constructs from iverilog
Eddie Hung [Thu, 13 Feb 2020 21:43:33 +0000 (13:43 -0800)]
Fix tests by gating some specify constructs from iverilog

4 years agoUpdate simple_abc9 tests
Eddie Hung [Thu, 13 Feb 2020 20:13:12 +0000 (12:13 -0800)]
Update simple_abc9 tests

4 years agoabc9_ops: ignore (* abc9_flop *) if not '-dff'
Eddie Hung [Thu, 13 Feb 2020 19:15:59 +0000 (11:15 -0800)]
abc9_ops: ignore (* abc9_flop *) if not '-dff'

4 years agoice40: specify fixes
Eddie Hung [Thu, 13 Feb 2020 18:30:56 +0000 (10:30 -0800)]
ice40: specify fixes

4 years agoabc9_ops: sort LUT delays to be ascending
Eddie Hung [Thu, 13 Feb 2020 18:30:29 +0000 (10:30 -0800)]
abc9_ops: sort LUT delays to be ascending

4 years agoice40: move over to specify blocks for -abc9
Eddie Hung [Thu, 13 Feb 2020 17:58:20 +0000 (09:58 -0800)]
ice40: move over to specify blocks for -abc9

4 years agosynth_ecp5: use +/abc9_model.v
Eddie Hung [Thu, 13 Feb 2020 17:56:52 +0000 (09:56 -0800)]
synth_ecp5: use +/abc9_model.v

4 years agoUpdate xilinx for ABC9
Eddie Hung [Thu, 13 Feb 2020 17:56:30 +0000 (09:56 -0800)]
Update xilinx for ABC9

4 years agoCreate +/abc9_model.v for $__ABC9_{DELAY,FF_}
Eddie Hung [Thu, 13 Feb 2020 17:56:00 +0000 (09:56 -0800)]
Create +/abc9_model.v for $__ABC9_{DELAY,FF_}

4 years agoabc9_ops: output LUT area
Eddie Hung [Thu, 13 Feb 2020 17:54:40 +0000 (09:54 -0800)]
abc9_ops: output LUT area

4 years agoecp5: remove small LUT entries
Eddie Hung [Thu, 13 Feb 2020 17:50:17 +0000 (09:50 -0800)]
ecp5: remove small LUT entries

4 years agoabc9_ops: cope with T_LIMIT{,2}_{MIN,TYP,MAX} and auto-gen small LUTs
Eddie Hung [Thu, 13 Feb 2020 17:48:48 +0000 (09:48 -0800)]
abc9_ops: cope with T_LIMIT{,2}_{MIN,TYP,MAX} and auto-gen small LUTs

4 years agoFix commented out specify statement
Eddie Hung [Thu, 13 Feb 2020 00:06:24 +0000 (16:06 -0800)]
Fix commented out specify statement

4 years agoxilinx: improve specify functionality
Eddie Hung [Wed, 12 Feb 2020 23:25:30 +0000 (15:25 -0800)]
xilinx: improve specify functionality

4 years agoecp5: deprecate abc9_{arrival,required} and *.{lut,box}
Eddie Hung [Wed, 12 Feb 2020 19:30:37 +0000 (11:30 -0800)]
ecp5: deprecate abc9_{arrival,required} and *.{lut,box}

4 years agoxilinx: use specify blocks in place of abc9_{arrival,required}
Eddie Hung [Tue, 11 Feb 2020 22:22:43 +0000 (14:22 -0800)]
xilinx: use specify blocks in place of abc9_{arrival,required}

4 years agoAuto-generate .box/.lut files from specify blocks
Eddie Hung [Tue, 11 Feb 2020 19:38:49 +0000 (11:38 -0800)]
Auto-generate .box/.lut files from specify blocks

4 years agoabc9_ops: assert on $specify2 properties
Eddie Hung [Tue, 11 Feb 2020 17:18:08 +0000 (09:18 -0800)]
abc9_ops: assert on $specify2 properties

4 years agoabc9_ops: -prep_box, to be called once
Eddie Hung [Tue, 11 Feb 2020 16:54:13 +0000 (08:54 -0800)]
abc9_ops: -prep_box, to be called once

4 years agoabc9_ops: -prep_lut and -write_lut to auto-generate LUT library
Eddie Hung [Tue, 11 Feb 2020 16:34:13 +0000 (08:34 -0800)]
abc9_ops: -prep_lut and -write_lut to auto-generate LUT library

4 years agoMerge pull request #1709 from rqou/coolrunner2_counter
Claire Wolf [Thu, 27 Feb 2020 18:05:56 +0000 (19:05 +0100)]
Merge pull request #1709 from rqou/coolrunner2_counter

Improve CoolRunner-II optimization by using extract_counter pass

4 years agoMerge pull request #1708 from rqou/coolrunner2-buf-fix
Claire Wolf [Thu, 27 Feb 2020 18:03:59 +0000 (19:03 +0100)]
Merge pull request #1708 from rqou/coolrunner2-buf-fix

coolrunner2: Separate and improve buffer cell insertion pass

4 years agoxilinx: mark IOBUFDSE3 IOB pin as external
Piotr Binkowski [Thu, 27 Feb 2020 10:21:01 +0000 (11:21 +0100)]
xilinx: mark IOBUFDSE3 IOB pin as external

4 years agoMerge pull request #1705 from YosysHQ/logger_pass
Miodrag Milanović [Wed, 26 Feb 2020 12:32:49 +0000 (13:32 +0100)]
Merge pull request #1705 from YosysHQ/logger_pass

Logger pass

4 years agoRemove tests for now
Miodrag Milanovic [Wed, 26 Feb 2020 08:49:41 +0000 (09:49 +0100)]
Remove tests for now

4 years agoAdd tests for logger pass
Miodrag Milanovic [Sun, 23 Feb 2020 09:56:39 +0000 (10:56 +0100)]
Add tests for logger pass

4 years agoRemove duplicate warning detection
Miodrag Milanovic [Sun, 23 Feb 2020 09:56:27 +0000 (10:56 +0100)]
Remove duplicate warning detection

4 years agoFix line endings
Miodrag Milanovic [Sun, 23 Feb 2020 09:05:21 +0000 (10:05 +0100)]
Fix line endings

4 years agoMerge pull request #1715 from boqwxp/master
Eddie Hung [Sat, 22 Feb 2020 19:29:22 +0000 (11:29 -0800)]
Merge pull request #1715 from boqwxp/master

Closes #1714. Fix make failure when NDEBUG=1.

4 years agoUpdate explanation for expect-no-warnings
Miodrag Milanovic [Sat, 22 Feb 2020 09:53:23 +0000 (10:53 +0100)]
Update explanation for expect-no-warnings

4 years agoHandle expect no warnings together with expected
Miodrag Milanovic [Sat, 22 Feb 2020 09:52:46 +0000 (10:52 +0100)]
Handle expect no warnings together with expected

4 years agoCheck other regex parameters
Miodrag Milanovic [Sat, 22 Feb 2020 09:31:56 +0000 (10:31 +0100)]
Check other regex parameters

4 years agoCloses #1714. Fix make failure when NDEBUG=1.
Alberto Gonzalez [Sat, 22 Feb 2020 06:29:11 +0000 (06:29 +0000)]
Closes #1714. Fix make failure when NDEBUG=1.

4 years agoMerge pull request #1703 from YosysHQ/eddie/specify_improve
Eddie Hung [Fri, 21 Feb 2020 17:15:17 +0000 (09:15 -0800)]
Merge pull request #1703 from YosysHQ/eddie/specify_improve

Improve specify parser

4 years agoMerge pull request #1642 from jjj11x/jjj11x/sv-enum
Claire Wolf [Thu, 20 Feb 2020 17:17:25 +0000 (18:17 +0100)]
Merge pull request #1642 from jjj11x/jjj11x/sv-enum

Enum support

4 years agocheck for regex errors
Miodrag Milanovic [Thu, 20 Feb 2020 10:41:37 +0000 (11:41 +0100)]
check for regex errors

4 years agoverilog: add support for more delays than just rise/fall
Eddie Hung [Wed, 19 Feb 2020 19:09:37 +0000 (11:09 -0800)]
verilog: add support for more delays than just rise/fall

4 years agoclean: ignore specify-s inside cells when determining whether to keep
Eddie Hung [Wed, 19 Feb 2020 18:45:10 +0000 (10:45 -0800)]
clean: ignore specify-s inside cells when determining whether to keep

4 years agoPrevent double error message
Miodrag Milanovic [Mon, 17 Feb 2020 15:46:34 +0000 (16:46 +0100)]
Prevent double error message

4 years agoOption to expect no warnings
Miodrag Milanovic [Mon, 17 Feb 2020 14:36:06 +0000 (15:36 +0100)]
Option to expect no warnings

4 years agoAdd to changelog
Miodrag Milanovic [Mon, 17 Feb 2020 14:08:35 +0000 (15:08 +0100)]
Add to changelog

4 years agoNo new error if already failing
Miodrag Milanovic [Mon, 17 Feb 2020 11:54:36 +0000 (12:54 +0100)]
No new error if already failing

4 years agocoolrunner2: Use extract_counter to optimize counters
R. Ou [Mon, 17 Feb 2020 11:07:16 +0000 (03:07 -0800)]
coolrunner2: Use extract_counter to optimize counters

This tends to make much more efficient pterm usage compared to just
throwing the problem at ABC

4 years agoextract_counter: Implement extracting up counters
R. Ou [Mon, 17 Feb 2020 10:08:57 +0000 (02:08 -0800)]
extract_counter: Implement extracting up counters

4 years agoextract_counter: Add support for inverted clock enable
R. Ou [Mon, 17 Feb 2020 09:02:25 +0000 (01:02 -0800)]
extract_counter: Add support for inverted clock enable

4 years agoextract_counter: Fix clock enable
R. Ou [Mon, 17 Feb 2020 08:54:33 +0000 (00:54 -0800)]
extract_counter: Fix clock enable

4 years agoextract_counter: Fix outputting count to module port
R. Ou [Mon, 17 Feb 2020 08:44:46 +0000 (00:44 -0800)]
extract_counter: Fix outputting count to module port

4 years agoextract_counter: Allow forbidding async reset
R. Ou [Mon, 17 Feb 2020 08:11:06 +0000 (00:11 -0800)]
extract_counter: Allow forbidding async reset

4 years agoextract_counter: Refactor out extraction settings into struct
R. Ou [Mon, 17 Feb 2020 08:06:50 +0000 (00:06 -0800)]
extract_counter: Refactor out extraction settings into struct

4 years agoupdate documentation for enums and typedefs
Jeff Wang [Mon, 17 Feb 2020 09:40:18 +0000 (04:40 -0500)]
update documentation for enums and typedefs

4 years agoremove unnecessary blank line
Jeff Wang [Mon, 17 Feb 2020 09:40:02 +0000 (04:40 -0500)]
remove unnecessary blank line

4 years agoadd attributes for enumerated values in ilang
Jeff Wang [Mon, 3 Feb 2020 06:12:24 +0000 (01:12 -0500)]
add attributes for enumerated values in ilang

- information also useful for strongly-typed enums (not implemented)
- resolves enum values in ilang part of #1594
- still need to output enums to VCD (or better yet FST) files

4 years agoseparate out enum_item/param implementation when they should be different
Jeff Wang [Mon, 3 Feb 2020 06:08:16 +0000 (01:08 -0500)]
separate out enum_item/param implementation when they should be different

4 years agocoolrunner2: Separate and improve buffer cell insertion pass
R. Ou [Mon, 17 Feb 2020 04:25:46 +0000 (20:25 -0800)]
coolrunner2: Separate and improve buffer cell insertion pass

The new pass will contain all of the logic for inserting "passthrough"
product term and XOR cells as appropriate for the architecture. For
example, this commit fixes connecting an input pin directly to another
output pin with no logic in between.

4 years agotests/aiger: Add missing .gitignore
Marcin Kościelnicki [Sat, 15 Feb 2020 13:32:35 +0000 (14:32 +0100)]
tests/aiger: Add missing .gitignore

4 years agoshow: Add -nobg argument.
Tim 'mithro' Ansell [Sat, 7 Jul 2018 00:04:16 +0000 (17:04 -0700)]
show: Add -nobg argument.

Makes yosys wait for the viewer command to finish before continuing.

4 years agoMerge pull request #1706 from YosysHQ/mmicko/remove_executable_flag
Miodrag Milanović [Sat, 15 Feb 2020 10:15:35 +0000 (11:15 +0100)]
Merge pull request #1706 from YosysHQ/mmicko/remove_executable_flag

Remove executable flag from files

4 years agoRemove executable flag from files
Miodrag Milanovic [Sat, 15 Feb 2020 09:36:44 +0000 (10:36 +0100)]
Remove executable flag from files

4 years agoAdd comment for macOS dependency install
Miodrag Milanović [Sat, 15 Feb 2020 08:44:32 +0000 (09:44 +0100)]
Add comment for macOS dependency install

4 years agoRevert "abc9: fix abc9_arrival for flops"
Eddie Hung [Sat, 15 Feb 2020 00:08:04 +0000 (16:08 -0800)]
Revert "abc9: fix abc9_arrival for flops"

This reverts commit f7c0dbecee7ee8f2e3fc8bc8337e7045fd4aff15.

4 years agoremove whitespace
Miodrag Milanovic [Fri, 14 Feb 2020 12:12:05 +0000 (13:12 +0100)]
remove whitespace

4 years agoAdd expect option to logger command
Miodrag Milanovic [Fri, 14 Feb 2020 11:21:16 +0000 (12:21 +0100)]
Add expect option to logger command

4 years agoMerge pull request #1701 from nakengelhardt/rpc-test
Miodrag Milanović [Fri, 14 Feb 2020 11:06:37 +0000 (12:06 +0100)]
Merge pull request #1701 from nakengelhardt/rpc-test

make rpc frontend unix socket test less fragile

4 years agoverilog: ignore ranges too without -specify
Eddie Hung [Fri, 14 Feb 2020 01:58:43 +0000 (17:58 -0800)]
verilog: ignore ranges too without -specify

4 years agoMerge pull request #1700 from YosysHQ/eddie/abc9_fixes
Eddie Hung [Fri, 14 Feb 2020 01:32:54 +0000 (17:32 -0800)]
Merge pull request #1700 from YosysHQ/eddie/abc9_fixes

Use (* abc9_init *) attribute, fix use of abc9_arrival for flops

4 years agoMerge pull request #1699 from YosysHQ/eddie/fix_iopad_init
Eddie Hung [Fri, 14 Feb 2020 01:32:14 +0000 (17:32 -0800)]
Merge pull request #1699 from YosysHQ/eddie/fix_iopad_init

iopadmap: move \init attributes from outpad output to its input

4 years agoFine tune #1699 tests
Eddie Hung [Thu, 13 Feb 2020 23:14:58 +0000 (15:14 -0800)]
Fine tune #1699 tests

4 years agoiopadmap: fixes as suggested by @mwkmwkmwk
Eddie Hung [Thu, 13 Feb 2020 22:57:06 +0000 (14:57 -0800)]
iopadmap: fixes as suggested by @mwkmwkmwk

4 years agoverilog: improve specify support when not in -specify mode
Eddie Hung [Thu, 13 Feb 2020 21:27:15 +0000 (13:27 -0800)]
verilog: improve specify support when not in -specify mode

4 years agoverilog: ignore '&&&' when not in -specify mode
Eddie Hung [Thu, 13 Feb 2020 21:06:13 +0000 (13:06 -0800)]
verilog: ignore '&&&' when not in -specify mode

4 years agospecify: system timing checks to accept min:typ:max triple
Eddie Hung [Thu, 13 Feb 2020 16:59:08 +0000 (08:59 -0800)]
specify: system timing checks to accept min:typ:max triple

4 years agoverilog: fix $specify3 check
Eddie Hung [Wed, 12 Feb 2020 20:16:01 +0000 (12:16 -0800)]
verilog: fix $specify3 check

4 years agowrite_xaiger: default value for abc9_init
Eddie Hung [Thu, 13 Feb 2020 20:36:50 +0000 (12:36 -0800)]
write_xaiger: default value for abc9_init

4 years agoabc9: fix abc9_arrival for flops
Eddie Hung [Thu, 13 Feb 2020 00:04:19 +0000 (16:04 -0800)]
abc9: fix abc9_arrival for flops

4 years agoabc9: deprecate abc9_ff.init wire for (* abc9_init *) attr
Eddie Hung [Wed, 12 Feb 2020 23:33:02 +0000 (15:33 -0800)]
abc9: deprecate abc9_ff.init wire for (* abc9_init *) attr

4 years agoiopadmap: move \init attributes from outpad output to its input
Eddie Hung [Thu, 13 Feb 2020 20:05:14 +0000 (12:05 -0800)]
iopadmap: move \init attributes from outpad output to its input

4 years agomake rpc frontend unix socket test less fragile
N. Engelhardt [Thu, 13 Feb 2020 19:52:22 +0000 (20:52 +0100)]
make rpc frontend unix socket test less fragile

4 years agoMerge pull request #1694 from rqou/json_compat_fix
Claire Wolf [Thu, 13 Feb 2020 17:30:22 +0000 (18:30 +0100)]
Merge pull request #1694 from rqou/json_compat_fix

json: Change compat mode to directly emit ints <= 32 bits

4 years agoAdd new logger pass
Miodrag Milanovic [Thu, 13 Feb 2020 12:35:29 +0000 (13:35 +0100)]
Add new logger pass

4 years agoMerge pull request #1679 from thasti/delay-parsing
N. Engelhardt [Thu, 13 Feb 2020 11:01:27 +0000 (12:01 +0100)]
Merge pull request #1679 from thasti/delay-parsing

Fix crash on wire declaration with delay

4 years agoabc9: cleanup
Eddie Hung [Mon, 10 Feb 2020 18:17:23 +0000 (10:17 -0800)]
abc9: cleanup

4 years agoMerge pull request #1670 from rodrigomelo9/master
Eddie Hung [Mon, 10 Feb 2020 16:31:01 +0000 (08:31 -0800)]
Merge pull request #1670 from rodrigomelo9/master

$readmem[hb] file inclusion is now relative to the Verilog file

4 years agoMerge pull request #1669 from thasti/pyosys-attrs
N. Engelhardt [Mon, 10 Feb 2020 11:38:28 +0000 (12:38 +0100)]
Merge pull request #1669 from thasti/pyosys-attrs

Make RTLIL attributes accessible via pyosys

4 years agoMerge pull request #1695 from whitequark/manual-explain-wire-upto-offset
whitequark [Sun, 9 Feb 2020 20:29:16 +0000 (20:29 +0000)]
Merge pull request #1695 from whitequark/manual-explain-wire-upto-offset

manual: explain RTLIL::Wire::{upto,offset}

4 years agomanual: explain RTLIL::Wire::{upto,offset}.
whitequark [Sun, 9 Feb 2020 14:54:07 +0000 (14:54 +0000)]
manual: explain RTLIL::Wire::{upto,offset}.

4 years agojson: Change compat mode to directly emit ints <= 32 bits
R. Ou [Sun, 9 Feb 2020 09:01:18 +0000 (01:01 -0800)]
json: Change compat mode to directly emit ints <= 32 bits

This increases compatibility with certain older parsers in some cases
that worked before commit 15fae357 but do not work with the current
compat-int mode

4 years agoRemove unnecessary comma
Eddie Hung [Fri, 7 Feb 2020 20:45:07 +0000 (12:45 -0800)]
Remove unnecessary comma

4 years agoMerge pull request #1687 from YosysHQ/eddie/fix_ystests
Eddie Hung [Fri, 7 Feb 2020 20:32:08 +0000 (12:32 -0800)]
Merge pull request #1687 from YosysHQ/eddie/fix_ystests

Fix shiftx2mux, fix yosys-tests

4 years agotechmap: fix shiftx2mux decomposition
Eddie Hung [Fri, 7 Feb 2020 19:02:48 +0000 (11:02 -0800)]
techmap: fix shiftx2mux decomposition

4 years agoFix misc.abc9.abc9_abc9_luts
Eddie Hung [Fri, 7 Feb 2020 16:27:45 +0000 (08:27 -0800)]
Fix misc.abc9.abc9_abc9_luts

4 years agoxilinx: Add support for LUT RAM on LUT4-based devices.
Marcin Kościelnicki [Mon, 3 Feb 2020 17:37:28 +0000 (18:37 +0100)]
xilinx: Add support for LUT RAM on LUT4-based devices.

There are multiple other kinds of RAMs supported on these devices, but
RAM16X1D is the only dual-port one.

Fixes #1549

4 years agoxilinx: Initial support for LUT4 devices.
Marcin Kościelnicki [Mon, 3 Feb 2020 15:19:24 +0000 (16:19 +0100)]
xilinx: Initial support for LUT4 devices.

Adds support for mapping logic, including LUTs, wide LUTs, and carry
chains.

Fixes #1547

4 years agoMerge pull request #1685 from dh73/gowin
Eddie Hung [Fri, 7 Feb 2020 04:59:21 +0000 (20:59 -0800)]
Merge pull request #1685 from dh73/gowin

Removing cells_sim from GoWin bram techmap

4 years agoMerge pull request #1683 from whitequark/write_verilog-memattrs
whitequark [Fri, 7 Feb 2020 02:54:04 +0000 (02:54 +0000)]
Merge pull request #1683 from whitequark/write_verilog-memattrs

write_verilog: dump $mem cell attributes

4 years agoxilinx: Add block RAM mapping for Virtex 2* and Spartan 3*.
Marcin Kościelnicki [Tue, 4 Feb 2020 14:35:47 +0000 (15:35 +0100)]
xilinx: Add block RAM mapping for Virtex 2* and Spartan 3*.

4 years agoxilinx: Add support for Spartan 3A DSP block RAMs.
Marcin Kościelnicki [Mon, 3 Feb 2020 17:50:33 +0000 (18:50 +0100)]
xilinx: Add support for Spartan 3A DSP block RAMs.

Part of #1550

4 years agoMerge pull request #1684 from YosysHQ/eddie/xilinx_arith_map
Eddie Hung [Thu, 6 Feb 2020 21:51:23 +0000 (13:51 -0800)]
Merge pull request #1684 from YosysHQ/eddie/xilinx_arith_map

Fix/cleanup +/xilinx/arith_map.v