【问题标题】:FPGA programming with VHDL and C使用 VHDL 和 C 进行 FPGA 编程
【发布时间】:2012-03-05 13:59:51
【问题描述】:

我有项目要做。这要求我使用 FPGA。主题是,我需要使用 VHDL 在 FPGA 中创建一个电路,该电路将执行一些任务,如乘法或除法。然后我需要将输入数据从 PowerPC(内置于 Virtex 4 中的微控制器)发送到该电路,然后使用 PowerPC 从 FPGA 电路的输出中收集数据。我曾尝试查看手册,但未能理解 FPGA 电路和微控制器之间的通信。

谷歌也没有帮助..

如果有书或更好的教程可以帮助我完成这个项目,请告诉我。提前感谢您的关注。

注意:我使用的是 Virtex-4 ml403 FPGA 板。

再次感谢。

【问题讨论】:

  • 嗨 Jasim Khan Afridi,我认为您的 FPGA 模块可以通过一组寄存器与 PowerPC 内核通信。 PowerPC 可以设置寄存器的值来配置 FPGA 模块,另一方面,PowerPC 内核可以读取(获取)寄存器的值来获取模块的状态。如果你有一个高级的 FPGA 模块,你的模块可以对 SDRAM 做 DMA,PowerPC 内核也可以从 SDRAM 获取数据
  • 顺便说一句,您可以访问 Altera 的网站altera.com/education/univ/materials/manual/unv-lab-manual.html。有一些关于软CPU和外设接口的教程
  • FPGA 将被映射到一些内存地址,在 PowerPC 上您将读取或写入这些内存位置以读取和写入 FPGA。您想在电路板的文档中搜索术语“内存映射”。例如,如果你有一个 8 位 FPGA 寄存器映射到内存位置0x1000,你可以做volatile unsigned char *fpga_reg = 0x1000; *fpga_reg = 0xAB; // write 0xab to register mapped to 0x1000
  • @dien 当我在 FPGA 上创建电路时,输入和输出端口会充当内存寄存器吗?他们的名字是什么?你有什么例子可以给我看吗?感谢您的回复....
  • 嗨 Jasim Khan Afridi,希望这就是你要找的东西 web.eecs.umich.edu/~prabal/teaching/eecs373-f10/labs/lab3/…

标签: c vhdl fpga powerpc


【解决方案1】:

看看 Xilinx 的 Xapp717。 http://www.xilinx.com/support/documentation/application_notes/xapp717.pdf

在介绍中,它特别提到了您正在尝试做的事情。本文中的 APU 指的是 PowerPC。

本应用笔记介绍了 APU 并描述了 APU 增强型的主要特性 系统。包含的示例说明了 APU 如何在处理器和 FPGA。这两个例子是: • 一个简单的系统,将数据从内存通过处理器和 APU 移动到 FPGA中的寄存器,并返回到内存中

包含源代码(需要 Xilinx 登录) http://www.xilinx.com/bvdocs/appnotes/xapp717.zip

【讨论】:

  • 对不起,这也没有帮助......我仍然很困惑。 PowerPC 处理清晰。但没有解释FPGA设计。请帮忙...
【解决方案2】:

我们的软件 Impulse C 将自动与 PPC 建立总线连接。欢迎您免费试用。如果您有兴趣将您的以太网 MAC 发送给我或 ImpulseC 的信息,我们将帮助您开始。

最好, 布赖恩

【讨论】:

    【解决方案3】:

    你需要实现一个multiplier/divider来使用FPGA加速计算吗?如果是这样,您应该使用 VHDL 代码设计一个乘法器/除法器。也许使用Xilinx IP core 是最方便的方式。您需要做的就是指定您想要的参数(例如,输入数字是 32 位)。综合您的设计并分配输入/输出引脚。然后就可以通过这些引脚在 PowerPC 和 FPGA 之间传输数据了。

    【讨论】:

      猜你喜欢
      • 2020-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多