mirror of
https://github.com/annoyatron255/yosys4gal.git
synced 2024-12-22 10:42:24 +00:00
Add techmap README
This commit is contained in:
parent
2ddce771fb
commit
5c998f7b65
|
@ -10,7 +10,7 @@ Usage
|
||||||
-----
|
-----
|
||||||
To synthesize a Verilog file:
|
To synthesize a Verilog file:
|
||||||
```
|
```
|
||||||
./synth_gal.tcl <VERILOG_FILE> [CHIP]
|
./synth_gal.tcl -- <VERILOG_FILE> [CHIP]
|
||||||
```
|
```
|
||||||
Where `[CHIP]` is either `GAL16V8` (default) or `GAL22V10`. The synthesized
|
Where `[CHIP]` is either `GAL16V8` (default) or `GAL22V10`. The synthesized
|
||||||
JSON netlist will be put in `output/`.
|
JSON netlist will be put in `output/`.
|
||||||
|
|
|
@ -3,7 +3,7 @@ yosys -import
|
||||||
|
|
||||||
## Check arguments
|
## Check arguments
|
||||||
if { $argc != 1 && $argc != 2 } {
|
if { $argc != 1 && $argc != 2 } {
|
||||||
puts "USAGE: $argv0 -- <VERILOG FILE>"
|
puts "USAGE: $argv0 -- <VERILOG FILE> \[CHIP\]"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
18
techmaps/README.md
Normal file
18
techmaps/README.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
Techmaps
|
||||||
|
========
|
||||||
|
|
||||||
|
All the yosys techmapping libraries/Verilog files used for mapping to the GAL
|
||||||
|
structure. See the `synth_gal.tcl` file for details on how they're used.
|
||||||
|
A summary is below (in the order they're used):
|
||||||
|
|
||||||
|
- `pla.v` splits SOPs into a chain of SOPs with a specified size
|
||||||
|
- `trivial_sop.v` replaces SOPs which are just buffers/NOT gates with
|
||||||
|
buffer/NOT cells
|
||||||
|
- `one_sop.v` converts GAL_SOPs with only one product into GAL_1SOPs. Used on
|
||||||
|
enabled (tristate) lines
|
||||||
|
- `pla_olmc_int.v` adds a combinational GAL_OLMC after a GAL_SOP. Used to
|
||||||
|
insert GAL_OLMC between GAL_SOPs or enable lines
|
||||||
|
- `olmc_comb.v` creates GAL_OLMCs for combinational/tristate output pads
|
||||||
|
- `trivial_sop_olmc.v` adds a buffer GAL_SOP before a GAL_OLMC. Used to add
|
||||||
|
GAL_SOPs between directly connect GAL_OLMCs/GAL_INPUTs
|
||||||
|
- `trivial_1sop_olmc.v` same as above but for enable lines
|
|
@ -1,17 +0,0 @@
|
||||||
module GAL_INOUT_TRI(A, E, I, Y);
|
|
||||||
input A, E;
|
|
||||||
output I;
|
|
||||||
inout Y;
|
|
||||||
|
|
||||||
generate
|
|
||||||
GAL_OLMC #(
|
|
||||||
REGISTERED = 0,
|
|
||||||
INVERTED = 0
|
|
||||||
) _TECHMAP_REPLACE_ (
|
|
||||||
.A(A),
|
|
||||||
.C(1'bX),
|
|
||||||
.E(E),
|
|
||||||
.Y(E ? Y : I);
|
|
||||||
);
|
|
||||||
endgenerate
|
|
||||||
endmodule
|
|
Loading…
Reference in a new issue