问题标签 [virtex]

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 回答
538 浏览

fpga - 如何将 Xilinx-FPGA Virtex5/7 的内存用作映射到 x86-CPU 地址空间的内存?

是否可以将 Xilinx-FPGA Virtex5/7 的内存用作映射到 Intel x86_64-CPU 内存的虚拟和/或物理地址空间的内存以及如何操作?

最大程度地,我需要使用统一的单一地址空间,并具有从 CPU 到 FPGA 的内存的直接内存访问 (DMA)(就像对 CPU-RAM 的简单内存访问)。

  • CPU:x86_64 英特尔酷睿 i7
  • 操作系统:Linux 内核 2.6
  • 接口连接:PCI-Express 2.0 8x
0 投票
1 回答
1501 浏览

multithreading - FPGA上的线程叫什么(Xilinx Virtex 5/7),它可以有多少个?

FPGA上的执行线程是什么(Xilinx Virtex 5/7),理论上可以有多少个(最小和最大)?

0 投票
1 回答
173 浏览

verilog - 如何改变 Xilinx Virtex-5 FPGA ML501、ML506 和 ML510 板的电源电压?

我正在尝试做一个实验,看看不同的电源电压如何影响环形振荡器的频率和 SRAM 单元的可靠性。我可以使用几个 Xilinx Virtex-5 板,即 ML501、ML506 和 ML510。我试图搜索网络,但到目前为止我还没有找到任何有用的东西。我对 FPGA 设计有一些经验,但我以前从未尝试过改变电源电压。所以我真的不知道如何开始。有人(做过类似项目)可以告诉我如何改变这些 FPGA 板的电源电压吗?

0 投票
1 回答
1036 浏览

fpga - 如何获取 Xilinx Virtex-5 FPGA 芯片的片上温度?

我正在尝试做一个实验,看看不同的片上温度如何影响环形振荡器的频率。我知道随着温度的升高,环形振荡器的频率也会降低。但我不知道每升高1摄氏度会降低多少。这就是我想做这个实验的原因。我计划在 Xilinx Virtex-5 FPGA 板(ML501、ML506 或 ML510)中实现环形振荡器,因为我只有这些板。有谁知道如何准确读取 Virtex-5 中的片上温度?

0 投票
1 回答
1502 浏览

fpga - 为 Serial-ATA (Gen1/2/3) 配置 7 系列 GTXE2 收发器

您好,这将是一个专家问题:) 您应该熟悉以下主题

  • Xilinx 多千兆位收发器 (MGT),尤其是 7 系列 GTX/GTH 收发器 (GTXE2_CHANNEL)
  • 串行 ATA Gen1、Gen2 和 Gen3,尤其是带外 (OOB) 通信

问题:

应该如何为 Serial-ATA 配置 GTXE2?

OOB 信号在 RX_ElectricalIdle 和 ComInit 中都不起作用。

介绍:

我为我的最后一个本科项目实现了一个 SATA 控制器,它支持多个供应商/设备平台(Xilinx Virtex-5、Altera Stratix II、Altera Stratix IV)。现在是时候将该控制器移植到下一个器件系列:Xilinx 7 系列器件,即 KC705 板上的 Kintex-7。

SATA 控制器在物理层中有一个额外的抽象层,它基于 SAPIS 和 PIPE 3.0。因此,要将 SATA 控制器移植到新的设备系列,我只需为 GTXE2 MGT 编写一个新的收发器包装器。

由于 Xilinx 的 CoreGenerator 不支持 CoreGen 向导中的 SATA 协议,我从头开始了一个收发器项目,并根据向导的要求应用了所有必要的设置。之后,我将 GTXE2_COMMON 实例复制到我的包装模块中,将泛型和端口排序为一个有意义的完整模式。

作为第三步,我将所有未连接的端口(向导不会分配所有值!!)连接到它们的默认值(来自 UG476 的默认值,如果未定义,则为零)。

在第 4 步中,如果它们与 SATA 设置兼容,我会再次对照 UG476 检查所有泛型和端口。之后,我将包装器端口连接到 MGT 并在必要时插入交叉时钟模块。

由于 KC705 板没有 150 MHz 参考时钟,我对 Si570 进行编程以在每个板“启动”后将此时钟作为“ProgUser_Clock”提供。在重新配置时,MGT 处于断电模式 (P2)。当 Si570 稳定时,MGT 上电,使用的通道 PLL (CPLL) 在 ca 后锁定。6180 个时钟周期。此 CPLL_Locked 事件释放 GTX_TX|RX_Reset 线,这会在额外的 270|1760 个周期(所有周期 @ 150 MHz -> 6.6 ns)后导致 GTX_TX|RX_ResetDone 事件。

这种行为可以在chipscope中看到,使用稳定、不间断的辅助时钟(200 MHz,略微过采样)捕获。

所以 GXTE2 接缝上电、运行和所有时钟都稳定。

GTXE2 端口控制 OOB 信令:

MGT 有几个用于 OOB 信令的端口。在 TX,这些是:

  • TX_ElectricalIdle - 强制 TX 进入电气空闲状态
  • TX_ComInit - 发送一个 ComInit 序列
  • TX_ComWake - 发送 ComWake 序列
  • TX_ComFinish - 序列已发送 -> 准备好下一个命令

在 RX 上:

  • RX_ElectricalIdle - RX_n/TX_p 处于电气空闲状态(低级接口)
  • RX_ComInit_Detected - 发送了完整的 ComInit 序列
  • RX_ComWake_Detected - 发送了完整的 ComWake 序列

详细错误说明:

  1. 如果 TX_ComInit 在一个周期内为高电平,则 TX 不发送 OOB 序列。
  2. RX_ElectricalIdle 始终为高电平

测试:

  1. SATA 环回电缆:剪断 SATA 电缆并焊接适当的电线;)——我正在使用特殊的 SFP 到 SATA 适配器,它通过 SATA 连接器扩展 KC705 - http://shop.trioflex.ee/product.php ?id_product=73
  2. SMA 环回电缆:我移动了 MGT 并将 LVDS 线连接到 SMA 插孔,并安装了 2 条 SMA 电缆作为交叉线。
  3. 我用板载 SATA 连接器对旧的 ML505 (Virtex-5) 进行了编程,以发送 ComInit 序列。2 块板通过特殊的 SATA 交叉电缆连接。
  4. 我将带有部分剥离 SATA 电缆的 HDD 连接到 KC705(SFP2SATA 适配器)并连接了 2.5 GSps 示波器(是的,信号采样不足,但很高兴看到突发和空闲时间......)。

经验:

  • 测试 3 显示从 Virtex-5 传输到 Kintex-7 的 OOB 序列,但未发生 ChipScope 触发事件 - Rx_ElectricalIdle 仍然为高电平。
  • 测试 4 显示电缆上没有传输的 OOB 序列。

我应该发布零件还是完整的收发器实例化?

只有实例有 ca。650行:(

请询问您是否需要更多信息,图像,代码,... :)

附录:

电气空闲意味着 MGT 以 0..2000 mV 范围内的共模电压 (V_cm) 驱动两条 LVDS 线 (TX_n/TX_p)。如果满足此条件,则共模增量电压小于 100 mV,称为 ElectricalIdle 条件。

OOB 信令意味着 MGT 在 LVDS 线上传输电空闲和正常数据符号(8b/10b 表示法中的 D10.2)突发。SATA/SAS 定义了 3 个 OOB 序列,称为 ComInit、ComWake、ComSAS,它们具有不同的突发/空闲持续时间。主机控制器和设备使用这些“莫尔斯信号”来建立链接。

0 投票
1 回答
405 浏览

fpga - ChipScope 错误 - 在缓冲区中未找到触发标记

有人提到 ChipScope 中的数据错误、触发错误或上传错误吗?

我正在使用带有 IP 内核流程的 ChipScope(来自 ISE 14.7)。所以我创建了 15 个不同的 ICON IP 内核作为 ngc 文件,并将它们全部封装在一个 VHDL 模块中。该模块应通过 ngc 文件的通用选择进行实例化。因此,我可以轻松选择活动 VIO/ILA 内核的数量。

目前我的项目有 2 个 VIO 内核和 5 个 ILA 内核,在 Kintex-7 325T 上使用大约 190 个 BlockRAM(总共 >400 个 BlockRAM)。当触发事件发生时,我有时会收到警告在缓冲区中找不到触发标记。数据缓冲区可能已损坏。数据上传错误

此错误与触发模式(正常触发事件、立即触发、启动触发)无关。它似乎主要发生在第 4 单元上(91 位数据 * 32k 深度 + 4 个单元中的每个 3 个触发端口)。据我所知,上传进度条可以在 1% 到 95% 之间的任何百分比处停止。

此外,我收到数百个这样的警告:

我的谷歌研究:忽略它们:)

XST 中还有一个 bug:此警告没有 ID,无法过滤 :(

截至目前,我试图解决这个问题:

  • 降低/提高 JTAG 速度 -> 无效(程序设备不受影响)
  • 重新编译的 ip core / 新的 ngc 文件
  • 减小 ILA 窗口大小

那会是什么?

PS所有时间都满足了。

0 投票
1 回答
624 浏览

fpga - 如何读取 JTAG 链中 Virtex 5 的状态寄存器?

我正在研究 XUPV5-LX110T,我正在尝试通过 JTAG 读取状态寄存器。我得到的数据不正确,但我不明白为什么。我似乎得到了全零。

我怀疑它与 JTAG 链的顺序有关,但我不确定我应该如何调整我发送的命令的顺序。

我知道 TMS 坑会改变链上所有设备的状态,但是当它是链上的最后一个设备时,如何将数据转移到 FPGA?

0 投票
1 回答
512 浏览

fpga - 如何验证 Xilinx Virtex 5 上的回读数据?

我知道它在配置指南中谈到了它,但是在视觉上验证它似乎很痛苦。是否有任何工具可用于自动验证回读数据?

0 投票
1 回答
250 浏览

image-processing - 将 VGA 与 Virtex-5 FPGA 板连接

我需要将 VGA 屏幕连接到 Virtex-5 FPGA 板以显示图像。我知道如何将 VGA 与 Spartan-3E 入门板连接。但我不知道如何使用 Virtex-5 来做到这一点。

0 投票
1 回答
232 浏览

verilog - 与 Xilinx virtex-5 FPGA 板接口

我一直在使用 spartan 3e 入门套件板很长时间。但现在我正在尝试使用 virtex-5 ml505 xc5vlx110t 板(ff1136)。我面临的第一个问题是 xilinx ise 14.7 没有这个板的封装(它只有 vlx50t 之前的封装)。我更新了我的许可证文件,但没有帮助。我认为这可能是安装问题,所以我安装了 xilinx ise 14.2。显然这个版本有 virtex-5 ml505 xc5vlx110t board(ff1136) 的包,但是在综合它时给出了一个错误:没有找到这个架构的许可证。虽然它正在为 virtex-5 ml505 xc5vlx50 board(ff1136) 合成相同的代码而没有任何错误。我已经从 Xilinx 的网站更新了我的许可证文件,但它没有帮助。我需要为此架构购买一些许可证吗?