2

我最近开始为学校做一个 FPGA 项目,我以前从未使用过 VHDL,所以我尽力将我的程序拼凑在一起。总的来说,我的目标是让 prbs 或 LFSR 随机生成。我的 vhdl 代码在 xilinx ISE 软件中检出并在测试台中正常运行,但我需要将项目闪存到板上并将示波器连接到板上的一个 SMA 连接器,我的问题是如何将我的输出转发到Spartan 6 板上的单个 SMA 连接器

library IEEE;
use IEEE.std_logic_1164.all;

entity LFSR is
port (
  clock    : std_logic;
  reset    : std_logic;
  data_out : out std_logic_vector(9 downto 0)
 );
 end LFSR;

 architecture Behavioral of LFSR is

 signal lfsr_reg : std_logic_vector(9 downto 0);

begin

 process (clock)
variable lfsr_tap : std_logic;
begin
if clock'EVENT and clock='1' then
  if reset = '1' then
    lfsr_reg <= (others => '1');
  else
    lfsr_tap := lfsr_reg(6) xor lfsr_reg(9);
    lfsr_reg <= lfsr_reg(8 downto 0) & lfsr_tap;
  end if;
end if;
 end process;

  data_out <= lfsr_reg;

end Behavioral;

现在我只想将输出/输出转发到 SMA 连接器,这样我就可以在示波器上得到结果,任何帮助都会很棒

4

2 回答 2

3

您只需要将 I/O 映射到 FPGA 芯片上的实际引脚。这是在一个约束文件(通常是 a .ucf)中完成的,您可以手动编辑(它只是文本),或者让工具为您处理。

在较新的 ISE 工具中,PlanAhead 对此负责 - 您可以从 ISE Processes 窗格中打开它(选择用户约束 -> I/O 引脚规划(PlanAhead) - 综合后)。

这将打开 PlanAhead 并为您提供设计中的 I/O 列表(您的clockresetdata_out。现在您只需要将它们映射到正确的 FPGA 引脚。查看您的电路板文档以找到时钟输入、按钮(用于复位)和 SMA 连接器的位置。

PlanAhead 应该.ucf为您创建文件,并将其添加到您的项目中。之后,您可以在 ISE 编辑器中对其进行编辑 - 一旦您在其中包含一些初始内容,它就会非常不言自明。

此外,请查看此 Xilinx 指南(从第 100 页起)以获取分步指南。

于 2013-02-16T17:56:13.743 回答
0

您的 SMA 连接器只能容纳单个输出,不能容纳总线。要查看 LFSR 的 MSB,只需将以下行添加到 .ucf 文件中:

NET clock        LOC = $PIN; 
NET reset        LOC = $PIN; 
NET dataout<9>   LOC = $PIN; # your SMA output
NET dataout<8>   LOC = $PIN;
NET dataout<7>   LOC = $PIN;
NET dataout<6>   LOC = $PIN;
NET dataout<5>   LOC = $PIN;
NET dataout<4>   LOC = $PIN;
NET dataout<3>   LOC = $PIN;
NET dataout<2>   LOC = $PIN;
NET dataout<1>   LOC = $PIN;
NET dataout<0>   LOC = $PIN;

在您的电路板文档(或原理图)中查看正确的引脚,并在您的 .ucf 文件中添加正确的引脚名称。我建议为 dataout 的剩余输出使用一些 LED。

于 2013-02-22T15:59:34.670 回答