mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-06 14:13:23 +00:00
First pass example_synth done
Split coarse grain representation into 4 parts, loosely: fsm/opt, other optimizations/techmap/memory_dff, DSPs, alumacc/memory -nomap. Split hardware mapping into subsections as well: memory blocks (map_ram and map_ffram), arithmetic (map_gates), FFs (map_ffs), LUTs (map_luts and briefly abc), and other (map_cells and a note on hilomap and iopadmap). Also add `-T` flag to Yosys call to remove footer from log output.
This commit is contained in:
parent
a33b1b6059
commit
50d8c1b258
4 changed files with 899 additions and 1012 deletions
|
@ -2,14 +2,17 @@ PROGRAM_PREFIX :=
|
|||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
|
||||
DOTS = addr_gen_hier.dot addr_gen_proc.dot
|
||||
DOTS += rdata_proc.dot rdata_flat.dot
|
||||
DOTS += fifo_flat.dot fifo_synth.dot
|
||||
DOT_NAMES = addr_gen_hier addr_gen_proc addr_gen_clean
|
||||
DOT_NAMES += rdata_proc rdata_flat rdata_adffe rdata_memrdv2 rdata_alumacc
|
||||
DOT_NAMES += rdata_coarse rdata_map_ram rdata_map_ffram rdata_map_gates
|
||||
DOT_NAMES += rdata_map_ffs rdata_map_luts rdata_map_cells
|
||||
|
||||
DOTS := $(addsuffix .dot,$(DOT_NAMES))
|
||||
|
||||
dots: $(DOTS) fifo.out
|
||||
|
||||
$(DOTS) fifo.out: fifo.v fifo.ys
|
||||
$(YOSYS) fifo.ys -l fifo.out -Q
|
||||
$(YOSYS) fifo.ys -l fifo.out -Q -T
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -56,7 +56,51 @@ show -color maroon3 @new_cells -notitle -format dot -prefix rdata_alumacc o:rdat
|
|||
design -reset
|
||||
read_verilog fifo.v
|
||||
synth_ice40 -top fifo -run begin:map_ram
|
||||
# memory_collect
|
||||
# opt
|
||||
select -set new_cells t:$mem_v2
|
||||
show -color maroon3 @new_cells -notitle -format dot -prefix rdata_coarse o:rdata %ci*
|
||||
select -set rdata_path @new_cells %ci*:-$mem_v2[WR_DATA,WR_ADDR,WR_EN] @new_cells %co* %%
|
||||
show -color maroon3 @new_cells -notitle -format dot -prefix rdata_coarse @rdata_path
|
||||
|
||||
# turn command echoes off to avoid randomly generated abc file names
|
||||
echo off
|
||||
|
||||
# ========================================================
|
||||
|
||||
synth_ice40 -top fifo -run map_ram:map_ffram
|
||||
select -set new_cells t:SB_RAM40_4K
|
||||
select -set rdata_path @new_cells %ci*:-SB_RAM40_4K[WDATA,WADDR,WE] @new_cells %co* %%
|
||||
show -color maroon3 @new_cells -notitle -format dot -prefix rdata_map_ram @rdata_path
|
||||
|
||||
# ========================================================
|
||||
|
||||
synth_ice40 -top fifo -run map_ffram:map_gates
|
||||
select -set new_cells t:SB_RAM40_4K
|
||||
select -set rdata_path @new_cells %ci*:-SB_RAM40_4K[WDATA,WADDR,WE] @new_cells %co* %%
|
||||
show -color maroon3 @new_cells -notitle -format dot -prefix rdata_map_ffram @rdata_path
|
||||
|
||||
# ========================================================
|
||||
|
||||
synth_ice40 -top fifo -run map_gates:map_ffs
|
||||
select -set new_cells t:SB_RAM40_4K
|
||||
select -set rdata_path @new_cells %ci*:-SB_RAM40_4K[WDATA,WADDR,WE] @new_cells %co* %%
|
||||
show -color maroon3 @new_cells -notitle -format dot -prefix rdata_map_gates @rdata_path
|
||||
|
||||
# ========================================================
|
||||
|
||||
synth_ice40 -top fifo -run map_ffs:map_luts
|
||||
select -set new_cells t:SB_RAM40_4K
|
||||
select -set rdata_path @new_cells %ci*:-SB_RAM40_4K[WDATA,WADDR,WE] @new_cells %co* %%
|
||||
show -color maroon3 @new_cells -notitle -format dot -prefix rdata_map_ffs @rdata_path
|
||||
|
||||
# ========================================================
|
||||
|
||||
synth_ice40 -top fifo -run map_luts:map_cells
|
||||
select -set new_cells t:SB_RAM40_4K
|
||||
select -set rdata_path @new_cells %ci*:-SB_RAM40_4K[WDATA,WADDR,WE] @new_cells %co* %%
|
||||
show -color maroon3 @new_cells -notitle -format dot -prefix rdata_map_luts @rdata_path
|
||||
|
||||
# ========================================================
|
||||
|
||||
synth_ice40 -top fifo -run map_cells:
|
||||
select -set new_cells t:SB_RAM40_4K
|
||||
select -set rdata_path @new_cells %ci*:-SB_RAM40_4K[WDATA,WADDR,WE] @new_cells %co* %%
|
||||
show -color maroon3 @new_cells -notitle -format dot -prefix rdata_map_cells @rdata_path
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue