3D - 배열 포트 (자연 범위 <>)

V

vollbr0t

Guest
안녕하세요, 저는 3D - 배열 포트 (A) 모듈을 만들고 싶습니다. 배열 포트를 만들려면 나는 배열의 유형을 선언하는 packge를 사용해야합니다. 이런 이렇게 : 종류 test_type는 std_logic의 배열 (자연 범위, 자연 범위, 자연 범위)이며, portwidth가 전달 generics에 따라이기 때문에 나는 세 가지 차원에 대해 "자연의 범위를"사용해야합니다 : 엔티티는 일반이다 (gen_1 : 자연 : = 5, gen_2 : 자연 : = 6, gen_3 : 자연 : = 7), 포트 (매트릭스 : test_type (0 downto gen_1, 0 downto gen_2, 0 downto gen_3)에) 시뮬레이션이 함께 잘 동작 하지만 합성에 나는 3D 포트 라인에서 "매트릭스가 아직 지원되지 않습니다"받으세요. 때문에 필요한 "자연 범위"의 전 패키지에 선언 subtype을 사용할 수 없으며, 자연 범위가 불가능합니다 사용하지 않는 패키지 generics을 통과. 당신은 이것을 syenthesis을 받고 어떤 생각을 가지고 있습니까? 안부, 월
 
유일한 대답은 다른 synthesisor를 사용하는 것입니다. 다차원 배열은 매우 자주 사용되지 않습니다 일부 synthesisors 그들을 지원하지 않을 수도 있습니다. 왜 synthesisor 및 버전이 무엇인지 어떤 형태를 사용하고 있습니까? 당신은 std_logic의 3 차원 행렬을 만든 이유하지만 제 질문은? 왜 havent 당신은 std_logic_vector의 2D 매트릭스를 만든거야?
 
난 ISE 13.2을 사용 * 수정, 종류 test_type이 std_logic_vector (자연 범위)의 배열 (자연 범위, 자연 범위)입니다 : 나는 돈은 가능한이 같은 선언 고는 생각하지
 
1. , 당신은 VHDL 2008 호환 synthesisor를 찾을 수 없다면, 유형 test_type은 std_logic_vector (0 downto 7)의 배열 (자연 범위, 자연 범위)입니다 : 당신은 당신이 그것을 선언할 때, 그래서 그것이되어야 할 것입니다 std_logic_vector의 길이를 설정해야합니다 어디 자연 범위로 std_logic_vector을 남길 수 있습니다. 나는 std_logic의 배열을 선언하지 않도록 것입니다 - 그것은 생활을 조금 성가신합니다. 2. 나는 ISE를 사용 않는다,하지만 난 quartus (알테라)은 아마 그것을 지원하는 것입니다 알아요. 자일링스는 다른 사람들과 연락하기 위해 조금 느린 것에 대해 유명합니다!
 
하지만 이것은 문제 : 세 가지 차원은 일반해야!
 
당신은 부드러운 타입을 만들 수 있습니다. 예 : std_logic_vector (M * N * P - 1 0 downto); 후 특정 항목을 얻을 수있는 인덱싱을 수행합니다.
 

Welcome to EDABoard.com

Sponsor

Back
Top