Clifford Wolf
e70ebe557c
Add optional nullstr argument to log_id()
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-01-15 11:06:48 +01:00
whitequark
efa278e232
Fix typographical and grammatical errors and inconsistencies.
...
The initial list of hits was generated with the codespell command
below, and each hit was evaluated and fixed manually while taking
context into consideration.
DIRS="kernel/ frontends/ backends/ passes/ techlibs/"
DIRS="${DIRS} libs/ezsat/ libs/subcircuit"
codespell $DIRS -S *.o -L upto,iff,thru,synopsys,uint
More hits were found by looking through comments and strings manually.
2019-01-02 13:12:17 +00:00
whitequark
18291c20d2
proc_clean: remove any empty cases if all cases use all-def compare.
2018-12-23 09:04:30 +00:00
whitequark
2ca237e086
tcl: add support for passing arguments to scripts.
2018-12-20 07:32:24 +00:00
Clifford Wolf
e90195b737
Improve ConstEval error handling for non-eval cell types
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-29 05:07:40 +01:00
Jon Burgess
6732e56632
Avoid assert when label is an empty string
...
Calling back() on an empty string is not allowed and triggers
an assert with recent gcc:
$ cd manual/PRESENTATION_Intro
$ ../../yosys counter.ys
...
/usr/include/c++/8/bits/basic_string.h:1136: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::back() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference = char&]: Assertion '!empty()' failed.
802 if (label.back() == ':' && GetSize(label) > 1)
(gdb) p label
$1 = ""
2018-10-28 14:57:04 +00:00
whentze
9ed77f5ba8
fix unhandled std::out_of_range when calling yosys with 3-character argument
2018-10-22 19:40:22 +02:00
Ruben Undheim
c50afc4246
Documentation improvements etc.
...
- Mention new feature in the SystemVerilog section in the README file
- Commented changes much better
- Rename a few signals to make it clearer
- Prevent warning for unused signals in an easier way
- Add myself as copyright holder to 2 files
- Fix one potential memory leak (delete 'wire' if not in modport)
2018-10-13 20:34:44 +02:00
Ruben Undheim
458a94059e
Support for 'modports' for System Verilog interfaces
2018-10-12 21:11:48 +02:00
Ruben Undheim
75009ada3c
Synthesis support for SystemVerilog interfaces
...
This time doing the changes mostly in AST before RTLIL generation
2018-10-12 21:11:36 +02:00
Adrian Wheeldon
1355492c89
Fix IdString M in setup_stdcells()
2018-10-04 15:36:26 +01:00
Benedikt Tutzer
6f8abc1143
Exposed generator script to make-process
2018-09-19 10:32:34 +02:00
Miodrag Milanovic
c5e9034834
Fix Cygwin build and document needed packages
2018-09-19 10:16:53 +02:00
Benedikt Tutzer
604734b484
added functions whose definitions are split over multiple lines
2018-08-23 14:48:20 +02:00
Benedikt Tutzer
586d7df7e2
added default yosys license text
2018-08-23 14:39:44 +02:00
Benedikt Tutzer
ba18e0f81a
Fixed segfault / multiple free issue with lists
2018-08-23 13:57:37 +02:00
Benedikt Tutzer
0ecfffa69c
Do not pass heap object to Python. This way they should be completely managed by Python and destroyed when out of scope. Also, the file in which a function/struct was found is added to the comment before the function
2018-08-22 14:42:42 +02:00
Benedikt Tutzer
60608a86bb
Fixed Identation
2018-08-22 11:59:22 +02:00
Benedikt Tutzer
038caab4e0
Wrapped functions that use unsigned int or type_t as types
2018-08-21 15:25:43 +02:00
Benedikt Tutzer
4acb29db0c
added operators <, == and !=
2018-08-21 14:49:35 +02:00
Benedikt Tutzer
334bfce4c4
Added previousely missed functions
2018-08-21 13:15:08 +02:00
Benedikt Tutzer
29efc9d0b1
Deleted duplicate Destructor
2018-08-21 11:07:59 +02:00
Benedikt Tutzer
95d65971f3
added some checks if python is enabled to make sure everything compiles if python is disabled in the makefile
2018-08-20 16:04:43 +02:00
Benedikt Tutzer
d41c68ee5a
The share directory cannot be searched when used as a Python library, only in shell mode
2018-08-20 15:27:50 +02:00
Benedikt Tutzer
6d18837d62
Python passes are now looked for in share/plugins and can be added by specifying a relative or absolute path
2018-08-20 15:11:06 +02:00
Benedikt Tutzer
5864db3c2b
Fixed issue when using a python plugin in the yosys shell
2018-08-20 14:44:03 +02:00
Benedikt Tutzer
d79a2808cf
Python Passes can now be added with the -m option or with the plugin command. There are still issues when run in shell mode, but they can be used just fine in a python script
2018-08-16 16:00:11 +02:00
Clifford Wolf
67b1026297
Merge pull request #591 from hzeller/virtual-override
...
Consistent use of 'override' for virtual methods in derived classes.
2018-08-15 14:05:38 +02:00
litghost
80d7e007ff
Map .eblif extension as blif.
...
Signed-off-by: litghost <537074+litghost@users.noreply.github.com>
2018-08-13 14:02:53 -07:00
Benedikt Tutzer
bf7b73acfc
Added Wrappers for:
...
-IdString
-Const
-CaseRule
-SwitchRule
-SyncRule
-Process
-SigChunk
-SigBit
-SigSpec
With all their member functions as well as the remaining member
functions for Cell, Wire, Module and Design and static functions of
rtlil.h
2018-08-13 15:18:46 +02:00
Benedikt Tutzer
416946a16a
Saving id and pointer to c++ object. Object is valid only if both id and pointer match the pair saved in the corresponding map in kernel/rtlil.cc. Otherwise, the object was destroyed in c++ and should not be accessed any more
2018-08-01 10:57:57 +02:00
Benedikt Tutzer
79d7e608cf
Setup is called automatically when the module is loaded, shutdown when python exits
2018-08-01 10:57:46 +02:00
Benedikt Tutzer
57d2197703
Cleaned up comments
2018-08-01 10:57:41 +02:00
Henner Zeller
3aa4484a3c
Consistent use of 'override' for virtual methods in derived classes.
...
o Not all derived methods were marked 'override', but it is a great
feature of C++11 that we should make use of.
o While at it: touched header files got a -*- c++ -*- for emacs to
provide support for that language.
o use YS_OVERRIDE for all override keywords (though we should probably
use the plain keyword going forward now that C++11 is established)
2018-07-20 23:51:06 -07:00
Henner Zeller
1a60126a34
Provide source-location logging.
...
o Provide log_file_warning() and log_file_error() that prefix the log
message with <filename>:<lineno>: to be easily picked up by IDEs that
need to step through errors.
o Simplify some duplicate logging code in kernel/log.cc
o Use the new log functions in genrtlil.
2018-07-19 10:22:02 -07:00
Benedikt Tutzer
0371519c39
Added Monitor class that can monitor all changes in a Design or in a Module
2018-07-10 12:51:02 +02:00
Benedikt Tutzer
e7d3f3cd46
added destructors for wires and cells
2018-07-10 08:52:36 +02:00
Benedikt Tutzer
55df7fff19
removed debug output
2018-07-09 16:02:10 +02:00
Benedikt Tutzer
da8083dbd0
commands can now be run on arbitrary designs, not only on the active one
2018-07-09 16:01:56 +02:00
Benedikt Tutzer
8ebaeecd83
multiple designs can now exist independent from each other. Cells/Wires/Modules can now move to a different parent without referencing issues
2018-07-09 15:48:06 +02:00
Benedikt Tutzer
7911379d4a
Introduced namespace and removed class-prefixes to increase readability
2018-06-28 15:07:21 +02:00
Benedikt Tutzer
ccb4dcd013
changed references from hash-ids to IdString names
2018-06-28 14:44:28 +02:00
Benedikt Tutzer
a27fa1833e
added wrappers for Design, Modules, Cells and Wires
2018-06-25 17:08:29 +02:00
Robert Ou
0abe7c6c77
Modify emscripten main to mount nodefs and to run arg as a script
2018-05-18 22:53:52 -07:00
Robert Ou
bd87462b47
Fix reading techlibs under emscripten
2018-05-18 22:42:33 -07:00
Christian Krämer
c1ecb1b2f1
Add "#ifdef __FreeBSD__"
...
(Re-commit e3575a8
with corrected author field)
2018-05-13 13:08:26 +02:00
Clifford Wolf
1167538d26
Revert "Add "#ifdef __FreeBSD__""
...
This reverts commit e3575a86c5
.
2018-05-13 13:06:36 +02:00
Johnny Sorocil
e3575a86c5
Add "#ifdef __FreeBSD__"
2018-05-05 13:02:44 +02:00
Clifford Wolf
5c03aeac60
Add "yosys -e regex" for turning warnings into errors
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-04 15:27:28 +02:00
Clifford Wolf
0acea3548b
Set stack size to at least 128 MB (large stack needed for parsing huge expressions)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-27 15:04:10 +02:00
Edmond Cote
64ea55056a
Rename rename to renames
...
Create TCL alias for rename command. Using renames. Following the same convention as proc -> procs.
2018-03-20 15:50:50 -07:00
Larry Doolittle
82fecc98c0
Harmonize uses of _WIN32 macro
2018-03-11 16:01:30 +01:00
Clifford Wolf
e5534a080e
Improve handling of warning messages
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-04 22:35:59 +01:00
Clifford Wolf
2935e8ea41
Update copyright header
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-04 21:31:10 +01:00
Clifford Wolf
eb67a7532b
Add $allconst and $allseq cell types
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-02-23 13:14:47 +01:00
Clifford Wolf
82c436587c
Do not create deep backtraces unless in ENABLE_DEBUG mode
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-02-03 15:04:39 +01:00
Clifford Wolf
a96c775a73
Add support for "yosys -E"
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-01-07 16:36:13 +01:00
Clifford Wolf
c80315cea4
Bugfix in hierarchy handling of blackbox module ports
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-01-05 13:28:45 +01:00
Clifford Wolf
76afff7ef6
Add RTLIL::Const::is_fully_ones()
2017-12-14 02:06:39 +01:00
Clifford Wolf
96ad688849
Add SigSpec::is_fully_ones()
2017-12-14 01:29:09 +01:00
Kevin Kiningham
7350f7692a
Use quote includes for yosys.h
2017-12-13 13:27:52 -08:00
Clifford Wolf
9ae25039fb
Add support for editline as replacement for readline
2017-11-08 02:55:00 +01:00
Clifford Wolf
13eb47c692
Add src arguments to all cell creator helper functions
2017-09-09 10:16:48 +02:00
Clifford Wolf
8a66bd30c6
Update more stuff to use get_src_attribute() and set_src_attribute()
2017-09-01 12:26:55 +02:00
Jason Lowdermilk
71d43cfc08
Merge remote-tracking branch 'upstream/master'
2017-08-30 11:47:06 -06:00
Jason Lowdermilk
271e8ba7cd
fix indent level
2017-08-30 11:46:41 -06:00
Clifford Wolf
8530333439
Add {get,set}_src_attribute() methods on RTLIL::AttrObject
2017-08-30 11:39:11 +02:00
Jason Lowdermilk
32c0f1193e
Add support for source line tracking through synthesis phase
2017-08-29 14:46:35 -06:00
Clifford Wolf
d3b3dd8e88
Add hashlib support for hashing of pools
2017-08-22 13:04:33 +02:00
Clifford Wolf
bce0bb6e43
Add consteval support for $_ANDNOT_ and $_ORNOT_
2017-08-22 13:04:05 +02:00
Clifford Wolf
4ba5bd12c6
Add Const methods is_fully_zero(), is_fully_def(), and is_fully_undef()
2017-08-18 11:40:08 +02:00
Clifford Wolf
159701962a
Auto-detect JSON front-end
2017-08-09 13:28:52 +02:00
Clifford Wolf
2336d5508b
Add log_warning_noprefix() API, Use for Verific warnings and errors
2017-07-27 12:17:04 +02:00
Clifford Wolf
493fedbaf9
Add "using std::get" to yosys.h
2017-07-25 14:52:34 +02:00
Clifford Wolf
c251e3a576
Change intptr_t to uintptr_t in hashlib.h
2017-07-18 17:38:19 +02:00
Robert Ou
f0741698fa
Fix build warnings for win64
...
Win64 has a 32-bit long. Use intptr_t to work on any data model.
2017-07-17 12:36:43 -07:00
Clifford Wolf
1f517d2b96
Fix history namespace collision
2017-06-20 05:26:12 +02:00
Clifford Wolf
c0ca99483c
Store command history when terminating with an error
2017-06-20 04:41:58 +02:00
Clifford Wolf
05df3dbee4
Add "setundef -anyseq"
2017-05-28 11:59:05 +02:00
Clifford Wolf
662a047815
Enable readline and tcl in mxe builds
2017-05-17 20:46:22 +02:00
Clifford Wolf
6934b862d3
Add missing AndnotGate() and OrnotGate() declarations to rtlil.h
2017-05-17 19:10:57 +02:00
Clifford Wolf
05cdd58c8d
Add $_ANDNOT_ and $_ORNOT_ gates
2017-05-17 09:08:29 +02:00
Clifford Wolf
fcb274a564
Add ConstEval defaultval feature
2017-04-05 11:25:22 +02:00
Clifford Wolf
b8d7f57f61
Add front-end detection for *.tcl files
2017-03-28 12:13:58 +02:00
Clifford Wolf
5f1d0b1024
Add $live and $fair cell types, add support for s_eventually keyword
2017-02-25 10:36:39 +01:00
Clifford Wolf
c6d8d70109
Fix mingw compile issue (2nd attempt)
2017-02-23 14:21:02 +01:00
Clifford Wolf
0822b21844
Fix mingw compile issue (maybe.. I can't test it)
2017-02-23 13:59:02 +01:00
Clifford Wolf
e6d56d23b5
Fix eval implementation of $_NOR_
2017-02-16 12:17:03 +01:00
Clifford Wolf
828303791b
Add "yosys -w" for suppressing warnings
2017-02-12 11:11:00 +01:00
Clifford Wolf
63dfdb5d7f
Add log_wire() API
2017-02-11 11:08:36 +01:00
Clifford Wolf
aab58045a8
Fix undef propagation bug in $pmux SAT model
2017-02-05 22:43:33 +01:00
Clifford Wolf
3928482a3c
Add $cover cell type and SVA cover() support
2017-02-04 14:14:26 +01:00
Clifford Wolf
b54972c112
Fix RTLIL::Memory::start_offset initialization
2017-01-25 17:00:59 +01:00
Clifford Wolf
6b2c23c721
Bugfix in RTLIL::SigSpec::remove2()
2016-12-31 16:14:42 +01:00
Clifford Wolf
33a22f8768
Simplified log_spacer() code
2016-12-23 02:06:46 +01:00
Clifford Wolf
a0dff87a57
Added "yosys -W regex"
2016-12-22 23:41:44 +01:00
Clifford Wolf
f144adec58
Added AIGER back-end to automatic back-end detection
2016-12-21 10:16:47 +01:00
Clifford Wolf
00761de1b7
Bugfix in comment handling
2016-12-13 13:48:09 +01:00
Clifford Wolf
a926a6afc2
Remember global declarations and defines accross read_verilog calls
2016-11-15 12:42:43 +01:00
Clifford Wolf
fa535c0b00
Some minor build fixes for Visual C
2016-10-14 18:36:02 +02:00
Clifford Wolf
bdc316db50
Added $anyseq cell type
2016-10-14 15:24:03 +02:00
Clifford Wolf
53655d173b
Added $global_clock verilog syntax support for creating $ff cells
2016-10-14 12:33:56 +02:00
Clifford Wolf
8ebba8a35f
Added $ff and $_FF_ cell types
2016-10-12 01:18:39 +02:00
Clifford Wolf
59508c99b4
define PATH_MAX if not defined by limits.h
2016-10-11 12:12:09 +02:00
Clifford Wolf
cb7dbf4070
Improvements in assertpmux
2016-09-07 12:42:16 +02:00
Clifford Wolf
6f41e5277d
Removed $aconst cell type
2016-08-30 19:09:56 +02:00
Clifford Wolf
eae390ae17
Removed $predict again
2016-08-28 21:35:33 +02:00
Clifford Wolf
23afeadb5e
Fixed handling of transparent bram rd ports on ROMs
2016-08-27 17:06:22 +02:00
Clifford Wolf
f8a77abfac
Added glob support to all front-ends
2016-08-22 15:05:57 +02:00
William D. Jones
5299b17056
Add MSYS2-compatible build.
2016-08-16 14:41:59 -04:00
Clifford Wolf
5767e4bc4d
Use _Exit(0) on win32, always use _Exit(1) in log_error()
2016-08-16 09:38:54 +02:00
Clifford Wolf
39da8eddae
Added log_const() API
2016-08-09 19:56:10 +02:00
Yury Gribov
f7730d43bb
Use /proc/self/exe on Cygwin as well.
2016-08-08 12:00:27 +02:00
Clifford Wolf
8d88fcb270
Added SatGen support for $anyconst
2016-07-27 15:52:20 +02:00
Clifford Wolf
9540be1d45
Removed $predict support from SatGen
2016-07-27 15:44:11 +02:00
Clifford Wolf
4056312987
Added $anyconst and $aconst
2016-07-27 15:41:22 +02:00
Clifford Wolf
a7b0769623
Added "read_verilog -dump_rtlil"
2016-07-27 15:40:17 +02:00
Clifford Wolf
8537c4d206
Renamed AbstractCellEdgesDatabase::add_cell() to add_edges_from_cell()
2016-07-25 16:39:25 +02:00
Clifford Wolf
b1c432af56
Improvements in CellEdgesDatabase
2016-07-24 17:21:53 +02:00
Clifford Wolf
f162b858f2
Added CellEdgesDatabase API
2016-07-24 13:59:57 +02:00
Clifford Wolf
89deb412c6
Added satgen initstate support
2016-07-22 10:28:45 +02:00
Clifford Wolf
5c166e76e5
Added $initstate cell type and vlog function
2016-07-21 14:23:22 +02:00
Clifford Wolf
d7763634b6
After reading the SV spec, using non-standard predict() instead of expect()
2016-07-21 13:34:33 +02:00
Clifford Wolf
721f1f5ecf
Added basic support for $expect cells
2016-07-13 16:56:17 +02:00
Ruben Undheim
a8200a773f
A few modifications after pull request comments
...
- Renamed Design::packages to Design::verilog_packages
- No need to include ast.h in rtlil.h
2016-06-18 14:23:38 +02:00
Ruben Undheim
178ff3e7f6
Added support for SystemVerilog packages with localparam definitions
2016-06-18 10:53:55 +02:00
Clifford Wolf
ebece2b8d5
Added $sop SAT model
2016-06-17 17:47:30 +02:00
Clifford Wolf
95757efb25
Improved support for $sop cells
2016-06-17 16:31:16 +02:00
Clifford Wolf
52bb1b968d
Added $sop cell type and "abc -sop"
2016-06-17 13:50:09 +02:00
Clifford Wolf
864eeadcd9
Added missing "#define HASHLIB_H"
2016-05-14 11:43:20 +02:00
Clifford Wolf
570014800a
Include <cmath> in yosys.h
2016-05-08 10:50:39 +02:00
Clifford Wolf
f103bfb9ba
Fixes for MXE build
2016-05-07 10:53:18 +02:00
Clifford Wolf
9aa4b3309c
Added "yosys -D ALL"
2016-04-24 17:12:34 +02:00
Clifford Wolf
0bc95f1e04
Added "yosys -D" feature
2016-04-21 23:28:37 +02:00
Clifford Wolf
a07f893a5f
Minor hashlib bugfix
2016-04-16 23:20:11 +02:00
Clifford Wolf
ace462237f
Hashlib indenting fix
2016-04-05 13:25:23 +02:00
Clifford Wolf
2553319081
Added ScriptPass helper class for script-like passes
2016-03-31 11:16:34 +02:00
Clifford Wolf
6f1b6dc322
Added log_dump() support for dict<> and pool<> containers
2016-03-31 09:57:44 +02:00
Clifford Wolf
0db53284fd
We have 2016 for a while now
2016-03-30 13:52:26 +02:00
Clifford Wolf
48dbc75bed
Added .vhd file extension support
2016-03-30 13:24:49 +02:00
Clifford Wolf
95784437ac
Merge pull request #137 from ravenexp/master
...
Embed DATDIR make variable value into yosys binary.
2016-03-28 16:54:23 +02:00
Sebastian Kuzminsky
73870c1edf
fix a cut-n-paste error in the -h help
2016-03-26 11:15:35 -06:00
Sergey Kvachonok
963c0d2525
Embed DATDIR make variable value into yosys binary.
...
Use it as the last resort in the share/ directory location search.
2016-03-26 11:16:53 +03:00
Clifford Wolf
45af4a4acf
Use easyer-to-read unoptimized ceil_log2()
...
see here for details on the optimized version:
http://svn.clifford.at/handicraft/2016/esbmc/ceilog2.c
2016-02-15 23:06:18 +01:00
Clifford Wolf
0c4b311242
Fixed more visual studio warnings
2016-02-14 09:35:25 +01:00
Clifford Wolf
bcc873b805
Fixed some visual studio warnings
2016-02-13 17:31:24 +01:00
Clifford Wolf
0d7fd2585e
Added "int ceil_log2(int)" function
2016-02-13 16:52:16 +01:00
Clifford Wolf
ba407da187
Added addBufGate module method
2016-02-02 11:26:07 +01:00
Clifford Wolf
01bcc5663f
SigMap performance improvement
2016-02-01 10:10:20 +01:00
Clifford Wolf
ea492abcf0
hashlib mfp<> performance improvements
2016-02-01 10:03:03 +01:00
Clifford Wolf
13e15a24a2
Added reserve() method to haslib classes and
...
calculate hashtable size based on entries capacity, not size
2016-01-31 22:50:34 +01:00
Rick Altherr
3c48de8e21
rtlil: Improve performance of SigSpec::extract(SigSpec, SigSpec*)
...
Converting to a pool<SigBit> is fairly expensive due to inserts somewhat
frequently causing rehashing. Instead, walk through the pattern SigSpec
directly on a chunk-by-chunk basis and apply it to this SigSpec's
individual bits. Using chunks for the pattern minimizes the number of
iterations in the outer loop.
2016-01-31 09:20:16 -08:00
Rick Altherr
0265d7b100
rtlil: speed up SigSpec::sort_and_unify()
...
std::set<> internally is often a red-black tree which is fairly
expensive to create but fast to lookup. In the case of
sort_and_unify(), a set<> is constructed as a temporary object to
attempt to speed up lookups. Being a temporarily, however, the cost of
creation far outweights the lookup improvement and is a net performance
loss. Instead, sort the vector<> that already exists and then apply
std::unique().
2016-01-31 09:20:16 -08:00
Rick Altherr
89dc40f162
rtlil: improve performance of SigSpec::replace(SigSpec, SigSpec, SigSpec*)
2016-01-31 09:20:16 -08:00
Rick Altherr
cd3e1095b0
rtlil: improve performance of SigSpec::remove2(SigSpec, SigSpec*)
2016-01-31 09:20:16 -08:00
Clifford Wolf
5462399c88
Meaningless coding style change
2016-01-31 16:12:35 +01:00
Rick Altherr
43756559d8
rtlil: rewrite remove2() to avoid copying
2016-01-30 00:28:07 -08:00
Rick Altherr
12ebdef17c
rtlil: duplicate remove2() for std::set<>
2016-01-29 23:06:40 -08:00
Rick Altherr
9e26147ccd
rtlil: change IdString comparison operators to take references instead of copies
2016-01-29 23:06:40 -08:00
Clifford Wolf
33a5b28e25
Added default values for hashlib at() methods
2015-12-02 20:41:57 +01:00
Clifford Wolf
276101f032
Re-added SigMap::allbits()
2015-11-30 19:43:52 +01:00
Clifford Wolf
6459e3ac39
Removed dangling ';' in rtlil.h
2015-11-26 18:11:34 +01:00
Clifford Wolf
1e32e4bdae
Improved SigMap performance
2015-10-28 11:21:55 +01:00
Clifford Wolf
e69efec588
Improvements in new SigMap
2015-10-28 00:39:53 +01:00
Clifford Wolf
f3db70d2f3
Removed old SigMap implementation
2015-10-27 15:09:44 +01:00
Clifford Wolf
09b4050f2e
Added hashlib::mfp and new SigMap
2015-10-27 15:04:47 +01:00
Clifford Wolf
d014ba2d0e
Major refactoring of equiv_struct
2015-10-25 19:31:29 +01:00
Clifford Wolf
207736b4ee
Import more std:: stuff into Yosys namespace
2015-10-25 19:30:49 +01:00
Clifford Wolf
da923c198e
Added "equiv_add -cell"
2015-10-25 14:35:40 +01:00
Clifford Wolf
7f110e7018
renamed SigSpec::to_single_sigbit() to SigSpec::as_bit(), added is_bit()
2015-10-24 22:56:40 +02:00
Clifford Wolf
a1c3df7fe4
Fixed driver conflict handling (various cmds)
2015-10-24 19:23:30 +02:00
Clifford Wolf
6fe48cf41e
equiv_purge bugfix, using SigChunk in Yosys namespace
2015-10-24 19:09:45 +02:00
Clifford Wolf
2a0f577f83
Fixed handling of driver-driver conflicts in wreduce
2015-10-24 13:44:35 +02:00
Clifford Wolf
281a033e92
Added support for ":" as comment symbol after ;-parsing
2015-10-23 20:08:33 +02:00
Clifford Wolf
5d1c0ce7c0
Progress on cell help messages
2015-10-17 02:35:19 +02:00
Clifford Wolf
7d3a3a3173
Added first help messages for cell types
2015-10-14 16:27:42 +02:00
Clifford Wolf
924d9d6e86
Added read-enable to memory model
2015-09-25 12:23:11 +02:00
Clifford Wolf
d212d4d0c1
Cosmetic fix in Module::addLut()
2015-09-18 21:55:12 +02:00
Andrei Errapart
522176c946
Removed unnecessary cast.
2015-09-01 12:40:36 +02:00
Andrei Errapart
09176bcf3f
Microsoft Visual C++ fixes in hashlib; template specializations on int32_t and int64_t.
2015-09-01 12:40:24 +02:00
Andrei Errapart
744a5333f5
Microsoft Visual C++ fix for log.h.
2015-09-01 12:40:12 +02:00
Clifford Wolf
ee8f6f31f4
Added SigMap::allbits()
2015-08-31 16:42:19 +02:00
Clifford Wolf
ff50bc2ac3
Added $tribuf and $_TBUF_ cell types
2015-08-16 12:54:52 +02:00
Clifford Wolf
84bf862f7c
Spell check (by Larry Doolittle)
2015-08-14 10:56:05 +02:00
Clifford Wolf
bc468cb6f2
Fixed hashlib for 64 bit int keys
2015-08-12 13:37:09 +02:00
Clifford Wolf
45ee2ba3b8
Fixed handling of [a-fxz?] in decimal constants
2015-08-11 11:32:37 +02:00
Clifford Wolf
8d6d5c30d9
Added WORDS parameter to $meminit
2015-07-31 10:40:09 +02:00
Clifford Wolf
6c84341f22
Fixed trailing whitespaces
2015-07-02 11:14:30 +02:00
Clifford Wolf
caa274ada6
Added design->rename(module, new_name)
2015-06-30 01:37:59 +02:00
Clifford Wolf
99100f367d
Added "rename -top new_name"
2015-06-17 09:38:56 +02:00
Clifford Wolf
ea23bb8aa4
Added "write_smv" skeleton
2015-06-15 00:46:27 +02:00
Clifford Wolf
4c733301e6
Fixed cstr_buf for std::string with small string optimization
2015-06-11 13:39:49 +02:00
Clifford Wolf
3a6abc9bf6
Improvements in cellaigs.cc and "json -aig"
2015-06-11 10:48:16 +02:00
Clifford Wolf
1ae360cf72
AigMaker refactoring
2015-06-10 23:00:12 +02:00
Clifford Wolf
e534881794
Added "json -aig"
2015-06-10 08:13:56 +02:00
Clifford Wolf
85287295b2
Fixed cellaigs port extending
2015-06-10 07:16:30 +02:00
Clifford Wolf
66f9ee412a
Added "aig" pass
2015-06-09 22:33:26 +02:00
Clifford Wolf
e49e2662aa
Added cellaigs API
2015-06-09 09:54:22 +02:00
Clifford Wolf
de4f4dad3c
Fixed "avail_parameters" handling in module clone/copy
2015-06-08 14:49:34 +02:00
Clifford Wolf
98650a0609
Added log_dump() support for IdStrings
2015-06-08 14:49:02 +02:00
Clifford Wolf
2cc4e75914
Added read_blif command
2015-05-17 15:25:03 +02:00
Clifford Wolf
61512b6f41
Verific build fixes
2015-05-17 08:19:52 +02:00
Clifford Wolf
f483dce7c2
Added $eq/$neq -> $logic_not/$reduce_bool optimization
2015-04-29 07:28:15 +02:00
Clifford Wolf
49859393bb
Improved attributes API and handling of "src" attributes
2015-04-24 22:04:05 +02:00
Clifford Wolf
cfdc9fc50e
A "#" does start a comment, not a label.
2015-04-16 18:13:41 +02:00
Clifford Wolf
44519d4399
Added back-end auto-detect for .edif and .json
2015-04-09 15:37:54 +02:00
Clifford Wolf
25781e329b
Fixed const2big performance bug
2015-04-09 13:20:19 +02:00
Clifford Wolf
21a1cc1b60
Added support for "file names with blanks"
2015-04-08 12:14:34 +02:00
Clifford Wolf
aae5f2ca08
Added hashlib support for std::tuple<>
2015-04-07 17:23:30 +02:00
Clifford Wolf
b31e77fd06
Added pool<K>::pop()
2015-04-07 15:07:01 +02:00
Clifford Wolf
169d1c4711
Added support for initialized brams
2015-04-06 17:06:15 +02:00
Clifford Wolf
a1c62b79d5
Avoid parameter values with size 0 ($mem cells)
2015-04-05 18:04:19 +02:00
Clifford Wolf
706631225e
Added $_MUX4_, $_MUX8_, and $_MUX16_ cell types
2015-04-05 09:45:14 +02:00
Clifford Wolf
c52a4cdeed
Added "dffinit", Support for initialized Xilinx DFF
2015-04-04 19:00:15 +02:00
Clifford Wolf
68bbb15214
Fixed detection of absolute paths in ABC for win32
2015-03-22 11:03:56 +01:00
Clifford Wolf
b005eedf36
Added $assume cell type
2015-02-26 18:04:10 +01:00
Clifford Wolf
9ae21263f0
Some cleanups in "clean"
2015-02-24 22:31:30 +01:00
Clifford Wolf
4e6ca7760f
Replaced ezDefaultSAT with ezSatPtr
2015-02-21 12:15:41 +01:00
Clifford Wolf
e0e6d130cd
YosysJS stuff
2015-02-19 13:36:54 +01:00
Clifford Wolf
f41378af8c
Fixed clang (svn trunk) warnings
2015-02-18 14:54:22 +01:00
Clifford Wolf
3e5e9a3889
More YosysJS stuff
2015-02-16 13:23:54 +01:00
Clifford Wolf
33e80b96c7
Added YosysJS wrapper
2015-02-16 12:41:48 +01:00
Clifford Wolf
8d45f81046
More emcc stuff
2015-02-15 17:15:29 +01:00
Clifford Wolf
3216f9420e
More emscripten stuff, Added example app
2015-02-15 12:09:30 +01:00
Clifford Wolf
dcf2e24240
Added $meminit support to "memory" command
2015-02-14 12:55:03 +01:00
Clifford Wolf
910556560f
Added $meminit cell type
2015-02-14 10:23:03 +01:00
Clifford Wolf
adf4ecbc1f
Some hashlib improvements
2015-02-09 20:11:51 +01:00
Clifford Wolf
a779a09771
Fixed creation of command reference in manual
2015-02-09 13:24:29 +01:00
Clifford Wolf
bcd8a2fc56
Fixed eval_select_op() api
2015-02-08 19:06:16 +01:00
Clifford Wolf
09ee65a050
Added eval_select_args() and eval_select_op()
2015-02-08 18:56:06 +01:00
Clifford Wolf
6d2f31c04a
Various ModIndex improvements
2015-02-08 14:23:12 +01:00
Clifford Wolf
05d4223fb6
Added SigSpec::has_const()
2015-02-08 00:01:51 +01:00
Clifford Wolf
dce1fae777
Added cell->known(), cell->input(portname), cell->output(portname)
2015-02-07 11:40:19 +01:00
Clifford Wolf
5b41470e15
Skip blackbox modules in design->selected_modules()
2015-02-03 23:12:23 +01:00
Clifford Wolf
8514fe79db
Added "yosys -L logfile"
2015-02-03 23:12:23 +01:00
Clifford Wolf
1df81f92ce
Added "make mklibyosys", some minor API changes
2015-02-01 13:38:46 +01:00
Clifford Wolf
9948ff2d8a
Added yosys_banner(), Updated Copyright range
2015-02-01 00:39:59 +01:00
Clifford Wolf
07326943e7
Added <algorithm> include to hashlib.h
2015-02-01 00:27:07 +01:00
Clifford Wolf
67218443be
Log msg change
2015-01-31 21:26:53 +01:00
Clifford Wolf
bc86b4a7e9
Added "equiv_induct -undef"
2015-01-31 13:58:04 +01:00
Clifford Wolf
e9cfc4a453
Added "equiv_simple -undef"
2015-01-31 13:06:41 +01:00
Clifford Wolf
f80f5b721d
Added "equiv_make -blacklist <file> -encfile <file>"
2015-01-31 12:08:20 +01:00
Clifford Wolf
cb9d0a414d
Synced RTLIL::unescape_id() to log_id() behavior
2015-01-30 22:51:16 +01:00
Clifford Wolf
aabd5097ed
More log_id() stuff
2015-01-30 22:22:52 +01:00
Clifford Wolf
114a78d11a
Some cleanups in log.cc
2015-01-30 22:12:26 +01:00
Clifford Wolf
13b50bacfe
Rethrow with "catch(...) throw;"
2015-01-25 22:57:09 +01:00
Clifford Wolf
2a9ad48eb6
Added ENABLE_NDEBUG makefile options
2015-01-24 12:16:46 +01:00
Clifford Wolf
8fe9ab50e5
Added #ifdef NDEBUG for log_assert()
2015-01-24 11:49:34 +01:00
Clifford Wolf
43951099cf
Added dict/pool.sort()
2015-01-24 00:13:27 +01:00
Clifford Wolf
a6aa32e762
Various equiv_simple improvements
2015-01-22 13:42:04 +01:00
Clifford Wolf
abf8398216
Progress in equiv_simple
2015-01-21 23:59:58 +00:00
Clifford Wolf
76c5d863c5
Added equiv_make command
2015-01-19 13:59:08 +01:00
Clifford Wolf
e13a45ae61
Added $equiv cell type
2015-01-19 11:55:05 +01:00
Clifford Wolf
0217ea0fb8
Added hashlib::idict<>
2015-01-18 12:12:33 +01:00
Clifford Wolf
b32ba6f568
Optimizing no-op cell->setPort()
2015-01-17 12:04:40 +01:00
Clifford Wolf
95f1eb9b87
Only enable code coverage counters on linux
2015-01-09 17:32:53 +01:00
Clifford Wolf
07703bdac4
fixed compiler warning on non-linux archs
2015-01-06 16:12:43 +01:00
Clifford Wolf
859e3e41e7
hashlib iterator fix
2015-01-06 16:05:00 +01:00
Clifford Wolf
9fb715dc74
build fix for mxe
2015-01-06 15:46:58 +01:00
Clifford Wolf
f9304e6c10
Print non-errors to stdout
2015-01-03 22:10:33 +01:00
Clifford Wolf
e62d838bd4
Removed SigSpec::extend_xx() api
2015-01-01 11:41:52 +01:00
Clifford Wolf
327a5d42b6
Progress in memory_bram
2014-12-31 22:50:08 +01:00
Clifford Wolf
94e6b70736
Added memory_bram (not functional yet)
2014-12-31 16:53:53 +01:00
Clifford Wolf
1e08621e7e
Added hashlib .count(key, iterator) and it1 < it2
2014-12-31 14:52:46 +01:00
Clifford Wolf
ba48b6b1e6
improved bitpattern (proc_mux) performance
2014-12-31 13:15:35 +01:00
Clifford Wolf
b9e412423a
hashlib cleanups and a fix
2014-12-31 13:05:33 +01:00
Clifford Wolf
12b05dfc04
gcc-4.6 compile fixes
2014-12-31 04:24:04 +01:00
Clifford Wolf
429ccb62a1
new hashlib::pool<> (derived from new dict)
2014-12-31 04:19:04 +01:00
Clifford Wolf
c4bd6cb9d3
major rewrite of hashlib::dict<>
2014-12-31 03:58:29 +01:00
Clifford Wolf
7d6a7fe2ce
IdString optimization
2014-12-31 03:56:09 +01:00
Clifford Wolf
60f16e17af
hotfix for ModInfo
2014-12-31 03:55:13 +01:00
Clifford Wolf
6fef4b82a2
using pool<> in bitpattern.h
2014-12-30 23:45:43 +01:00
Clifford Wolf
1909edfa9c
improved -v option
2014-12-30 22:54:42 +01:00
Clifford Wolf
50fff2b240
print timing details (-d) in -q mode
2014-12-30 22:31:04 +01:00
Clifford Wolf
0675098733
added hashlib::mkhash_init
2014-12-30 18:51:24 +01:00
Clifford Wolf
120a8313d9
Small optimization in hashlib
2014-12-30 13:30:22 +01:00
Clifford Wolf
3857e1cb66
Improvements in hashlib
2014-12-30 13:22:33 +01:00
Clifford Wolf
d72a666440
Put dummy reference to empty idstring in yosys_shutdown()
2014-12-29 21:26:15 +01:00
Clifford Wolf
2f1e6aa256
Improved free list management in hashlib
2014-12-29 20:24:28 +01:00
Clifford Wolf
7a4d5d1c0f
Less verbose ABC output
2014-12-29 15:17:40 +01:00
Clifford Wolf
0bb6b24c11
Added global yosys_celltypes
2014-12-29 14:30:33 +01:00
Clifford Wolf
ecd64182c5
Added "yosys -X"
2014-12-29 13:33:33 +01:00
Clifford Wolf
33e25394b4
Fixed comment parsing in Pass::call()
2014-12-29 04:23:19 +01:00
Clifford Wolf
7d843adef9
dict/pool changes in opt_clean
2014-12-29 04:06:52 +01:00
Clifford Wolf
662cb549e4
Added newline support to Pass::call() parser
2014-12-29 03:49:45 +01:00
Clifford Wolf
90bc71dd90
dict/pool changes in ast
2014-12-29 03:11:50 +01:00
Clifford Wolf
397ae5b697
gcc build fixes
2014-12-29 02:46:59 +01:00
Clifford Wolf
cfe0817697
Converting "share" to dict<> and pool<> complete
2014-12-29 02:01:42 +01:00
Clifford Wolf
a2226e5307
Added mkhash_xorshift()
2014-12-29 00:12:36 +01:00
Clifford Wolf
dede5353b1
Some changes to hashlib to make for better stl compatibility
2014-12-28 22:26:09 +01:00
Clifford Wolf
2ad131764f
Some cleanups
2014-12-28 21:43:14 +01:00
Clifford Wolf
8773fd5897
Added memhasher (yosys -M)
2014-12-28 21:27:51 +01:00
Clifford Wolf
137f35373f
Changed more code to dict<> and pool<>
2014-12-28 19:24:24 +01:00
Clifford Wolf
f3a97b75c7
Fixed performance bug in object hashing
2014-12-28 19:03:18 +01:00
Clifford Wolf
89723a45cf
Improved hashlib iterator implementation
2014-12-28 18:48:48 +01:00
Clifford Wolf
3da46d3437
Renamed hashmap.h to hashlib.h, some related improvements
2014-12-28 17:51:16 +01:00
Clifford Wolf
3e8e483233
Various improvements in ModIndex
2014-12-27 13:04:44 +01:00
Clifford Wolf
6c8b0a5fd1
More dict/pool related changes
2014-12-27 12:02:57 +01:00
Clifford Wolf
2c2f8e6e9f
Added memory statistics (at least on linux)
2014-12-27 11:25:51 +01:00
Clifford Wolf
d6ee6f653f
Better help message printing for command line tool
2014-12-27 11:01:59 +01:00
Clifford Wolf
66ab88d7b0
More hashtable finetuning
2014-12-27 03:04:50 +01:00
Clifford Wolf
88d08e8f24
Some cleanups in dict/pool hashtable implementation
2014-12-26 23:21:23 +01:00
Clifford Wolf
6ce6689b63
Using Yosys::dict and Yosys::pool in sigtools.h
2014-12-26 22:08:44 +01:00
Clifford Wolf
ec4751e55c
Replaced std::unordered_set (nodict) with Yosys::pool
2014-12-26 21:59:41 +01:00
Clifford Wolf
9e6fb0b02c
Replaced std::unordered_map as implementation for Yosys::dict
2014-12-26 21:35:22 +01:00
Clifford Wolf
e52d1f9b9a
Added new_dict (hashmap.h) and re-enabled code coverage counters
2014-12-26 19:28:52 +01:00
Clifford Wolf
e0c0011863
Temporary gcc 4.6 build hotfix for Yosys::dict and Yosys::nodict
2014-12-26 11:05:23 +01:00
Clifford Wolf
35f611e2f6
Added "yosys -d" command line option
2014-12-26 10:54:23 +01:00
Clifford Wolf
a6c96b986b
Added Yosys::{dict,nodict,vector} container types
2014-12-26 10:53:21 +01:00
Clifford Wolf
edb3c9d0c4
Renamed extend() to extend_xx(), changed most users to extend_u0()
2014-12-24 09:51:17 +01:00
Clifford Wolf
76fa527492
Added support for multiple clock domains to "abc" pass
2014-12-21 16:52:05 +01:00
Clifford Wolf
6cec188c52
Fixed build with gcc 4.6
2014-12-16 10:38:25 +01:00
Clifford Wolf
7775d2806f
Added IdString::destruct_guard hack
2014-12-11 21:46:36 +01:00
Clifford Wolf
032511fac8
Added functionality to dff2dffe pass
2014-12-08 15:38:58 +01:00
Clifford Wolf
7d6e586df8
Added bool constructors to SigBit and SigSpec
2014-12-08 15:08:02 +01:00
Clifford Wolf
bca2442c67
Added module->addDffe() and module->addDffeGate()
2014-12-08 14:59:38 +01:00
Clifford Wolf
f1764b4fe9
Added $dffe cell type
2014-12-08 10:50:19 +01:00
Clifford Wolf
fad9cec47b
Added $_DFFE_??_ cell types
2014-12-08 10:43:38 +01:00
Clifford Wolf
1e0f6b5ddb
Added "yosys -qq" to also quiet warning messages
2014-11-09 11:02:20 +01:00
Clifford Wolf
a112b10934
Introducing YS_OVERRIDE, YS_FINAL, YS_ATTRIBUTE, YS_NORETURN
2014-11-09 10:55:04 +01:00
Clifford Wolf
fe829bdbdc
Added log_warning() API
2014-11-09 10:44:23 +01:00
Clifford Wolf
003336c58d
Use a cache for log_id() memory management
2014-11-08 12:38:22 +01:00
Clifford Wolf
89be7bf527
Added "used" attribute to entries in yosys_cover_list
...
http://www.reddit.com/r/yosys/comments/2kw479/fyi_clang_350_build_error/cltgwyc
http://llvm.org/bugs/show_bug.cgi?id=19474
2014-11-07 20:58:08 +01:00
Clifford Wolf
546e8b5fe7
Improved TopoSort determinism
2014-11-07 15:21:03 +01:00
Clifford Wolf
99cdfb3110
Fixed typo in "log_cmd_error_exception"
2014-11-07 12:48:15 +01:00
Clifford Wolf
a346c0bf2b
Made "cover" a compile-time option (disabled by default)
2014-11-06 09:39:55 +01:00
Clifford Wolf
269e37e969
Added support for empty lines to here documents
2014-10-29 09:05:17 +01:00
Clifford Wolf
70b2efdb05
Added support for $readmemh/$readmemb
2014-10-26 20:33:10 +01:00
Clifford Wolf
c5eb5e56b8
Re-introduced Yosys::readsome() helper function
...
(f.read() + f.gcount() made problems with lines > 16kB)
2014-10-23 10:58:36 +02:00
Clifford Wolf
3202ba621c
Merge pull request #40 from parvizp/compile_mac_10.9.2
...
Builds on Mac 10.9.2 with LLVM 3.5.
2014-10-19 18:40:22 +02:00
Parviz Palangpour
de8adb8ec5
Builds on Mac 10.9.2 with LLVM 3.5.
2014-10-19 11:14:43 -05:00
Clifford Wolf
6c1c1e9a07
Improved new_id() for win32
2014-10-18 19:26:03 +02:00
Clifford Wolf
0471d158d9
Various improvements to version reporting on win32
2014-10-18 19:00:52 +02:00
Clifford Wolf
6bcb4f1f45
Fixed shell prompt and proc_self_dirname() for win32
2014-10-18 16:51:50 +01:00
Clifford Wolf
84ffe04075
Fixed various VS warnings
2014-10-18 15:20:38 +02:00
Clifford Wolf
b3a6f8f530
More win32 (mxe and vs) build fixes
2014-10-17 16:04:59 +02:00
Clifford Wolf
468ae92374
Various win32 / vs build fixes
2014-10-17 14:01:47 +02:00
Clifford Wolf
4df902637a
Various MXE build fixes
2014-10-17 12:04:40 +02:00
William Speirs
31267a1ae8
Header changes so it will compile on VS
2014-10-17 11:41:36 +02:00
Clifford Wolf
34caeeb4f3
Fixed a few VS warnings
2014-10-17 06:02:38 +02:00
Clifford Wolf
3be5fa053f
Fixed RTLIL::SigSpec::parse() for out-of-range bit- and part-selects
2014-10-16 00:54:14 +02:00
Clifford Wolf
82ed814fa1
Replaced log_assert() do { ... } while (0) hack with a static inline function
2014-10-15 20:36:32 +02:00
Clifford Wolf
2355ddf75d
Fixed gcc warning
2014-10-15 02:48:51 +02:00
Clifford Wolf
3445a933a5
Fixed MXE build
2014-10-15 02:43:50 +02:00
Clifford Wolf
1fc6208ec0
Check for _YOSYS_ in yosys.h
2014-10-15 01:18:31 +02:00
Clifford Wolf
c3e9922b5d
Replaced readsome() with read() and gcount()
2014-10-15 01:12:53 +02:00
Clifford Wolf
cf85aab62f
A few indent fixes
2014-10-15 01:05:08 +02:00
William Speirs
9cb2303799
Made iterators extend std::iterator and added == operator
2014-10-15 00:56:37 +02:00
Clifford Wolf
069521e2d5
Define empty __attribute__ macro for non-gcc, non-clang compilers
2014-10-15 00:56:04 +02:00
William Speirs
0352dbfd65
Fixed log so it will compile under Visual Studio
...
- Included an implementation of gettimeofday
2014-10-15 00:48:59 +02:00
Clifford Wolf
0913e968f5
More win32/abc fixes
2014-10-12 14:48:19 +02:00
Clifford Wolf
1a7684be24
Various small fixes for non-win32 builds
2014-10-12 12:18:38 +02:00
Clifford Wolf
0b9282a779
Added make_temp_{file,dir}() and remove_directory() APIs
2014-10-12 12:11:57 +02:00
Clifford Wolf
b1596bc0e7
Added run_command() api to replace system() and popen()
2014-10-12 10:57:15 +02:00
Clifford Wolf
0dc249ccd7
Shrinked the copyright banner by 1 character
2014-10-11 11:59:35 +02:00
Clifford Wolf
8263f6a74a
Fixed win32 troubles with f.readsome()
2014-10-11 11:36:22 +02:00
Clifford Wolf
568fee5e74
Added proc_self_dirname() for win32
2014-10-11 11:08:52 +02:00
Clifford Wolf
53349fb634
Fixed ifdefs for plugin unloading
2014-10-11 10:57:46 +02:00
Clifford Wolf
df537a216b
Using next_token() to parse commands
2014-10-10 18:53:03 +02:00
Clifford Wolf
20d85f20db
Fixed next_token()
2014-10-10 18:38:40 +02:00
Clifford Wolf
2c683102be
Added next_token() function (strtok() replacement)
2014-10-10 18:33:55 +02:00
Clifford Wolf
986bcc13cb
Various win32 build fixes in yosys.cc
2014-10-10 18:20:17 +02:00
Clifford Wolf
ee5165c6e4
Moved patmatch() to yosys.cc
2014-10-10 18:20:17 +02:00
Clifford Wolf
774933a0d8
Replaced fnmatch() with patmatch()
2014-10-10 18:02:17 +02:00
Clifford Wolf
bbd808072b
Added format __attribute__ to stringf()
2014-10-10 17:22:08 +02:00
Clifford Wolf
7cb0d3aa1a
Renamed TRUE/FALSE to CONST_TRUE/CONST_FALSE because of name collision on Win32
2014-10-10 17:07:24 +02:00
Clifford Wolf
4569a747f8
Renamed SIZE() to GetSize() because of name collision on Win32
2014-10-10 17:07:24 +02:00
Clifford Wolf
c7f5aab625
Replaced "#ifdef WIN32" with "#ifdef _WIN32"
2014-10-09 17:00:54 +02:00
Clifford Wolf
fea11f0fa4
Added API for generic cell cost calculations
2014-10-09 13:59:26 +02:00
Clifford Wolf
d3405c15bf
No rusage on win32
2014-10-09 10:51:24 +02:00
Clifford Wolf
56c1d43408
satgen import sigbit api
2014-10-03 18:51:50 +02:00
Clifford Wolf
3e4b0cac8d
added resource sharing of $macc cells
2014-10-03 12:58:40 +02:00
Clifford Wolf
c3e779a65f
Added $_BUF_ cell type
2014-10-03 10:12:28 +02:00
Clifford Wolf
0b8cfbc6fd
Added support for "keep" on modules
2014-09-29 12:51:54 +02:00
Clifford Wolf
f9a307a50b
namespace Yosys
2014-09-27 16:17:53 +02:00
Clifford Wolf
edf11c635a
Assert on new logic loops in "share" pass
2014-09-21 12:57:33 +02:00
Clifford Wolf
00964f2f61
Initialize RTLIL::Const from std::vector<bool>
2014-09-19 15:50:55 +02:00
Clifford Wolf
fa96cf4a16
Added new CodingReadme file (replaces CodingStyle and CHECKLISTS)
2014-09-16 11:26:44 +02:00
Clifford Wolf
b470c480e9
Added the obvious optimizations to alumacc $macc generator
2014-09-15 12:22:03 +02:00
Clifford Wolf
2442eb3832
Fixed monitor notifications for removed cell
2014-09-14 17:04:39 +02:00
Clifford Wolf
7815f81c32
Added "synth" command
2014-09-14 16:09:06 +02:00
Clifford Wolf
fcb46138ce
Simplified $fa undef model
2014-09-08 16:59:39 +02:00
Clifford Wolf
af0c8873bb
Added $lcu cell type
2014-09-08 13:31:04 +02:00
Clifford Wolf
d46bac3305
Added "$fa" cell type
2014-09-08 12:15:39 +02:00
Clifford Wolf
98e6463ca7
Added $macc eval model
2014-09-06 19:44:28 +02:00
Clifford Wolf
fa64942018
Added $macc SAT model
2014-09-06 19:44:11 +02:00
Clifford Wolf
b847ec8a0b
Added $macc cell type
2014-09-06 15:47:46 +02:00
Ruben Undheim
79cbf9067c
Corrected spelling mistakes found by lintian
2014-09-06 08:47:06 +02:00
Clifford Wolf
8927aa6148
Removed $bu0 cell type
2014-09-04 02:07:52 +02:00
Clifford Wolf
b9cb483f3e
Using $pos models for $bu0
2014-09-03 21:20:59 +02:00
Clifford Wolf
50ac284823
Fixes in $alu SAT- and eval-models
2014-09-03 13:39:46 +02:00
Clifford Wolf
da360771a1
Create a default selection stack in RTLIL::Design::Design()
2014-09-02 22:49:24 +02:00
Clifford Wolf
c38283dbd0
Small bug fixes in $not, $neg, and $shiftx models
2014-09-02 17:48:41 +02:00
Clifford Wolf
2fcf66b91d
Added ConstEval model for $alu cells
2014-09-01 16:35:46 +02:00
Clifford Wolf
bae09dca2b
Added SAT model for $alu cells
2014-09-01 16:35:25 +02:00
Clifford Wolf
e07698818d
Using std::vector<RTLIL::State> instead of RTLIL::Const for RTLIL::SigChunk::data
2014-09-01 11:36:02 +02:00
Clifford Wolf
83ec3fa204
Fixed return size of const_*() eval functions
2014-08-31 18:08:26 +02:00
Clifford Wolf
be44157c0f
Added RTLIL::Const::size()
2014-08-31 18:07:48 +02:00
Clifford Wolf
a1c7d4a8e2
Added eval model for $lut cells
2014-08-31 17:43:31 +02:00
Clifford Wolf
0b6769af3f
Typo fixes in cell->*Param() API
2014-08-31 17:43:31 +02:00
Clifford Wolf
8649b57b6f
Added $lut support in test_cell, techmap, satgen
2014-08-31 17:43:31 +02:00
Clifford Wolf
2a1b08aeb3
Added design->scratchpad
2014-08-30 19:37:12 +02:00
Clifford Wolf
4724d94fbc
Added $alu cell type
2014-08-30 18:59:05 +02:00
Clifford Wolf
dfbd7dd15a
Fixed module->addPmux()
2014-08-30 18:17:22 +02:00
Clifford Wolf
eda603105e
Added is_signed argument to SigSpec.as_int() and Const.as_int()
2014-08-24 15:14:00 +02:00
Clifford Wolf
58367cd87a
Removed compatbility.{h,cc}: Not using open_memstream/fmemopen anymore
2014-08-23 15:14:58 +02:00
Clifford Wolf
19cff41eb4
Changed frontend-api from FILE to std::istream
2014-08-23 15:03:55 +02:00
Clifford Wolf
5dce303a2a
Changed backend-api from FILE to std::ostream
2014-08-23 13:54:21 +02:00
Clifford Wolf
98442e019d
Added emscripten (emcc) support to build system and some build fixes
2014-08-22 16:20:22 +02:00
Clifford Wolf
a3494fa9ed
Added "plugin" command
2014-08-22 14:00:11 +02:00
Clifford Wolf
b37d70dfd7
Added mod->addGate() methods for new gate types
2014-08-19 14:26:54 +02:00
Clifford Wolf
aa7a3ed83f
Fixed proc_{self,share}_dirname error handling
2014-08-17 02:25:59 +02:00
Clifford Wolf
f3326a6421
Improved sig.remove2() performance
2014-08-17 02:16:56 +02:00
Clifford Wolf
9bacc0b54c
Added stackmap<> container
2014-08-17 00:56:47 +02:00
Clifford Wolf
410d043dd8
Renamed toposort.h to utils.h
2014-08-17 00:55:35 +02:00
Clifford Wolf
7f734ecc09
Added module->uniquify()
2014-08-16 23:50:36 +02:00
Clifford Wolf
47c2637a96
Added additional gate types: $_NAND_ $_NOR_ $_XNOR_ $_AOI3_ $_OAI3_ $_AOI4_ $_OAI4_
2014-08-16 18:29:39 +02:00
Clifford Wolf
56a30cf42c
Added CellTypes::cell_evaluable()
2014-08-16 16:17:07 +02:00
Clifford Wolf
dbdf89c705
Added log_spacer()
2014-08-16 15:34:00 +02:00
Clifford Wolf
b64b38eea2
Renamed $lut ports to follow A-Y naming scheme
2014-08-15 14:18:40 +02:00
Clifford Wolf
f092b50148
Renamed $_INV_ cell type to $_NOT_
2014-08-15 14:11:40 +02:00
Clifford Wolf
ca87116449
More idstring sort_by_* helpers and fixed tpl ordering in techmap
2014-08-15 02:40:46 +02:00
Clifford Wolf
8ff71b5ae5
Added Frontend "+/" filename syntax for files from proc_share_dir
2014-08-15 02:08:02 +02:00
Clifford Wolf
978a933b6a
Added RTLIL::SigSpec::to_sigbit_map()
2014-08-14 23:14:47 +02:00
Clifford Wolf
2f44d8ccf8
Added sig.{replace,remove,extract} variants for std::{map,set} pattern
2014-08-14 22:32:18 +02:00
Clifford Wolf
1bf7a18fec
Added module->ports
2014-08-14 16:22:52 +02:00
Clifford Wolf
746aac540b
Refactoring of CellType class
2014-08-14 15:46:51 +02:00
Clifford Wolf
13f2f36884
RIP $safe_pmux
2014-08-14 11:39:46 +02:00
Clifford Wolf
e5ac8fdf2b
Fixed SigBit(RTLIL::Wire *wire) constructor
2014-08-12 15:39:48 +02:00
Clifford Wolf
5215723c64
Another build fix by americanrouter (via reddit)
2014-08-11 15:55:41 +02:00
Clifford Wolf
0b8b8d41eb
Fixed build with gcc-4.6
2014-08-07 22:37:01 +02:00
Clifford Wolf
523df73145
Added support for truncating of wires to wreduce pass
2014-08-05 14:47:03 +02:00
Clifford Wolf
ebbbe7fc83
Added RTLIL::IdString::in(...)
2014-08-04 15:40:07 +02:00
Clifford Wolf
653edd7a2f
Added query() API to ModIndex
2014-08-03 15:00:38 +02:00
Clifford Wolf
75423169c5
Added ID() macro for static IdStrings
2014-08-03 14:59:13 +02:00
Clifford Wolf
bc947d4c7b
Fixed a va_list corruption in logv_error()
2014-08-02 21:54:30 +02:00
Clifford Wolf
b6acbc82e6
Bugfix in "techmap -extern"
2014-08-02 20:54:30 +02:00
Clifford Wolf
8e7361f128
Removed at() method from RTLIL::IdString
2014-08-02 19:08:02 +02:00
Clifford Wolf
04727c7e0f
No implicit conversion from IdString to anything else
2014-08-02 18:58:40 +02:00
Clifford Wolf
768eb846c4
More bugfixes related to new RTLIL::IdString
2014-08-02 18:14:21 +02:00
Clifford Wolf
08392aad8f
Limit size of log_signal buffer to 100 elements
2014-08-02 15:52:21 +02:00
Clifford Wolf
e590ffc84d
Improvements in new RTLIL::IdString implementation
2014-08-02 15:44:10 +02:00
Clifford Wolf
60f3dc9923
Implemented new reference counting RTLIL::IdString
2014-08-02 15:11:35 +02:00
Clifford Wolf
97ad0623df
Fixed memory corruption related to id2cstr()
2014-08-02 13:34:07 +02:00
Clifford Wolf
b9bd22b8c8
More cleanups related to RTLIL::IdString usage
2014-08-02 13:19:57 +02:00
Clifford Wolf
14412e6c95
Preparations for RTLIL::IdString redesign: cleanup of existing code
2014-08-02 00:45:25 +02:00
Clifford Wolf
75ffd1643c
Added logfile hash to statistics footer
2014-08-01 19:43:28 +02:00
Clifford Wolf
1e224506be
Added per-pass cpu usage statistics
2014-08-01 18:42:10 +02:00
Clifford Wolf
d13eb7e099
Added ModIndex helper class, some changes to RTLIL::Monitor
2014-08-01 17:14:32 +02:00
Clifford Wolf
97a17d39e2
Packed SigBit::data and SigBit::offset in a union
2014-08-01 15:25:42 +02:00
Clifford Wolf
32a1cc3efd
Renamed modwalker.h to modtools.h
2014-07-31 23:30:18 +02:00
Clifford Wolf
cdae8abe16
Renamed port access function on RTLIL::Cell, added param access functions
2014-07-31 16:38:54 +02:00
Clifford Wolf
b5a9e51b96
Added "trace" command
2014-07-31 15:02:16 +02:00
Clifford Wolf
cd9407404a
Added RTLIL::Monitor
2014-07-31 14:45:14 +02:00
Clifford Wolf
e6d33513a5
Added module->design and cell->module, wire->module pointers
2014-07-31 14:11:39 +02:00
Clifford Wolf
1cb25c05b3
Moved some stuff to kernel/yosys.{h,cc}, using Yosys:: namespace
2014-07-31 13:19:47 +02:00
Clifford Wolf
6166c76831
Added "yosys -A"
2014-07-31 01:05:27 +02:00
Clifford Wolf
e5c245df9d
Added "yosys -Q"
2014-07-31 00:53:21 +02:00
Clifford Wolf
2541489105
Added techmap CONSTMAP feature
2014-07-30 22:04:30 +02:00
Clifford Wolf
6400ae3648
Added write_file command
2014-07-30 19:59:29 +02:00
Clifford Wolf
3f0a5746ef
Using native ezSAT shift ops in satgen, fixed $shift and $shiftx SAT models
2014-07-30 18:37:17 +02:00
Clifford Wolf
45fd26b76e
Added "log_dump_val_worker(char *v)"
2014-07-30 15:58:21 +02:00
Clifford Wolf
a7c6b37abf
Added "kernel/yosys.h" and "kernel/yosys.cc"
2014-07-30 14:10:15 +02:00
Clifford Wolf
273383692a
Added "test_cell" command
2014-07-29 22:07:41 +02:00
Clifford Wolf
e6df25bf74
Renamed "write_autotest" to "test_autotb" and moved to passes/tests/
2014-07-29 21:12:50 +02:00
Clifford Wolf
03c96f9ce7
Added "techmap -map %{design-name}"
2014-07-29 16:35:13 +02:00
Clifford Wolf
397b00252d
Added $shift and $shiftx cell types (needed for correct part select behavior)
2014-07-29 16:35:13 +02:00
Clifford Wolf
3c45277ee0
Added wire->upto flag for signals such as "wire [0:7] x;"
2014-07-28 12:12:13 +02:00
Clifford Wolf
7bd2d1064f
Using log_assert() instead of assert()
2014-07-28 11:27:48 +02:00
Clifford Wolf
d86a25f145
Added std::initializer_list<> constructor to SigSpec
2014-07-28 10:52:58 +02:00
Clifford Wolf
f99495a895
Added cover() to all SigSpec constructors
2014-07-28 10:52:30 +02:00
Clifford Wolf
c4bdba78cb
Added proper Design->addModule interface
2014-07-27 21:12:09 +02:00
Clifford Wolf
5da343b7de
Added topological sorting to techmap
2014-07-27 16:43:39 +02:00
Clifford Wolf
0c86d6106c
Added SigPool::check(bit)
2014-07-27 15:38:02 +02:00
Clifford Wolf
ddd31a0b66
Small improvements in PerformanceTimer API
2014-07-27 15:14:02 +02:00
Clifford Wolf
d07a871d35
Improved performance of opt_const on large modules
2014-07-27 14:50:25 +02:00
Clifford Wolf
4be645860b
Added RTLIL::SigSpec::remove_const() handling of packed SigSpecs
2014-07-27 14:47:48 +02:00
Clifford Wolf
cbc3a46a97
Added RTLIL::SigSpecConstIterator
2014-07-27 14:47:23 +02:00
Clifford Wolf
d878fcbdc7
Added log_cmd_error_expection
2014-07-27 12:05:50 +02:00
Clifford Wolf
675cb93da9
Added RTLIL::Module::wire(id) and cell(id) lookup functions
2014-07-27 11:18:31 +02:00
Clifford Wolf
0bd8fafbd2
Added RTLIL::Design::modules()
2014-07-27 11:18:30 +02:00
Clifford Wolf
10e5791c5e
Refactoring: Renamed RTLIL::Design::modules to modules_
2014-07-27 11:18:30 +02:00
Clifford Wolf
d088854b47
Added conversion from ObjRange to std::vector and std::set
2014-07-27 11:18:30 +02:00
Clifford Wolf
1c8fdaeef8
Added RTLIL::ObjIterator and RTLIL::ObjRange
2014-07-27 11:18:30 +02:00
Clifford Wolf
ddc5b41848
Using std::move() in SigSpec move constructor
2014-07-27 09:20:59 +02:00
Clifford Wolf
7f3dc86ecd
Added RTLIL::SigSpec move constructor and move assignment operator
2014-07-27 02:11:57 +02:00
Clifford Wolf
c91570bde3
Mostly cosmetic changes to rtlil.h
2014-07-27 02:00:04 +02:00
Clifford Wolf
4c4b602156
Refactoring: Renamed RTLIL::Module::cells to cells_
2014-07-27 01:51:45 +02:00
Clifford Wolf
f9946232ad
Refactoring: Renamed RTLIL::Module::wires to wires_
2014-07-27 01:49:51 +02:00
Clifford Wolf
d68c993ed2
Changed more code to the new RTLIL::Wire constructors
2014-07-26 21:30:38 +02:00
Clifford Wolf
946ddff9ce
Changed a lot of code to the new RTLIL::Wire constructors
2014-07-26 20:12:50 +02:00
Clifford Wolf
267c615640
Added support for here documents
2014-07-26 17:21:40 +02:00
Clifford Wolf
97a59851a6
Added RTLIL::Cell::has(portname)
2014-07-26 16:11:28 +02:00
Clifford Wolf
f8fdc47d33
Manual fixes for new cell connections API
2014-07-26 15:58:23 +02:00
Clifford Wolf
b7dda72302
Changed users of cell->connections_ to the new API (sed command)
...
git grep -l 'connections_' | xargs sed -i -r -e '
s/(->|\.)connections_\["([^"]*)"\] = (.*);/\1set("\2", \3);/g;
s/(->|\.)connections_\["([^"]*)"\]/\1get("\2")/g;
s/(->|\.)connections_.at\("([^"]*)"\)/\1get("\2")/g;
s/(->|\.)connections_.push_back/\1connect/g;
s/(->|\.)connections_/\1connections()/g;'
2014-07-26 15:58:23 +02:00
Clifford Wolf
cd6574ecf6
Added some missing "const" in rtlil.h
2014-07-26 15:58:22 +02:00
Clifford Wolf
7ac9dc7f6e
Added RTLIL::Module::connections()
2014-07-26 15:58:21 +02:00
Clifford Wolf
b03aec6e32
Added RTLIL::Module::connect(const RTLIL::SigSig&)
2014-07-26 14:31:47 +02:00
Clifford Wolf
3719281ed4
Automatically pack SigSpec on copy/assign
2014-07-26 13:59:30 +02:00
Clifford Wolf
e75e495c2b
Added new RTLIL::Cell port access methods
2014-07-26 12:22:58 +02:00