2013-10-09 2 views
4

Simulink/Matlab Embedded Coder를 사용하여 모델을 작성한 다음 HDL Coder를 통해 VHDL로 변환합니다. 시뮬레이션과 HDL, 특히 디버그 출력에 대해 약간 다르게 동작해야합니다.Simulink에서 시뮬레이션과 HDL 코드 생성을 구별하십시오.

어떤 대상을 선택했는지 구분할 수있는 프로그래밍 방식이 있습니까? 이것은 바람직하게 "DEBUG = 1;"과 같은 수동 스위치가 필요하지 않습니다. 비활성화 된 코드 또는 하위 모델이 전혀 합성되지 않도록해야합니다. 다른 "액셀러레이터"모드를 구별 할 수 있다면 플러스가 될 것입니다.

업데이트 : HDL 코드를 자동 생성이다 내가 수동으로 생성 된 코드를 만지지 않도록하려면 이후 는 이러한 스위치, 전에 효과 에 와야한다.

솔루션 : EnvironmentController는 시뮬링크에서 이러한 스위치를 제공합니다 내가 부분적으로 내 질문에 대한 대답 해결책을 발견했다. 어쩌면 Embedded-Matlab 전용 방법도 있을까요?

답변

3

Simulink 모델에 MATLAB 코드가있는 경우 coder.target을 사용하여 대상을 식별 할 수 있습니다. 이것을 사용하여 "C"코드 생성과 "HDL"코드 생성을 구별 할 수 있습니다.

coder.target("HDL")은 HDL을 생성 할 때 true입니다.

문서는 다음 번호로 보내드립니다. http://www.mathworks.com/help/coder/ref/coder.target.html