1

我正在开发一个 VHDL 项目,该项目将被放置到 spartan 6 fpga 上。代码已准备好,但我不确定如何继续将其放到 fpga 上。

我可以访问另一个项目,并注意到该项目中有一个 Microblaze 处理器 (.xmp) 文件和一个定义所有“NET”接口的 ucf 文件。

最终,我将使用 FPGA 和附加板连接器与硬件进行通信,但我需要将所有东西都移到 FPGA 上。

一些资源和教程会很棒,特别是如何将 microblaze 处理器放入我的项目中,如果我什至需要它的话。

谢谢

更新:我开始模拟我的项目并出现错误。

第 214 行:语句不可综合,因为它在 NOT(clock-edge) 条件下不保持其值

我在 ana if 语句中的一个项目文件中得到了这个

if rising_edge(clk) then
-- other if statements that assign output values
end if

我尝试更改代码,但如果我这样做了,它就不再起作用了。

不确定错误的确切含义。

4

2 回答 2

3

UCF 文件应包含属于每个信号的管脚的约束以及任何时序条件。“最简单”的方法是阅读编写此类文件的指南,或使用可帮助您正确处理它们的内置工具

是赛灵思指南。

这是最重要的限制之一:

TIMESPEC “TSidentifier”=PERIOD “TNM_reference” 周期 {HIGH | LOW} [high_or_low_time] INPUT_JITTER 值;(从上面的文件中截取)

于 2013-03-21T15:42:11.477 回答
1

对于新的 VHDL 开发人员来说,最好的教程之一是简短的教程“Spartan 3E FPGA 和 VHDL 简介,作者是 Mike Field。您可以从他的GitHub 帐户下载 PDF 和所有源代码,或者浏览他的书的章节网站

您将在几个小时内从 FPGA 中的简单 Hello World 等价物转变为使用 DCM 并生成 VGA 信号。

Mike 在书中同时使用了 Papilio One 和 Digilent Basys2 开发板,但是您可以轻松地将这些示例调整到您正在使用的任何开发板上。您只需要相应地调整 UCF 文件。他使用 Spartan-3 而你使用 Spartan-6 的事实应该没有任何区别。

UCF 或用户约束文件是告诉您的 FPGA 与外部世界的连接的文件。UCF 高度依赖于您的特定硬件,因为每块板都有一组不同的引脚。您可能正在使用流行制造商之一提供的电路板,因此您只需检查特定硬件的文档即可。

在为您的特定板找到原始 UCF 文件后,建议您删除所有不使用的行(意思是:所有未连接到 vhdl 代码中的任何内容的节点),否则编译器会发出警告或错误。

这应该足以让你开始。

ps:如果你没有任何使用MicroBlaze的具体原因,你可以暂时忽略它。

于 2013-03-22T16:33:41.967 回答