我试图弄明白 yosys 对我的 verilog 源所做的事情,所以我在我的脚本中插入了一些转储进程。我假设这些在手册中描述为 ILANG?在阅读 verilog 后立即查看转储,在我看来,重要的东西已经丢失了。例如,我有一组映射 ascii 字母代码的参数定义。这些在 ILANG 中列出,但没有任何价值。
是否有描述此输出的格式和解释的文档?Yosys 似乎丢弃了我的大部分代码,到目前为止,我还无法确定它丢弃的内容与我的源代码有何关联。
我试图弄明白 yosys 对我的 verilog 源所做的事情,所以我在我的脚本中插入了一些转储进程。我假设这些在手册中描述为 ILANG?在阅读 verilog 后立即查看转储,在我看来,重要的东西已经丢失了。例如,我有一组映射 ascii 字母代码的参数定义。这些在 ILANG 中列出,但没有任何价值。
是否有描述此输出的格式和解释的文档?Yosys 似乎丢弃了我的大部分代码,到目前为止,我还无法确定它丢弃的内容与我的源代码有何关联。
参数由 HDL 前端代替。在 ILANG 内部,我们只记得参数的存在,而不是它的值。
Yosys 似乎丢弃了我的大部分代码
我不信。除非您的意思是它在处理完零件后将其丢弃,并且不再需要进一步的步骤。在这种情况下,您当然是正确的,但我认为这种行为没有任何问题。例如,C 编译器在代码生成步骤中也会忘记有关原始 C 代码的许多细节。
不幸的是,你没有提供一个例子来证明你的观点。请参阅Yosys FAQ中的问题 1和mcve howto了解如何编写一个好问题。
I have resolved my problem. I don't understand why, but it seems that when the chip is initialised, either by powering up, or by re-programming, the first character, possibly the first two on occasions, is corrupt. I have managed to code up extra states within the code to handle this, so it's not really an answer, but a work-around. I would like to know if the reset signal on the IceStick board is raised to initialise things properly? If not, then that could be the cause of corruption. Once the garbage characters have gone, it all seems to work OK.