2014-07-14 3 views
-2

다음 코드는 나 자신을 알아낼 수없는 오류를 발생시킵니다. 출력 D0 여러 과제가 있으므로 오류가동시 진술의 다중 할당

do: for i in 0 to 9 generate 
    d0<=di0(129-i downto 120-i) 
     when f(i)='1'; 
end generate do; 

답변

0

for-generate 여러번 복제 동시 논리를 생성한다. d0에 10 개의 지정을 지정했습니다. generate 문을 효과적으로 사용하려면 일반적으로 배열 유형을 여러 동시 요소를 구성하는 할당 대상으로 사용해야합니다. 선택적으로, 해결 된 유형을 사용하여 단일 신호의 여러 드라이버를 관리 할 수 ​​있지만 일반적으로 시뮬레이션 외부에서는 유용하지 않습니다.

한 핫 선택을 사용하여 먹스를 설명하려는 것 같습니다. 이것은 generate 문없이 수행 될 수 있습니다. mux 생성과 관련된 논리를 생각하고 배열을 사용하여 관련 부울 연산을 병렬로 설명하십시오.