2013-05-18 4 views
0

파이프 라인 프로세서에 대한 포스트 게이트 레벨 시뮬레이션을 만들려고합니다. 나는 vhdl 형식의 네트리스트를 가지고 있으며, 지금은 합성 직후 기능성을 확인하기 위해 다시 시뮬레이션해야합니다. 문제는 내가 2 RAM을 하나의 지시와 다른 데이터에 대한 포스트 게이트 레벨 시뮬레이션에서 메모리 목록보기를 볼 내 지침과 데이터를 내 2 램에로드 할 능력이 없다는 것입니다. 플립 플롭 및 멀티플렉서로 변환 된 데이터를 램에 어떻게 삽입합니까?포스트 게이트 레벨 시뮬레이션을 모델

미리 감사드립니다.

+0

http://stackoverflow.com/questions와 비슷한 문제인 것처럼 보입니다./16607812/initializing-memory-in-netlist-vhdl/16622869 # 16622869 –

답변

0

설명에서 두 RAM은 명령어 캐시 및 데이터 캐시 용이라고 가정합니다. 이들은 대개 작은 크기의 프로세서 에서조차 상당한 크기이기 때문에 이러한 RAM이 플립 플롭과 멀티플렉서로 구현되는 것은 의심 스럽습니다. 따라서 첫 번째 제안은 RAM이 실제로 별도의 RAM 프리미티브 모듈인지 확인하기 위해 넷리스트를 확인하는 것입니다.

이유는 RAM 기본 모듈이 (모델에 따라) 파일의 내용으로 초기화 될 수 있기 때문입니다. 이 경우 올바른 형식의 파일을 만들어야합니다.

RAM 프리미티브 모듈이 실제로 넷리스트에 있지만 초기화를 허용하지 않으면 RAM 프리미티브 모듈을 사용자 초기화 할 수있는 버전으로 대체하십시오.

RAM이 실제로 플립 플롭 및 멀티플렉서로 변환되는 경우 프로세서는 일반적으로 보호 (커널) 모드에서 사용할 수있는 일부 캐시 조작 명령어를 지원할 수 있습니다. 이 명령어는 실행 된 프로그램이 제공하는 내용으로 명령어 캐시와 데이터 캐시를로드하는 데 사용할 수 있습니다. 이러한 방식으로 캐시 RAM을 로딩하면 많은 명령어를 취할 수 있으므로 시뮬레이션 시간이 필요합니다.

마지막으로 게이트 레벨 시뮬레이션에 많은 시간을 소비하지 않을 수도 있습니다. 네트리스트가 정상적으로 작동하는지 확인하기 위해 조금만 실행해도되지만 일반적으로 잘 알려진 상용 합성 툴은 일반적으로 품질이 높기 때문에 디자인에 버그가있는 것은 아닙니다. 버그가 발생할 위험은 프로젝트의 전용 설계에서 훨씬 커지므로 기능 확인 및 코드 검토에 더 많은 시간을 투자 할 수 있습니다 .-)