我们处理这个的方法是使用块ram而不是单个位。
我知道这听起来很浪费。
对我们来说,我们有完全相同的问题 - 但我们有一个4位的版本寄存器,而不是你的一位的情况。
我们想要突破我们的“版本”注册 - 但必须经历一个多小时的重新实现。
(这完全在ISE 10.xx时间范围内)。
我们通过将四位更改为单个BLOCK RAM进行调整。
是4位到18位是相当大的增长。
但通常在FPGA中有一个备用块ram - 你通常可以慢速计时,以便轻松实现QoR。
通过使用块RAM - Xilinx具有跟踪BLOCK RAM内容的方法 - 后期实现。
请注意,ISE中的工具 - 虽然klunky(data2mem / bmm) - 更灵活。
Vivado中的工具不够灵活(updatemem / mmi),但可以使其工作。
我们已经与Xilinx就这个工具进行了很多(仍在进行中)讨论。
您会发现它具有另外的18Kbits(或后者FPGA系列中的36K位)RAM“刮擦”空间的灵活性。
我们最终在这里添加了更多信息 - 除了我们的“版本” - 这非常有帮助。
像修订控制信息,谁建立设计,何时,在什么机器上,以及一些参数化信息的东西。
问候,
标记
以上来自于谷歌翻译
以下为原文
The way we handle this is to use a block ram instead of a single bit. I know that sounds wasteful. For us, we had the EXACT same issues - but we had a version register which was 4 bits, instead of your case of one-bit.
We wanted to just bump our "version" register - but had to sit through a many hour reimplemenation. (This was all in the ISE 10.xx timeframe).
We adjusted by changing our four bits to a single BLOCK RAM. Yes 4 bits to 18 Kbits is quite a growth. But often there's a spare block ram sitting around in your FPGA - and you can usually clock it slow to allow easy implementation QoR.
By using a block RAM - Xilinx has methods of chainging the contents of a BLOCK RAM - post implementation. Note that the tools in ISE - while klunky (data2mem/bmm) - were much more flexible. The tools in Vivado aren't as flexible (updatemem/mmi), but can be made to work. We've had many (still ongoing) discussions with Xilinx on this tool de-featuring....
You'll find that it's kind of flexible in having another 18Kbits (or 36Kbits in the latter FPGA families) of RAM "scratch" space to play with. We ended up adding a lot more information here - in addition to our "version" - that's quite helpful. Stuff like revision control info, who built the design, when, on what machine, as well as some parameterization info.
Regards,
Mark
我们处理这个的方法是使用块ram而不是单个位。
我知道这听起来很浪费。
对我们来说,我们有完全相同的问题 - 但我们有一个4位的版本寄存器,而不是你的一位的情况。
我们想要突破我们的“版本”注册 - 但必须经历一个多小时的重新实现。
(这完全在ISE 10.xx时间范围内)。
我们通过将四位更改为单个BLOCK RAM进行调整。
是4位到18位是相当大的增长。
但通常在FPGA中有一个备用块ram - 你通常可以慢速计时,以便轻松实现QoR。
通过使用块RAM - Xilinx具有跟踪BLOCK RAM内容的方法 - 后期实现。
请注意,ISE中的工具 - 虽然klunky(data2mem / bmm) - 更灵活。
Vivado中的工具不够灵活(updatemem / mmi),但可以使其工作。
我们已经与Xilinx就这个工具进行了很多(仍在进行中)讨论。
您会发现它具有另外的18Kbits(或后者FPGA系列中的36K位)RAM“刮擦”空间的灵活性。
我们最终在这里添加了更多信息 - 除了我们的“版本” - 这非常有帮助。
像修订控制信息,谁建立设计,何时,在什么机器上,以及一些参数化信息的东西。
问候,
标记
以上来自于谷歌翻译
以下为原文
The way we handle this is to use a block ram instead of a single bit. I know that sounds wasteful. For us, we had the EXACT same issues - but we had a version register which was 4 bits, instead of your case of one-bit.
We wanted to just bump our "version" register - but had to sit through a many hour reimplemenation. (This was all in the ISE 10.xx timeframe).
We adjusted by changing our four bits to a single BLOCK RAM. Yes 4 bits to 18 Kbits is quite a growth. But often there's a spare block ram sitting around in your FPGA - and you can usually clock it slow to allow easy implementation QoR.
By using a block RAM - Xilinx has methods of chainging the contents of a BLOCK RAM - post implementation. Note that the tools in ISE - while klunky (data2mem/bmm) - were much more flexible. The tools in Vivado aren't as flexible (updatemem/mmi), but can be made to work. We've had many (still ongoing) discussions with Xilinx on this tool de-featuring....
You'll find that it's kind of flexible in having another 18Kbits (or 36Kbits in the latter FPGA families) of RAM "scratch" space to play with. We ended up adding a lot more information here - in addition to our "version" - that's quite helpful. Stuff like revision control info, who built the design, when, on what machine, as well as some parameterization info.
Regards,
Mark
举报