Renamed "stdcells.v" to "techmap.v"

This commit is contained in:
Clifford Wolf 2014-07-31 02:32:00 +02:00
parent 6ca0c569d9
commit 1202f7aa4b
9 changed files with 15 additions and 12 deletions

View File

@ -124,7 +124,7 @@ Things to do right away:
- Add to kernel/celltypes.h (incl. eval() handling for non-mem cells) - Add to kernel/celltypes.h (incl. eval() handling for non-mem cells)
- Add to InternalCellChecker::check() in kernel/rtlil.cc - Add to InternalCellChecker::check() in kernel/rtlil.cc
- Add to techlibs/common/simlib.v - Add to techlibs/common/simlib.v
- Add to techlibs/common/stdcells.v - Add to techlibs/common/techmap.v
Things to do after finalizing the cell interface: Things to do after finalizing the cell interface:

3
README
View File

@ -304,8 +304,7 @@ Roadmap / Large-scale TODOs
- yosys-bigsim: https://github.com/cliffordwolf/yosys-bigsim - yosys-bigsim: https://github.com/cliffordwolf/yosys-bigsim
- Technology mapping for real-world applications - Technology mapping for real-world applications
- Add bit-wise const-folding via cell parameters to techmap pass - Rewrite current techmap.v rules (modular and clean)
- Rewrite current stdcells.v techmap rules (modular and clean)
- Improve Xilinx FGPA synthesis (RAMB, CARRY4, SLR, etc.) - Improve Xilinx FGPA synthesis (RAMB, CARRY4, SLR, etc.)
- Implement SAT-based formal equivialence checker - Implement SAT-based formal equivialence checker

View File

@ -27,7 +27,7 @@ cells with the provided implementation.
When no map file is provided, {\tt techmap} uses a built-in map file that When no map file is provided, {\tt techmap} uses a built-in map file that
maps the Yosys RTL cell types to the internal gate library used by Yosys. maps the Yosys RTL cell types to the internal gate library used by Yosys.
The curious reader may find this map file as {\tt techlibs/common/stdcells.v} in The curious reader may find this map file as {\tt techlibs/common/techmap.v} in
the Yosys source tree. the Yosys source tree.
Additional features have been added to {\tt techmap} to allow for conditional Additional features have been added to {\tt techmap} to allow for conditional

View File

@ -1 +1 @@
stdcells.inc techmap.inc

View File

@ -10,16 +10,16 @@ OBJS += passes/techmap/hilomap.o
OBJS += passes/techmap/extract.o OBJS += passes/techmap/extract.o
endif endif
GENFILES += passes/techmap/stdcells.inc GENFILES += passes/techmap/techmap.inc
passes/techmap/stdcells.inc: techlibs/common/stdcells.v passes/techmap/techmap.inc: techlibs/common/techmap.v
$(P) echo "// autogenerated from $<" > $@.new $(P) echo "// autogenerated from $<" > $@.new
$(Q) echo "static char stdcells_code[] = {" >> $@.new $(Q) echo "static char stdcells_code[] = {" >> $@.new
$(Q) od -v -td1 -An $< | $(SED) -e 's/[0-9][0-9]*/&,/g' >> $@.new $(Q) od -v -td1 -An $< | $(SED) -e 's/[0-9][0-9]*/&,/g' >> $@.new
$(Q) echo "0};" >> $@.new $(Q) echo "0};" >> $@.new
$(Q) mv $@.new $@ $(Q) mv $@.new $@
passes/techmap/techmap.o: passes/techmap/stdcells.inc passes/techmap/techmap.o: passes/techmap/techmap.inc
TARGETS += yosys-filterlib TARGETS += yosys-filterlib
GENFILES += passes/techmap/filterlib.o GENFILES += passes/techmap/filterlib.o

View File

@ -26,7 +26,7 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include "passes/techmap/stdcells.inc" #include "passes/techmap/techmap.inc"
// see simplemap.cc // see simplemap.cc
extern void simplemap_get_mappers(std::map<std::string, void(*)(RTLIL::Module*, RTLIL::Cell*)> &mappers); extern void simplemap_get_mappers(std::map<std::string, void(*)(RTLIL::Module*, RTLIL::Cell*)> &mappers);
@ -790,7 +790,7 @@ struct TechmapPass : public Pass {
RTLIL::Design *map = new RTLIL::Design; RTLIL::Design *map = new RTLIL::Design;
if (map_files.empty()) { if (map_files.empty()) {
FILE *f = fmemopen(stdcells_code, strlen(stdcells_code), "rt"); FILE *f = fmemopen(stdcells_code, strlen(stdcells_code), "rt");
Frontend::frontend_call(map, f, "<stdcells.v>", verilog_frontend); Frontend::frontend_call(map, f, "<techmap.v>", verilog_frontend);
fclose(f); fclose(f);
} else } else
for (auto &fn : map_files) for (auto &fn : map_files)

View File

@ -5,7 +5,7 @@ techlibs/common/blackbox.v: techlibs/common/blackbox.sed techlibs/common/simlib.
$(P) cat techlibs/common/simlib.v techlibs/common/simcells.v | $(SED) -rf techlibs/common/blackbox.sed > techlibs/common/blackbox.v.new $(P) cat techlibs/common/simlib.v techlibs/common/simcells.v | $(SED) -rf techlibs/common/blackbox.sed > techlibs/common/blackbox.v.new
$(Q) mv techlibs/common/blackbox.v.new techlibs/common/blackbox.v $(Q) mv techlibs/common/blackbox.v.new techlibs/common/blackbox.v
EXTRA_TARGETS += share/simlib.v share/simcells.v share/blackbox.v share/pmux2mux.v EXTRA_TARGETS += share/simlib.v share/simcells.v share/techmap.v share/blackbox.v share/pmux2mux.v
share/simlib.v: techlibs/common/simlib.v share/simlib.v: techlibs/common/simlib.v
$(P) mkdir -p share $(P) mkdir -p share
@ -15,6 +15,10 @@ share/simcells.v: techlibs/common/simcells.v
$(P) mkdir -p share $(P) mkdir -p share
$(Q) cp techlibs/common/simcells.v share/simcells.v $(Q) cp techlibs/common/simcells.v share/simcells.v
share/techmap.v: techlibs/common/techmap.v
$(P) mkdir -p share
$(Q) cp techlibs/common/techmap.v share/techmap.v
share/blackbox.v: techlibs/common/blackbox.v share/blackbox.v: techlibs/common/blackbox.v
$(P) mkdir -p share $(P) mkdir -p share
$(Q) cp techlibs/common/blackbox.v share/blackbox.v $(Q) cp techlibs/common/blackbox.v share/blackbox.v

View File

@ -21,7 +21,7 @@
* *
* This verilog library contains simple simulation models for the internal * This verilog library contains simple simulation models for the internal
* logic cells ($_INV_ , $_AND_ , ...) that are generated by the default technology * logic cells ($_INV_ , $_AND_ , ...) that are generated by the default technology
* mapper (see "stdcells.v" in this directory) and expected by the "abc" pass. * mapper (see "techmap.v" in this directory) and expected by the "abc" pass.
* *
*/ */