| Commit message (Collapse) | Author | Age | Files | Lines | 
| |  | 
 | 
| |\  
| | 
| |  | 
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
 | 
| | |/   | 
 | 
| |/  
|   
|   
|    | 
Signed-off-by: Clifford Wolf <clifford@clifford.at>
 | 
| |\  
| | 
| |  | 
flowmap: new techmap pass
 | 
| | |  | 
 | 
| |\ \  
| |/  
|/|    | 
opt_expr: refactor and improve simplification of comparisons
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| |  | 
The idea behind this simplification is that a N-bit signal X being
compared with an M-bit constant where M>N and the constant has Nth
or higher bit set, it either always succeeds or always fails.
However, the existing implementation only worked with one-hot signals
for some reason. It also printed incorrect messages.
This commit adjusts the simplification to have as much power as
possible, and fixes other bugs.
 | 
| | |  | 
 | 
| | |  | 
 | 
| | | 
| | 
| | 
| | 
| | 
| |  | 
Before this commit, only unsigned comparisons with all-0 would be
simplified. This commit also makes the code handling such comparisons
to be more rigorous and not abort on unexpected input.
 | 
| |\ \  
| | | 
| | |  | 
anlogic: implement DRAM initialization
 | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | |  | 
As the TD tool doesn't accept the DRAM cell to contain unknown values in
the initial value, the initialzation support of DRAM is previously
skipped.
Now add the support by add a new pass to determine unknown values in the
initial value.
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
 | 
| |\ \ \   | 
 | 
| | |\ \ \  
| | | | | 
| | | | |  | 
Initialization of Anlogic DFFs
 | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | |  | 
As dffinit has already supported for different initialization strings
for DFFs and check for re-initialization, initialization of Anlogic
DFFs are now ready to go.
Support for set the init values of Anlogic DFFs.
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
 |