首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >verilog中的对象符号

verilog中的对象符号
EN

Stack Overflow用户
提问于 2015-11-30 04:29:23
回答 1查看 1.1K关注 0票数 0

我是新手。

为了测试单个周期的mips cpu,我尝试使用下面的符号从testbench初始化寄存器。

CPU.IM.memory[i] = 32'b0

在这里,CPU是一个具有IM声明的模块(另一个模块),内存在其中被声明为reg。

然而,Quartus verilog编译器抱怨它找不到对象引用。是否支持上述内容?我在内存中加载指令时遇到了类似的问题,我不想在测试平台上这样做,而不是在IM中硬编码或更改它。

TestBench.v

代码语言:javascript
复制
for(i = 0; i < 32; i = i + 1) begin 
    CPU.IM.IMReg[i] = 32'b0; 
end 

CPU.v

代码语言:javascript
复制
IM IM( 
//inputs 
    .address (pc), 
    .clk (clk), 
    .out (Instruction) 
); 

IM.v

代码语言:javascript
复制
module IM ( address, clk, out); 
input [31:0] address; 
input clk; 
output reg[31:0] out; 
reg[31:0] IMReg[31:0];

抛出错误(10207):TestBench.v(31)处的Verilog错误:无法解析对对象"IMReg“的引用

EN

回答 1

Stack Overflow用户

发布于 2015-11-30 17:33:05

在没有看到更多代码的情况下,很难知道您想要做什么,但我猜测的是,您试图为模块的内部信号(即没有出现在输入或输出端口列表中的信号)分配一个来自不同模块内的值。除非该值是一个常量parameter,否则不能这样做。只有端口列表上的parameterslocalparams和信号(inputsoutputsinouts)是外部可见的。

通常,内存是从.hex或.mif文件中初始化的,这些文件可以更改为表示所需的初始状态。

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

https://stackoverflow.com/questions/33991467

复制
相关文章

相似问题

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