我有一个内存数组,它由一系列有效值组成,从位置0开始。其余值为'XX'。
我想计算内存中有效值的数量。我能想到的一种方法是首次使用'==='来寻找'XX'。但它无法合成。
请建议其他一些方法来做同样的事。
答案 0 :(得分:1)
根据您所描述的内容,我建议您在一个寄存器中进行设计,该寄存器指示内存中最后一个有效值的地址,您可以在内存加载值时设置。
正如评论中所提到的,一旦合成,你无法知道你已经明确设置的值传递的值(1'bx
只是一个模拟占位符,而不关心",意思是在实际运行期间,值可以是1'b1
或1'b0
。因此,您可以为未初始化的内存地址设置一个特殊值,在启动时填充整个内存,并在有效数据中显示DOESNT,或者更好的是,使用上面建议的寄存器概念来跟踪您的大小/地址。最后一次有效录入。