yosys.git
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

4 years agoRemoving cells_sim.v from bram techmap pass
Diego H [Thu, 6 Feb 2020 20:38:29 +0000 (14:38 -0600)]
Removing cells_sim.v from bram techmap pass

4 years agoFix $lcu -> MUXCY mapping, credit @mwkmwkmwk
Eddie Hung [Thu, 6 Feb 2020 19:25:07 +0000 (11:25 -0800)]
Fix $lcu -> MUXCY mapping, credit @mwkmwkmwk

4 years agoFix/cleanup +/xilinx/arith_map.v
Eddie Hung [Tue, 21 Jan 2020 16:42:37 +0000 (08:42 -0800)]
Fix/cleanup +/xilinx/arith_map.v

4 years agoedif: more resilience to mismatched port connection sizes.
Marcin Kościelnicki [Sat, 1 Feb 2020 14:27:27 +0000 (15:27 +0100)]
edif: more resilience to mismatched port connection sizes.

Fixes #1653.

4 years agowrite_verilog: dump $mem cell attributes.
whitequark [Thu, 6 Feb 2020 16:22:22 +0000 (16:22 +0000)]
write_verilog: dump $mem cell attributes.

The Verilog backend already dumps attributes on RTLIL::Memory objects
but not on `$mem` cells.

4 years agoAdded 'set -e' into tests/memfile/run-test.sh
Rodrigo Alejandro Melo [Thu, 6 Feb 2020 13:45:40 +0000 (10:45 -0300)]
Added 'set -e' into tests/memfile/run-test.sh

Also added two checks for situations where the execution must fail.

Signed-off-by: Rodrigo Alejandro Melo <rmelo@inti.gob.ar>
4 years agoModified $readmem[hb] to use '\' or '/' according the OS
Rodrigo Alejandro Melo [Thu, 6 Feb 2020 13:10:29 +0000 (10:10 -0300)]
Modified $readmem[hb] to use '\' or '/' according the OS

Signed-off-by: Rodrigo Alejandro Melo <rmelo@inti.gob.ar>
4 years agoMerge pull request #1682 from YosysHQ/eddie/opt_after_techmap
Eddie Hung [Thu, 6 Feb 2020 04:21:40 +0000 (20:21 -0800)]
Merge pull request #1682 from YosysHQ/eddie/opt_after_techmap

synth_*: call 'opt -fast' after 'techmap'

4 years agosynth_*: call 'opt -fast' after 'techmap'
Eddie Hung [Thu, 6 Feb 2020 02:39:01 +0000 (18:39 -0800)]
synth_*: call 'opt -fast' after 'techmap'

4 years agoshiftx2mux: fix select out of bounds
Eddie Hung [Thu, 6 Feb 2020 00:41:09 +0000 (16:41 -0800)]
shiftx2mux: fix select out of bounds

4 years agoMerge pull request #1576 from YosysHQ/eddie/opt_merge_init
Eddie Hung [Wed, 5 Feb 2020 22:56:26 +0000 (14:56 -0800)]
Merge pull request #1576 from YosysHQ/eddie/opt_merge_init

opt_merge: discard \init of '$' cells with 'Q' port when merging

4 years agoMerge pull request #1650 from YosysHQ/eddie/shiftx2mux
Eddie Hung [Wed, 5 Feb 2020 22:55:57 +0000 (14:55 -0800)]
Merge pull request #1650 from YosysHQ/eddie/shiftx2mux

techmap LSB-first for compatible $shift/$shiftx cells

4 years agoabc9_ops: -reintegrate to use derived_type for box_ports
Eddie Hung [Wed, 5 Feb 2020 22:46:48 +0000 (14:46 -0800)]
abc9_ops: -reintegrate to use derived_type for box_ports

4 years agoMerge remote-tracking branch 'origin/master' into eddie/shiftx2mux
Eddie Hung [Wed, 5 Feb 2020 18:47:31 +0000 (10:47 -0800)]
Merge remote-tracking branch 'origin/master' into eddie/shiftx2mux

4 years agoMerge pull request #1638 from YosysHQ/eddie/fix1631
Eddie Hung [Wed, 5 Feb 2020 18:31:18 +0000 (19:31 +0100)]
Merge pull request #1638 from YosysHQ/eddie/fix1631

clk2fflogic: work for bit-level $_DFF_* and $_DFFSR_*

4 years agoMerge pull request #1661 from YosysHQ/eddie/abc9_required
Eddie Hung [Wed, 5 Feb 2020 17:59:40 +0000 (18:59 +0100)]
Merge pull request #1661 from YosysHQ/eddie/abc9_required

abc9: add support for required times

4 years agoadd testcase for #1614
Stefan Biereigel [Mon, 3 Feb 2020 20:29:54 +0000 (21:29 +0100)]
add testcase for #1614

4 years agocorrect wire declaration grammar for #1614
Stefan Biereigel [Mon, 3 Feb 2020 20:29:40 +0000 (21:29 +0100)]
correct wire declaration grammar for #1614