2014-09-14 2 views
1

첫 번째 VHDL은 26 개의 LED를 0에서 26까지 회전시키는 데 사용됩니다. 이렇게하려면 10hz 및 1hz에서 클럭 신호가 필요합니다. 사용 가능한 유일한 시계는 50Mhz입니다. 두 번째 VHDL 파일은 1 및 10hz로 가용 신호를 느리게하는 것입니다. .do 파일을 사용하여 시뮬레이션을 실행하여 파형을 만듭니다. 50Mz 시계는 잘 보이지만 1hz와 10hz는 모두 평면화되어 있습니다. 두 사람은 두 번째 VHDL 파일이 필요합니다. ModelSIm은 시뮬레이션 당 하나의 VHDL 파일 만 선택할 수 있기 때문에 시뮬레이션에서 두 파일을 모두 가지고 있어야합니까?작업을 성공적으로 완료하기 위해 다른 VHDL 파일이 필요할 때 어떻게 Altera ModelSim에서 VHDL 파일을 시뮬레이트합니까?

간결히 말하자면 하나의 파일에는 회전 LED 코드가 많으며 다른 하나는 본질적으로 주 파일에 필요한 작업을 수행하는 헤더 파일입니다. 첫 번째를 시뮬레이트하고 싶지만 일부 신호는 시뮬레이션 중에 두 번째 파일이 필요하지만이를 포함 할 수는 없습니다.

+0

세부 정보를 충분히 제공하지 않았습니다. FPGA 벤더는 디자인 파일이 연관되어있는 '프로젝트'를 관리함으로써 분석 된 모든 디자인 유닛이 동일한 작업 라이브러리에 존재하게한다. 두 번째 VHDL 파일이 작업 라이브러리에 존재하지 않는 것처럼 들립니다. 즉, '프로젝트'와 연결되지 않았을 가능성이 높습니다. 또한 테스트 벤치 (do 파일을 생성하여 자동으로 생성되었을 수도 있음)는 언급하지 않았습니다. – user1155120

답변

1

그렇습니다. 두 파일을 모두 시뮬레이트하려면 예를 들어 ModelSim에 vcom을 사용하여 시뮬레이션 환경에 둘 다 추가 (또는 컴파일)해야합니다. 첫 번째 및 두 번째 파일에 샘플 코드를 게시 할 수 있다면 좋습니다.

첫 번째 단락에서 언급 한 것처럼 50MHz 신호를 1Hz 및 10Hz로 낮추는 것이므로 두 번째 파일이 주파수 분배기라는 인상을 받았습니다. 그러나 두 번째 단락을 읽은 후 의심 스럽습니다. "한 파일에는 회전 된 코드가 많으며 다른 파일은 본질적으로 주 파일에 필요한 작업을 수행하기위한 헤더 파일입니다"라고되어 있습니다.

전체 설계를 시뮬레이트하고 LED 로직이 하나의 파일에 있고, 주파수 분배기가 다른 파일에있는 경우, (예를 들어 클록 및 리셋을 위해) 테스트 벤치 코드를 작성해야합니다. 이 테스트 벤치는 전체 디자인을 캡슐화 (인스턴스 생성)하고 "헤더 파일"이라고 불리는 개념에 더 가깝습니다. 일반적으로 우리는 테스트 벤치를 별도의 파일로 작성합니다. 즉, 어려운 규칙은 아니지만 일반적으로 3 개의 파일을 가질 것입니다.

그래서, 첫번째 파일이 LED "회전 것, 두 번째 파일은 주파수 분할기 것, 세 번째 파일은 테스트 벤치 될 것입니다.

또 다른 일을. Hz에서 소요 아래로 1 Hz에서 또는 10-50 MHz의 분할 의미있는 결과를 기다리는 시간과 컴퓨터가 파형을 저장하는 데 필요한 시간의 양 모두에서 시뮬레이션 시간을 많이 늘릴 수 있습니다. 충분한 포인트를 시뮬레이트하지 않았기 때문에 "평탄 라인"을 볼 수 있습니다. 1 Hz 또는 10 Hz 파형의 변경 사항을 확인하십시오. 예를 들어 10 Hz의 최소 1 사이클을 보려면 최소 0.2 us의 시뮬레이션 포인트를 시뮬레이트해야합니다. 파형의 끝 부분을 확인하십시오 마지막 실행을 시뮬레이트하는 데 걸린 시뮬레이션 시간을 확인하십시오.

아직 테스트 벤치를 작성하지 않았고 디자인에 어떤 시계도 제공하지 않았습니까?

어쨌든 코드를 게시 할 수 있다면 좋을 것입니다.