Skip to content

环境配置和工具链

yosys安装和简单使用

yosys安装教程-CSDN博客

已有:

alu.v alu_tb.v wave wave.vcd

第一步,在 Yosys 中读取 Verilog 文件。

read_verilog alu.v

第二步,使用后面的命令,检查模块例化结构。hierarchy -check

hierarchy -check

接着是第三步,执行下一条命令,来完成高层次的逻辑综合。

proc; opt; opt; fsm; memory; opt

到了第四步,我们就可以用 write_verilog 生成网表文件。

write_verilog alu_synth.v

之后,我们再用下方的命令,输出综合后的逻辑图。

show -format dot -prefix ./alu

将.dot转换成.PNG图片方便查看

dot -Tpng alu.dot -o alu.png

进一步使用看官网https://yosyshq.net/yosys

环境搭建

12|QEMU:支持RISC-V的QEMU如何构建? (geekbang.org)

13|小试牛刀:跑通RISC-V平台的Hello World程序 (geekbang.org)

问题

  1. 缺少工具链

    AS src/miniCPU_sim.asm build/miniCPU_sim.o make: riscv32-unknown-elf-as: 没有那个文件或目录 make: *** [Makefile:29:build/miniCPU_sim.o] 错误 127

    【问题解决】Error: Can‘t find compiler riscv32-unknown-elf-gcc-CSDN博客

    有个问题, 之前不是安装过了RISCV64的吗?二者不兼容是吗:

    riscv64-unknown-elf-gcc -v
    

    为什么不行呢?

    两种架构的工具链是不兼容的,因为它们对于不同的指令集和寄存器规范进行了优化?

    但是很多内容都是拿64bit的工具链来构建32的相关应用的呀?难道是编译的相关标志?-march?太久远了,不看了。

  2. yosys安装 缺少tcl头文件

    [  5%] Building kernel/json.o
    In file included from kernel/register.cc:20:
    ./kernel/yosys.h:81:12: fatal error: 'tcl.h' file not found
    #  include <tcl.h>
               ^~~~~~~
    In file included from kernel/rtlil.cc:20:
    ./kernel/yosys.h:81:12: fatal error: 'tcl.h' file not found
    #  include <tcl.h>
               ^~~~~~~
    In file included from kernel/driver.cc:20:
    ./kernel/yosys.h:81:12: fatal error: 'tcl.h' file not found
    #  include <tcl.h>
               ^~~~~~~
    In file included from In file included from kernel/log.cc:20:
    ./kernel/yosys.h:81:12: fatal error: 'tcl.h' file not found
    #  include <tcl.h>
               ^~~~~~~
    kernel/calc.cc:24:
    ./kernel/yosys.h:81:12: fatal error: 'tcl.h' file not found
    #  include <tcl.h>
               ^~~~~~~
    

    make - Error: tcl.h not found (no such file or directory) - Ask Ubuntu