파이썬에서 사용할 수있는 것과 비슷한 systemverilog 패키지를 다른 이름으로 가져올 수있는 메커니즘이 있습니까?systemverilog 패키지를 다른 이름으로 가져 오기
가져올 패키지가 있고 패키지 이름은 top_pkg
입니다. 가져오고 싶습니다. subsystem_pkg
파이썬에서 사용할 수있는 것과 비슷한 systemverilog 패키지를 다른 이름으로 가져올 수있는 메커니즘이 있습니까?systemverilog 패키지를 다른 이름으로 가져 오기
가져올 패키지가 있고 패키지 이름은 top_pkg
입니다. 가져오고 싶습니다. subsystem_pkg
메커니즘이 있지만이 목적으로는 쉽지 않습니다. 당신이 할 수있는 일은 top_pkg
을 수입하는 subsystem_pkg
을 만드는 것입니다. 그런 다음 에서 가져온 모든 심볼을 top_pkg
에서 가져 와서 직접 내부에 선언 된 것처럼 나타나게 할 수 있습니다. subsystem_pkg
일반적으로 패키지 내에서 선언 된 심볼 만 패키지가 가져온 것이 아니라 가져올 수있는 심볼입니다 (때로는 체인이라고도 함). 수입). export
명령은 가져 오기를 연결합니다.
이러한 목적으로이 작업을 어렵게 만드는 이유는 와일드 카드가 가져 오기 및 내보내기 작업을하는 방식입니다. 체인 연결된 모든 심볼은 체인 패키지에 명시 적으로 나타나야합니다. 예를 들어
package top_pkg;
int a,b,c,d;
endpackage
package subsystem;
import top_pkg::*;
import top_pkg::b;
export top_pkg::*;
export top_pkg::c;
int e = d;
endpackage
첫 번째 import
문은 top_pkg에서 모든 심볼을 말한다 후보를 수입; 실제로 아무것도 가져 오지 않습니다. 두 번째 import 문은 b
을 명시 적으로 가져옵니다. 첫 번째 export
문은 top_pkg
에서 가져온 기호를 내보내려면이 시점에서 b
만 내보내라고 말합니다. 두 번째 export
문은 암시 적으로 임포트 한 다음 명시 적으로 c
을 내 보냅니다. 마지막 명령문은 d
의 내재적 임포트와 암시 적 익스포트 'd'를 발생시킵니다.
subsystem_pkg
을 가져올 때 top_pkg
에서 심볼 b, c 및 d를 가져올 수 있으며 로컬로 선언 된 'e.
감사합니다. Dave. 필자가 특별히 필요로하는 파일을 포함하는 별도의 패키지 파일을 사용하기로 결정했습니다. – noobuntu
아무도 두 패키지를 모두 가져 오지 않고 두 패키지간에 통신이 없으면 작동합니다. http://go.mentor.com/package-import-versus-include를 참조하십시오. –