我最近开始在学校做一个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连接器,这样我就可以在示波器上获得结果,任何帮助都会很好
发布于 2013-02-17 01:56:14
您只需将I/O映射到FPGA芯片上的实际引脚。这是在约束文件(通常是.ucf)中完成的,您可以手动编辑(它只是文本),也可以让工具为您处理。
在较新的ISE工具中,PlanAhead负责此操作-您可以从ISE流程窗格中打开它(选择User Constraints -> I/O引脚规划(PlanAhead) -后期综合)。
这将打开PlanAhead并为您提供设计中的I/O列表(您的clock、reset和data_out)。现在,您只需将这些映射到正确的FPGA引脚。查看主板文档,查找时钟输入、按钮(用于复位)和SMA连接器的位置。
PlanAhead应该会为您创建.ucf文件,并将其添加到项目中。之后,您可以在ISE编辑器中对其进行编辑-一旦您有了一些初始内容,它就会变得不言自明。
此外,请查看this Xilinx guide (从第100页开始),以获得逐步指南。
发布于 2013-02-22 23:59:35
您的SMA连接器只能容纳单个输出,而不能容纳总线。要查看LFSR的最高有效位,只需将以下行添加到.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用于剩余的dataout输出。
https://stackoverflow.com/questions/14913196
复制相似问题