-1

EDIT1 好的,我无法发表长评论(我是该网站的新手,所以请接受我的道歉),所以我正在编辑我之前的问题。我曾尝试在 2 次尝试中实现多路复用:

-第二次尝试

-第三次尝试

在第二次尝试中,我尝试将每个模块的七个 seg 变量发送到仅领先一步的模块,当它们都到达最后的顶部模块时,我已经对它们进行了多路复用……还有一个时钟模块为单位模块生成一个时钟(它使单位位置在一秒钟内改变 2 次)和一个用于多路复用的时钟(每个显示器之间的多路复用每秒 500 次)...当然我读到我的板子的时钟频率为 50M 赫兹,所以这些时钟计算是基于这个数字......

在第三条评论中,我在一个模块中做了同样的事情。先看第二次尝试,然后再看第三次。

两者都在合成后立即给出错误和许多不熟悉的警告。

编辑 2

我已经能够在尝试4中合成和实现程序(由于我的声誉很低,我不允许发布),使用变量的保存标志,variables1 variables2和variables3(发出未使用引脚的警告)但是程序不在 fpga 上运行...它仅显示数字 3777。对于与某些变量相关的某些事物,仍然存在“组合循环”的警告(对不起,我对所有这些 verilog 事物都是新手)但你可以看到他们都在尝试 3 中。

4

1 回答 1

1

您不能使用循环实现计数器。你也不能用嵌套循环实现级联计数器。

写HDL不是写软件!请阅读有关如何设计基本硬件电路的 VHDL 或 Verilog 书籍或教程。还有来自 Xilinx的综合和仿真指南 14.4 - UG626 。请看第 88 页。

编辑1:

现在可以在没有任何 Dropbox 凭据的情况下访问您的 zip 文件,我已经查看了您的项目。这是我对您的代码的评论。

我将为我的项目符号编号以便更好地参考:

  1. 您的项目有 4 个基本相同的 ucf 文件。不同之处仅在于将不同的阳极控制信号分配给相同的引脚位置。这将导致后期综合步骤中的错误(将多个网络分配给一个引脚)。通常,简单的项目只有一个 ucf 文件。
  2. Nexsys 2 板有一个 4 位 7 段显示器,带有共阴极和可切换共阳极。总共有 8+4 根线来控制。需要一个时间多路复用电路以 25Hz < f < 1kHz 的频率通过 4 位输出向量的每个数字进行切换。
  3. 选择嵌套层次结构不是很好。一个主要缺点是许多信号从每一层传递到最顶层,以便将它们连接到 FPGA 引脚。我建议在第一层使用一个顶级模块和 4 个计数器。顶层模块还可以提供时分复用电路和二进制到7段编码。
于 2015-03-21T16:15:52.073 回答