问题标签 [spartan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3424 浏览

verilog - 信号已分配但从未使用过。这个未连接的信号将被修剪

首先 - 我有三维 reg,仅在初始开始时分配。

起初我试图访问这样的位(pc是我的程序计数器):

但优化一直在修剪我的信号。后来我发现我需要新的注册来保留整个注册,然后我可以访问位。所以我做了这个:

[...]

我的信号停止被修剪,但现在优化想要修剪 tempPS,因为:

信号已分配但从未使用过。这个未连接的信号将在优化过程中被修剪。

好吧 - 随着 pc 的变化,使用 tempPS,我不知道这个错误到底意味着什么,我该如何解决它。任何帮助表示赞赏。

0 投票
1 回答
121 浏览

vhdl - “-bp” MAP 选项在哪里以及如何在 xilinx 的 spartant 6 中使用它,或者任何可以建议使用更少资源的更好设计

我在 vhdl 中编写一些代码,当我合成它时显示 desgin 正在使用 13036 切片 LUT 在此处输入图像描述 在谷歌上搜索后,我找到了以下链接(http://www.xilinx.com/support/answers/15888.htm),上面写着如果我们使用“-bp” MAP 选项我们可以减少使用的 LUT,所以这是可能的。如何使用 xilinx 14.4 中的选项。这是我第一次遇到使用的逻辑超过可用的情况。

代码如下:

感谢 Brian & baldy,我明白了我的 for 循环部分如何转换为状态机类型的逻辑。需要制作一些乘法和加法器数组(我正在编写 60 个抽头,同样可以用于 100 个抽头):

和一个新的逻辑:

在一个时钟周期内使用上述替换而不是 for 循环,我可以获得更好的结果: 在此处输入图像描述

是的,我可以成功实现该设计,并且它适用于 FPGA(xc6slx9)。

现在我尝试在Microblaze中进行此设计。制作了一个外设,在用户逻辑中使用了相同的 vhdl 代码,因为相同的设计使用了更多的资源 在此处输入图像描述 并且无法实现,那么如何才能对其进行更多优化呢?如果有必要了解我在做什么,我可以编写完整的 vhdl 代码。

0 投票
2 回答
1714 浏览

vhdl - 如何在 v/hdl 编程的测试台中写入不同时钟周期的输入值?

我正在为 AES 加密算法编写 vhdl 代码,我必须采用 128 位数据来加密所以使用 1 位输入引脚。对于 128 位数据,我使用 128 个时钟周期和 case 语句。我必须编写测试台来检查代码是否正常工作。如何在测试台上以不同的时钟周期写入 128 位数据。

  1. 一点点
  2. 它(128位信号)
0 投票
1 回答
2325 浏览

verilog - Verilog 三态问题(Xilinx Spartan 6)

在这里提到我之前的问题,我一直在利用三态与公共总线一起工作。我似乎仍然有一些实施问题。

三态使用这种类型的代码:

分配 io [width-1:0] = (re)?rd_out [width-1:0]:{width{1'bz}};

合成和翻译进展顺利。没有我没想到的警告或错误(我期待一些,因为这只是一次试运行,大多数组件没有做任何事情,因此将保持未连接状态)。但是当我真正尝试实现它时,所有总线(共有三个)输出一个 1111111111111111 或 -1,由我的二进制到 BCD 转换器转换。如果总线上接收到的指令为-1,我通过指示控制矩阵停止来检查是否确实如此,并且它确实停止了。

我收到的关于将三态转换为逻辑的警告是:

Xst:2040 - Unit Neptune_I: 16 个多源信号被逻辑替换(上拉是)

Xst:2042 - 单元 alu:16 个内部三态被逻辑替换(上拉是):

等等。Neptune_I 是顶级模块,我相信它所指的多源信号是总线。

我怀疑上拉是不是这个问题的根源。它只是简单地把所有东西都拉起来,导致它一直是-1吗?但这对我来说没有意义,因为当三态被激活时,信号应该由它应该被控制的任何实体控制。

我想花时间用逻辑而不是三态替换代码,但我不确定如何继续。

任何帮助,将不胜感激。

0 投票
1 回答
1856 浏览

max - Xilinx ISE - 最大频率

我正在尝试在 ISE 中为 Spartan 6 合成任何简单的项目。当我使用时钟向导和 f = 40 MHz(100Mhz 外部振荡器)的 clk 发生器时,XST 说:

时序总结:

速度等级:-3

最小周期:9.482ns(最大频率:105.458MHz) 时钟前最小输入到达时间:2.623ns 时钟后最大输出所需时间:3.597ns 最大组合路径延迟:5.194ns

好的,但是当我将核心发生器中的 clk 频率更改为 100MHz 时,响应是最大频率约为 47MHz ...

怎么了?确定最大频率的正确方法是什么?

0 投票
1 回答
988 浏览

vhdl - 尝试在 VHDL 中使用 3x4 键盘输入和 2x16 LCD 制作一个 4 位乘法器,以在 Spartan 3E 板上实现

每个人。我正在尝试在 VHDL 中制作一个 4 位乘法器。它将使用内置的 2x16 LCD 和通过 C922 IC 的 3x4 键盘在 Spartan 3E 板上实现。

使用过程是这样的:用户通过键盘输入一个数字,按下一个按钮进行确认,输入第二个数字,再次按下确认按钮,产品就会显示在 LCD 上。

到目前为止,keypad+c922 和 LCD 的代码都没有问题。乘数的代码几乎没问题。问题是确认按钮仅在按下另一个数字(最终未使用)时才起作用。

这是我的代码。以下是 Xilinx 仿真的屏幕截图

确认键没有按下数字时的模拟: 在此处输入图像描述

使用确认按钮按下数字时的模拟: 在此处输入图像描述

我已经浏览了我的代码一个小时,但仍然看不出有什么问题。提前感谢任何可以提供帮助的人。

0 投票
0 回答
1491 浏览

usb - 斯巴达 6 - USB 键盘

我正在尝试使用 USB 键盘来控制我在 spartan 6 板上构建的游戏。我正在努力理解让它发挥作用的过程。

我在板上看到了物理 USB 端口(我在校园里使用的是 xilinx 大学板)。我知道有用于 usb2 的 AXI IP,但它们都需要许可证(如果我使用它们,不会让我将项目导出到 sdk)。

我在http://jorisvr.nl/usb/遇到了开放的 USB 源。我在想这正是我想要/需要的,但我很难理解如何实现它。

现在我想我应该使用 xilinx 平台工作室来创建一个自定义 ip。在该自定义 ip 中,使用打开 USB 的 vhdl 源。连接所有不同端口的过程让我不知所措。但我最不明白的是开放 USB 工作所需的 PHY (UTMI) 块。那是什么?我需要实施吗?

我有点失落。任何指导将不胜感激。打开 USB 的手册可以在http://jorisvr.nl/files/fpga_usb_serial_manual.pdf找到。

0 投票
1 回答
1314 浏览

memory - 在FPGA中存储数组

我正在尝试实现一个简单的乘法器。我有一个文本文件,其中有两列。我将第 1 列乘以第 2 列。这是 Verilog 中的代码:

我有 Xilinx Spartan®-6 LX45 FPGA 板。它提供 128M bit ddr2 ram 和 16Mbyte x4 SPI Flash 用于配置和数据存储。

现在我想将我的文件存储到 FPGA 板到内存中。那么我该怎么做呢?我是否必须使用 IP 内核来访问内存或通过任何其他来源?

PS:这是我第一次,我在FPGA上存储任何东西。

问候!

阿瓦伊斯

0 投票
0 回答
294 浏览

vhdl - VHDL , Spartan-3AN 输出

我有这个设计,它基本上是一个多功能压延机,具有以下特点:

  1. 以[格式年/月/日:小时:分钟:秒]显示日期
  2. 秒表。
  3. 警报 。
  4. 闹铃激活时的 Snooz 选项,您可以更改 Snooz 周期或停止闹铃。
  5. 事件,要保存在选定的日期和时间,当它发生时,将启用警报。

这就是我为计算时钟所做的[小时:分钟:秒]

和这个代码做休息日期信息[年/月/日] ...

我还独立地为秒表编码,输出在 spartan 3 中的 7-Segment 上,如下所示......

现在,我的问题是..

我应该把所有这些信息都显示在 spartan 3-AN 的 LCD 显示屏上,我完全没有经验,我知道我的代码还没有完成,仍然需要像我一样做一些时钟划分秒表代码,我知道与 LCD 交互时时钟分度会改变,所以我现在没有费心在我的代码中编写它。如果有人可以给我有关如何处理 LCD 显示器、如何显示字符、如何从一个字符移动到另一个字符的任何信息,以便我可以在键盘发生事件时更改它。

您可以说我在 Spartan 3AN 中处理 LCD 的经验为 0,我尝试查看 xilinx 提供的开发板的用户指南,我从中了解了一些内容,但仍然不知道如何使用它,如果有任何可以帮助的教程对我来说已经绰绰有余了。

0 投票
1 回答
851 浏览

storage - Spartan 6 SP605 VHDL 外部内存使用?

我是使用 VHDL 的新手,我的项目遇到了问题。我正在尝试制作一个 FPGA 来从一种通信协议转换为另一种通信协议,为此,在转换之前能够存储(希望是多个)数据包会很有用。

在我尝试将这些数据存储在数组中之前,很快就发现这在 FPGA 上占用了太多空间。因此,我一直在寻找一种将数据存储在 SP605 板上的 DDR3 ram 上的方法(http://www.xilinx.com/support/documentation/boards_and_kits/xtp067_sp605_schematics.pdf,第 9 页)。但是,我找不到有关如何从中写入或读取数据的说明。我试图在每个时钟周期存储一个 8 位 std_logic_vector 以供以后访问。

谁能告诉我如何进行?