嵌入blackbox的代码中必须有clk和ce这两个信号,即使在代码中他们没有任何用处。另外,我在用Verilog时发现,如果我定义的寄存器型变量没有赋初值,在仿真时有时没有输出。因此我觉得应该在定义中间信号时赋初值,这样应该可以避免这样的情况,如果依然没输出,可能是代码的问题,当然,也可能忘了选择仿真器了。
将代码嵌入blackbox后,会自动弹出配置文件(m文件),文件中主要有几处需要根据需要更改。1、输出类型。设计有符号数(FIX)还是无符号数(UFIX),确定小数点位置。2、配置文件所包含的文件。这个在代码使用了IP核时或者调用了其他代码时需要更改,加入使用的其他文件,可以参考system generator的帮助文档。最后是单速率的设置。一般还是不改吧,不过我曾经使用不同的输入速率,将配置文件中判断输入是否为同一速率的语句给注释掉了也可以正确仿真(不注释掉会报错),就是没有移植到硬件,不知道在硬件上会不会有问题,还请高手解答。
一般blackbox报错后,先排除代码的错误,如果继续报错,则可能是配置文件的问题了,如包含文件不全、输入速率和配置文件要求不一致等。仔细排除就可以了。
本文详述了在嵌入式开发中使用Blackbox时的注意事项,包括必须定义clk和ce信号,初始化寄存器变量,以及如何正确配置Blackbox以避免仿真错误。讨论了配置文件的修改要点,如输出类型、文件包含和单速率设置,帮助开发者解决常见问题。
2263

被折叠的 条评论
为什么被折叠?



