小编Mah*_*hdi的帖子

如何初始化向量寄存器?

我已经定义了这样的向量寄存器

val my_reg = Reg(Vec(n, Bits(32.W)))
Run Code Online (Sandbox Code Playgroud)

我使用来在for循环中访问该寄存器的元素my_reg(i)

现在,我想将此寄存器初始化为零,所以我将变量定义更改为此

val my_reg = Reg(Vec(n, Bits(32.W)), init = UInt(0))
Run Code Online (Sandbox Code Playgroud)

但是,当我要访问该寄存器的元素时,出现以下编译错误

chisel3.core.Data does not take parameters
my_reg(i) := io.a(i)
Run Code Online (Sandbox Code Playgroud)

如何定义向量寄存器并正确地对其进行同步初始化?

chisel

4
推荐指数
2
解决办法
870
查看次数

如何一次性为一堆物体分配记忆?

我试图用C++解析输入文件.在文件的开头,给出了要读取的行数.读完每一行后,我必须创建一个包含该行数据的对象.我在一个向量中保存一个指向每个对象的指针vector<shared_ptr<MyClass>>.

我想要做的是,只要知道行数,就为所有对象分配足够的空间.但是,我想如果我将该reserve()函数用于我的向量,将分配足够的空间来保存指针而不是对象.

  1. 我该怎么做才能为对象和指针分配空间?
  2. 如果我想make_shared()在创建对象时使用它会如何改变?换句话说,我应该如何为指针和指针管理器分配足够的空间?

c++ memory heap shared-ptr new-operator

1
推荐指数
1
解决办法
338
查看次数

标签 统计

c++ ×1

chisel ×1

heap ×1

memory ×1

new-operator ×1

shared-ptr ×1