VHDL LFSR通过FPGA板SMA连接器输出

时间:2013-02-16 17:44:48

标签: vhdl fpga xilinx

我最近开始为学校开展FPGA项目,之前从未使用过VHDL,所以我尽力将我的程序拼凑起来。总的来说,我的目标是使prbs或LFSR随机生成。我的vhdl代码在xilinx ISE软件中检出并在testbench中运行正常但我需要将项目闪存到电路板并将示波器连接到电路板上的一个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连接器,这样我就可以在示波器上得到结果,任何帮助都会很棒

2 个答案:

答案 0 :(得分:3)

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

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

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

PlanAhead应为您创建.ucf文件,并将其添加到您的项目中。之后你可以在ISE编辑器中对它进行编辑 - 一旦你有一些初始内容,它就会很明显。

另外,请查看this Xilinx guide(从第100页开始)以获取分步指南。

答案 1 :(得分: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文件中添加正确的引脚名称。 我建议在数据输出的剩余输出中使用一些LED。