Yosys#

Visualizar diagramas RTL de códigos HDL’s#

YOSYS - VHDL#


# Dependências "debian":

# YOSYS install:
apt install yosys-abc yosys-doc yosys-plugin-ghdl yosys 

# GHLD:
apt install ghdl-gcc ghdl yosys-plugin-ghdl
$ yosys -m ghdl 

yosys> ghdl flopr.vhd -e flopr

yosys> show 

# ou 

yosys> show -colors 33 

# Em um só comando 
$ yosys -m ghdl -p 'ghdl flopr.vhd -e flopr ; show -colors 33 '

YOSYS - System Verilog:#

$ yosys

yosys> read_verilog -sv scale_mux.sv 

yosys> show -colors 33 

# ou 

# -sv -> System Verilog support:
$ yosys  'read_verilog -sv scale_mux.sv ; show -colors 33 '
  • Sintetizando e convertendo em RLT, SPICE e netlist BLIF (Berkeley Logic Interchange Format)
# Para vhdl:
yosys -m ghdl 
yosys> ghdl extend.vhd -e extend

# Para verilog:
yosys> read extend.v 
  • Etapa comum as linguagens suportadas:
# Sintetizando o código:
yosys> synth 

# Criando um arquivo *.dot
yosys>  show -format dot
  out>     3. Generating Graphviz representation of design.          
  out>     Writing dot description to `/home/junior/.yosys_show.dot'.
  out>     Dumping module extend to page 1.                          

# Criando *BLIF file*:
yosys>  write_blif extend_vhd.blif
  • Opções de leitura, saídas e interpretação:
# Leiruta e interpretação:
yosys> read                                           
    read          read_blif     read_json     read_rtlil  
    read_aiger    read_ilang    read_liberty  read_verilog

# escrita / saídas:
yosys> write_                                                                          
    write_aiger       write_edif        write_intersynth  write_simplec     write_table    
    write_blif        write_file        write_jny         write_smt2        write_verilog  
    write_btor        write_firrtl      write_json        write_smv         write_xaiger   
    write_cxxrtl      write_ilang       write_rtlil       write_spice                      
  • Conversão de linguagens:

# VHDL -> Verilog (Blif intermediário - não é necessário!)
## Segue-se os passos de sítese à cima e:

yosys> write_verilog extend.v
    Dumping module `\extend'.