首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Verilator,运行模拟器给出:无效参数

Verilator,运行模拟器给出:无效参数
EN

Stack Overflow用户
提问于 2021-11-04 11:41:35
回答 1查看 72关注 0票数 0

我正在学习this教程。在第24页,我没有得到教程中提到的Makefile。当我运行./thruwire时,它会显示:bash: ./thruwire: Invalid argument

这是我的thruwire.v:

代码语言:javascript
复制
module thruwire(i_sw, o_led);
    input   wire    i_sw;
    output  wire    o_led;
    
    assign o_led = i_sw;
endmodule

在生成这个verilog文件之后,我运行以下命令来创建obj_dir目录:

代码语言:javascript
复制
verilator -Wall -cc thruwire.v
cd obj_dir
make -f Vthruwire.mk

然后,我在我的主目录(obj_dir上面的那个)中创建了一个文件thruwire.cpp,如下所示:

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include "Vthruwire.h"
#include "verilated.h"

int main(int argc, char **argv)
{
    Verilated::commandArgs(argc, argv);
    
    Vthruwire *tb = new Vthruwire;
    
    for(int k = 0; k < 20; k++)
    {
        tb->i_sw = k&1;
        
        tb->eval();
        
        printf("k = %2d, ", k);
        printf("i_sw = %2d, ", tb->i_sw);
        printf("led = %2d, ", tb->o_led);
    }
}

我返回了一个目录,编译了所有内容,如下所示:

代码语言:javascript
复制
cd ..
g++ -I /usr/share/verilator/include -I obj_dir /usr/share/verilator/include/verilated.cpp thruwire.cpp obj_dir/Vthruwire__ALL.a -o thruwire

到目前为止,我已经完成了教程中所说的一切,直到幻灯片24。但是,在我的项目目录中没有Makefile,根据本教程应该是这样的。当我运行./thruwire时,我得到了这个错误。

我对这一切都是新手,请帮帮我。我是不是遗漏了什么?

我尝试使用--exe标志,因为the documentation说将为我生成一个模拟可执行文件。但它在运行时给出了相同的错误。我试着自己指定参数,并从main函数中删除所有参数,但它总是给我这个错误。

我在一个虚拟的盒子图像中运行模拟。我最近使用this缩小了.vdi指南。我不知道这和这事有没有关系。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-04 20:18:47

我的工具箱坏了。正常工作的工具箱不会像注释中讨论的那样给出这些错误(不幸的是,用户删除了它们)。我想尝试自己构建整个工具套件不是一个好主意,除非你真的知道你在做什么。我发现了一个cad suite,它可以很容易地使用,没有问题。它有所有需要的预编译和工作的工具。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69838684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档