Выход VHDL LFSR через разъем платы FPGA SMA


Я недавно начал работать над проектом FPGA для школы, я никогда раньше не работал с VHDL, поэтому я изо всех сил старался собрать свою программу вместе. В целом, моя цель состоит в том, чтобы сделать prbs или LFSR для генерации случайным образом. Мой vhdl-код проверяется в программном обеспечении xilinx ISE и запускается в testbench нормально, но мне нужно прошить проект на плате и подключить осциллограф к одному из разъемов SMA на плате, мой вопрос в том, как я могу перенаправить свои выходы на один разъем SMA на Spartan 6 доска

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 2

2 ответа:

Вам просто нужно сопоставить ваш I / Os с фактическими контактами на вашем чипе FPGA. Это делается в файле ограничений (обычно .ucf), который вы можете либо редактировать вручную (это просто текст), либо позволить инструменту обрабатывать за вас.

В новых инструментах ISE PlanAhead отвечает за это - вы можете открыть его из панели процессов ISE (выберите пользовательские ограничения -> планирование ввода - вывода Pin (PlanAhead)-пост-синтез).

Это открывает PlanAhead и дает вам список I / Os в вашем дизайне (ваш clock, reset и data_out). Теперь вам просто нужно сопоставить их с правильными выводами FPGA. Посмотрите в документации по плате, чтобы найти расположение вашего тактового входа, кнопок (для сброса) и разъема SMA.

PlanAhead должен создать файл .ucf для вас и добавить его в ваш проект. После этого вы можете отредактировать его в Редакторе ISE - это довольно само собой разумеющееся, как только у вас есть некоторое начальное содержание в нем.

Кроме того, проверьте это руководство Xilinx (со страницы 100 и далее) для пошаговое руководство.

Ваш SMA-разъем может содержать только один выход, а не шину. Чтобы увидеть MSB вашего 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. Я предлагаю использовать некоторые светодиоды для остальных выходов dataout.