2013-02-16 2 views
2

최근 학교에서 FPGA 프로젝트 작업을 시작한 적이 있습니다. 전에 VHDL로 작업 해 본 적이 없으므로 프로그램을 함께 사용하기 위해 최선을 다했습니다. 전반적으로, 제 목표는 prbs 또는 LFSR을 무작위로 생성하는 것입니다. 내 vhdl 코드는 자일링스 ISE 소프트웨어에서 체크 아웃하고 테스트 벤치에서 잘 실행되지만 보드에 프로젝트를 플래시하고 보드의 SMA 커넥터 중 하나에 오실로스코프를 연결해야합니다. 제 질문은 어떻게하면 출력을 나는 오실로스코프에 결과를 얻을 수 있도록 스파르탄 6 보드에 하나의 SMA 커넥터VHDL LFSR FPGA 보드 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 커넥터 출력은 어떤 도움

답변

3

당신은 그냥 좋은 것 I/O를 FPGA 칩의 실제 핀에 매핑해야합니다. 이것은 제약 파일 (일반적으로 .ucf)에서 이루어지며, 손으로 편집 (텍스트 만 가능)하거나 도구로 처리 할 수 ​​있습니다.

최신 ISE 도구 인 PlanAhead가 이에 대한 책임이 있습니다. ISE 프로세스 창 (사용자 제약 -> I/O 핀 계획 (PlanAhead) - 합성 후 선택)에서 열 수 있습니다.

이 플랜 어 헤드를 열고 당신의 디자인에 당신에게 I/O를의 목록을 제공합니다 (clock, resetdata_out). 이제 이들을 올바른 FPGA 핀에 매핑하면됩니다. 클럭 입력, 누름 버튼 (재설정 용) 및 SMA 커넥터의 위치는 보드 설명서를 참조하십시오.

PlanAhead는 .ucf 파일을 만들어 프로젝트에 추가해야합니다. 그런 다음 ISE 편집기에서 편집 할 수 있습니다. 일단 초기 내용이 있으면 꽤 자명합니다.

또한 단계별 가이드는 this Xilinx guide (100 페이지 이상부터)을 확인하십시오.

+0

감사합니다. 시도해 보겠습니다. 전방 계획 프로그램을 사용하고 예를 들어 데이터 출력 6을 사용하고 B3으로 출력을 설정했는데 Spartan 6 보드에서는 SMA 커넥터 중 하나이지만 아무 일도 일어나지 않았습니다. 이 프로그램은 NET "data_out [6]"LOC = B3; 그 줄을 .ucf 파일에 추가하십시오. 생성 된 랜덤 비트를 FPGA 보드의 오실로스코프에 표시하려고합니다. 내가 뭘하고 있는지, 아니면 ucf 파일이 문제를 일으키는 것일까? –

+0

시계 신호도 연결 했습니까? – sonicwave

+0

예. 오실로스코프에 뭔가를 표시 할 수있었습니다. 내가 ucf와 제안 된 방법을 사용하여 나타나는 비트 중 하나가 있습니다. 그래서 내가 data_outs 중 하나가 1과 0 사이에 변동하는 것 같습니다. 내가 정말로 필요로하는 것은 결합 된 비트를 오실로스코프에 표시하는 것입니다. 테스트 벤치를 실행할 때 data_out [9,0]을 사용하면 0-1023 사이에 생성 된 임의의 숫자 ... 난 임의의 숫자를 오실로스코프에 표시하고 싶습니다 ... 어떤 아이디어입니까? –

0

SMA 커넥터는 버스가 아닌 단일 출력 만 보유 할 수 있습니다. 그냥 .ucf 파일에 다음 행을 추가하려면 LFSR의 MSB를 보려면 : 올바른 핀

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를 사용하는 것이 좋습니다.

+0

감사합니다. 시도해 보겠습니다.전방 계획 프로그램을 사용하고 예를 들어 데이터 출력 6을 사용하고 B3으로 출력을 설정했는데 Spartan 6 보드에서는 SMA 커넥터 중 하나이지만 아무 일도 일어나지 않았습니다. 이 프로그램은 NET "data_out [6]"LOC = B3; 그 줄을 .ucf 파일에 추가하십시오. –

+0

그냥 생성 된 임의의 비트를 FPGA 보드의 오실로스코프에 표시하려고합니다. 내가 뭘하고 있는지, 아니면 ucf 파일이 문제를 일으키는 것일까? –

+0

이 도구는 또한 핀 출력 보고서를 생성합니다. 거기에 모든 것이 괜찮습니까? – user2099996