| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
write_verilog: correctly emit asynchronous transparent ports
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit fixes two related issues:
* For asynchronous ports, clock is no longer added to domain list.
(This would lead to absurd constructs like `always @(posedge 0)`.
* The logic to distinguish synchronous and asynchronous ports is
changed to correctly use or avoid clock in all cases.
Before this commit, the following RTLIL snippet (after memory_collect)
cell $memrd $2
parameter \MEMID "\\mem"
parameter \ABITS 2
parameter \WIDTH 4
parameter \CLK_ENABLE 0
parameter \CLK_POLARITY 1
parameter \TRANSPARENT 1
connect \CLK 1'0
connect \EN 1'1
connect \ADDR \mem_r_addr
connect \DATA \mem_r_data
end
would lead to invalid Verilog:
reg [1:0] _0_;
always @(posedge 1'h0) begin
_0_ <= mem_r_addr;
end
assign mem_r_data = mem[_0_];
Note that there are two potential pitfalls remaining after this
change:
* For asynchronous ports, the \EN input and \TRANSPARENT parameter
are silently ignored. (Per discussion in #760 this is the correct
behavior.)
* For synchronous transparent ports, the \EN input is ignored. This
matches the behavior of the $mem simulation cell. Again, see #760.
|
|\ \
| | |
| | | |
fsm_opt: Fix runtime error for FSMs without a reset state
|
|/ /
| |
| |
| | |
Signed-off-by: David Shah <dave@ds0.me>
|
|/
|
|
|
|
| |
Smt2Worker::get_id() behavior)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|\
| |
| | |
Fixed Anlogic simulation model
|
| | |
|
|\ \
| | |
| | | |
write_verilog: write $tribuf cell as ternary
|
| | | |
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|/ / |
|
|\ \
| |/
|/| |
proc_clean: fix critical typo
|
|/ |
|
|\
| |
| | |
proc_clean: fix fully def check to consider compare/signal length
|
|/
|
|
| |
Fixes #790.
|
|
|
|
| |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
|
|
| |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
|
|
| |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
|
|
| |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
|
|
| |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
|
|
| |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
|
|
| |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|\
| |
| | |
Document $tribuf and some gates
|
| | |
|
| | |
|
|\ \
| |/
|/| |
flowmap: implement depth relaxation
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* "map": group gates into LUTs;
* "pack": replace gates with LUTs.
This is important because we have FlowMap and DF-Map, and currently
our messages are ambiguous.
Also clean up some other log messages while we're at it.
|
| | |
|
|/
|
|
| |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
|
|
| |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
|
|
| |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|\
| |
| | |
flowmap: construct a max-volume max-flow min-cut, not just any one
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|\ \
| | |
| | | |
bugpoint: new pass
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A typical use of `bugpoint` would involve a script with a pass under
test, e.g.:
flowmap -relax -optarea 100
and would be invoked as:
bugpoint -yosys ./yosys -script flowmap.ys -clean -cells
This replaces the current design with the minimal design that still
crashes the `flowmap.ys` script.
`bugpoint` can also be used to perform generic design minimization
using `select`, e.g. the following script:
select i:* %x t:$_MUX_ %i -assert-max 0
would remove all parts of the design except for an unbroken path from
an input to an output port that goes through exactly one $_MUX_ cell.
(The condition is inverted.)
|
|\ \
| | |
| | | |
Rename cells based on the wires they drive.
|
| | | |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|/ /
| |
| |
| | |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|\ \
| | |
| | | |
Fix cells_sim.v for Achronix FPGA
|
| |/ |
|
| |
| |
| |
| | |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|\ \
| | |
| | | |
Unify usage of noflatten among architectures
|
| |/ |
|