Verilog使用相对路径时应注意的问题

在Quartus编译环境下,使用include, fopen等文件操做指令时,会涉及到文件路径问题。windows

以 E:\quartus_project\sd_card_controller\rtl\sd_wb_driver\sd_defines.vh 参数定义文件为例,函数

 

       1. 使用绝对路径,可用如下写法,须要注意:verilog路径符为斜杠“/”,而windows资源管理器的路径符为反斜杠“\”。测试

       `include "E:/quartus_project/sd_card_controller/rtl/sd_wb_driver/sd_defines.vhspa

      

       2. 使用相对路径时,以工程路径为参考,这里工程路径为 E:\quartus_project\sd_card_controller ,此时相对路径能够有两种写法:资源

       `include "rtl/sd_wb_driver/sd_defines.vh"  或者编译

       `include "../rtl/sd_wb_driver/sd_defines.vh"test

 

在ModelSim的编译环境下,绝对路径的使用方式和Quartus相同,可是相对路径的定义和Quartus就有一些差异。file

以fopen函数为例model

       1. 当用右侧语句读取sd_model.log文件时:sdModel_file_desc = $fopen("log/sd_model.log");im

       modelsim仿真工程文件夹结构须为:

      

       -- modelsim_prj

              -- test1 :仿真工程

                     -- log

                     -- work : work库

                            -- bench : testbench和model文件夹

                            -- dut : 待测试文件

                    

       此时log文件夹和work库在应在同一级,不然modelsim会提示找不到文件

      

       2. 当用右侧语句读取sd_model.log文件时:sdModel_file_desc = $fopen("../log/sd_model.log");

       modelsim仿真工程文件夹结构须为:

       -- modelsim_prj

              -- log

              -- test1 :仿真工程

                     -- work : work库

                            -- bench : testbench和model文件夹

                            -- dut : 待测试文件夹

             

       此时log文件夹和仿真工程test1应在同一级,不然modelsim会提示找不到文件

 

总结:经过上述分析能够看出,当使用没有“../”的相对路径时,Quartus和Modelsim的用法相同,都是以工程路径做为参考;

   当使用有“../”的相对路径时,modelsim则以工程的上一级文件夹做为参考。

相关文章
相关标签/搜索