aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/ilang
Commit message (Collapse)AuthorAgeFilesLines
* frontend: cleanup to use more ID::*, more dict<> instead of map<>Eddie Hung2020-05-041-3/+3
|
* ilang, ast: Store parameter order and default value information.Marcelina Koƛcielnicka2020-04-211-2/+9
| | | | Fixes #1819, #1820.
* Clean up pseudo-private member usage in `frontends/ilang/ilang_parser.y`.Alberto Gonzalez2020-04-131-4/+4
|
* read_ilang: improve style. NFC.whitequark2020-04-061-2/+1
| | | Co-Authored-By: Alberto Gonzalez <61295559+boqwxp@users.noreply.github.com>
* read_ilang: improve error message for overly long wires.whitequark2020-04-061-0/+3
| | | | Fixes #1838.
* read_ilang: detect overflow of integer literals.whitequark2020-04-061-1/+11
|
* read_ilang: do bounds checking on bit indicesMarcin Koƛcielnicki2019-11-271-0/+4
|
* Allow attributes on individual switch cases in RTLIL.whitequark2019-07-081-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parser changes are slightly awkward. Consider the following IL: process $0 <point 1> switch \foo <point 2> case 1'1 assign \bar \baz <point 3> ... case end end Before this commit, attributes are valid in <point 1>, and <point 3> iff it is immediately followed by a `switch`. (They are essentially attached to the switch.) But, after this commit, and because switch cases do not have an ending delimiter, <point 3> becomes ambiguous: the attribute could attach to either the following `case`, or to the following `switch`. This isn't expressible in LALR(1) and results in a reduce/reduce conflict. To address this, attributes inside processes are now valid anywhere inside the process: in <point 1> and <point 3> a part of case body, and in <point 2> as a separate rule. As a consequence, attributes can now precede `assign`s, which is made illegal in the same way it is illegal to attach attributes to `connect`. Attributes are tracked separately from the parser state, so this does not affect collection of attributes at all, other than allowing them on `case`s. The grammar change serves purely to allow attributes in more syntactic places.
* Make the generated *.tab.hh include all the headers needed to define the union.Henner Zeller2019-05-141-1/+9
|
* Merge pull request #946 from YosysHQ/clifford/specifyClifford Wolf2019-05-062-1/+8
|\ | | | | Add specify parser
| * Add "real" keyword to ilang formatClifford Wolf2019-05-062-1/+8
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Fix the other bison warning in ilang_parser.yClifford Wolf2019-05-061-1/+1
|/ | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Add "read_ilang -lib"Clifford Wolf2019-04-053-3/+14
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Add "read_ilang -[no]overwrite"Clifford Wolf2018-12-233-4/+54
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* read_ilang: allow slicing sigspecs.whitequark2018-12-161-10/+6
|
* Add "make coverage"Clifford Wolf2018-08-273-6/+5
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Consistent use of 'override' for virtual methods in derived classes.Henner Zeller2018-07-201-2/+2
| | | | | | | | | 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)
* Added avail params to ilang format, check module params in 'hierarchy -check'Clifford Wolf2016-10-221-1/+7
|
* Added $global_clock verilog syntax support for creating $ff cellsClifford Wolf2016-10-142-1/+8
|
* Added "yosys -D" featureClifford Wolf2016-04-211-1/+1
|
* Fixed oom bug in ilang parserClifford Wolf2015-11-291-2/+2
|
* Fixed performance bug in ilang parserClifford Wolf2015-11-271-6/+12
|
* Import more std:: stuff into Yosys namespaceClifford Wolf2015-10-251-1/+1
|
* Adjust makefiles to work with out-of-tree buildsClifford Wolf2015-08-123-4/+6
| | | | This is based on work done by Larry Doolittle
* Fixed trailing whitespacesClifford Wolf2015-07-024-8/+8
|
* Enable bison to be customizedFabio Utzig2015-01-081-1/+1
|
* Fixed memory->start_offset handlingClifford Wolf2015-01-011-0/+3
|
* Added Yosys::{dict,nodict,vector} container typesClifford Wolf2014-12-261-1/+1
|
* Re-introduced Yosys::readsome() helper functionClifford Wolf2014-10-231-5/+1
| | | | (f.read() + f.gcount() made problems with lines > 16kB)
* Updated .gitignore file for ilang and verilog frontendsClifford Wolf2014-10-151-4/+4
|
* Updated lexers & parsers to include prefixesWilliam Speirs2014-10-153-13/+17
|
* Fixed win32 troubles with f.readsome()Clifford Wolf2014-10-111-1/+1
|
* namespace YosysClifford Wolf2014-09-272-3/+5
|
* Changed frontend-api from FILE to std::istreamClifford Wolf2014-08-234-6/+10
|
* Added module->portsClifford Wolf2014-08-141-0/+1
|
* Renamed port access function on RTLIL::Cell, added param access functionsClifford Wolf2014-07-311-2/+2
|
* Added module->design and cell->module, wire->module pointersClifford Wolf2014-07-311-2/+2
|
* Moved some stuff to kernel/yosys.{h,cc}, using Yosys:: namespaceClifford Wolf2014-07-313-4/+15
|
* Added wire->upto flag for signals such as "wire [0:7] x;"Clifford Wolf2014-07-282-1/+5
|
* Fixed ilang parser for new RTLIL APIClifford Wolf2014-07-271-10/+10
|
* Changed a lot of code to the new RTLIL::Wire constructorsClifford Wolf2014-07-261-3/+2
|
* Added RTLIL::Cell::has(portname)Clifford Wolf2014-07-261-1/+1
|
* Manual fixes for new cell connections APIClifford Wolf2014-07-261-1/+1
|
* Changed users of cell->connections_ to the new API (sed command)Clifford Wolf2014-07-261-2/+2
| | | | | | | | | 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;'
* Renamed RTLIL::{Module,Cell}::connections to connections_Clifford Wolf2014-07-261-3/+3
|
* Use only module->addCell() and module->remove() to create and delete cellsClifford Wolf2014-07-251-4/+1
|
* Added "make PRETTY=1"Clifford Wolf2014-07-241-3/+3
|
* Refactoring {SigSpec|SigChunk}(RTLIL::Wire *wire, ..) constructor -- step 3/3Clifford Wolf2014-07-231-2/+2
|
* Refactoring {SigSpec|SigChunk}(RTLIL::Wire *wire, ..) constructor -- step 2/3Clifford Wolf2014-07-231-2/+2
|
* SigSpec refactoring: change RTLIL::SigSpec::size() to be read-onlyClifford Wolf2014-07-221-37/+6
|