Modelsim 的库管理与编译

库的管理建议使用 GUI,操作简便,没必要上 CLI,比修改 Modelsim.ini 简单易行。除非是需要反复执行的操作,否则不建议用 CLI

库的新建

启动 Modelsim 后,在 Library 窗口内 右键->New->Library... 即可新建一个库
其中,a new librarya new library and a logical mapping to it 都是新建一个库,物理位置在 ModelSim\examples\library_namea map to an existing library 就是字面意思,将一个已存在的库加入 Modelsim,库的名称可任意

一般新建库就选 a new library and a logical mapping to it 即可

库的管理

新建完毕后,可在 Library 窗口内找到,库的名称后有一个 (empty),代表这个库内没有编译好的器件

在库的名称上,右键->Edit 即可修改库的名称与库的物理路径。Library Mapping Name 就是在 Modelsim 内的名称,Library Pathname 是库的物理路径,可点 Browse 选择物理路径,也可直接输入

编译器件至库

编译选项

菜单栏 Compile->Compile Options 可修改编译选项,VerilogVHDL 是独立的两种选项。并且此处的修改会一直生效,即便重启也不会消失

其中比较特别的是 VerilogVHDL 选项卡中的 Disable optimizations by using -O0 选项,可关闭所有优化

Coverage 选项卡中也有一个 Optimization level (-coveropt) 选项

多嘴说一句,仿真中的优化与此处的无关,仿真中的优化是在 Simulate->Start Simulation 中勾选 Optimization 中的 Enable optimization,然后点击 Optimization Options...,在其中的 Visiblity 选项卡,选中 Apply full visibility to all modules(full debug mode) 选项,就是禁用仿真中的优化。其实相当于在 vsim 仿真指令中加入 -voptargs="+acc" 选项

编译

菜单栏 Compile->Compile... 可进行编译
最上方的 Library 可选择编译后的器件位于哪一个库
关于下方的 Compile selected files together 选项,我实验后并未发现有什么区别
选择文件可以长按 Shift 或者 Ctrl 进行多选,一次编译多个文件