추가 작업에 vhdl에 + 연산자가있는 경우 왜 ieee.std_logic_unsigned를 추가해야합니까?이 라이브러리에는 vhdl에 + 연산자가 이미있는 경우 + 함수가 정의 된 이유는 무엇입니까?+ 연산자와 + 함수의 차이점은 vhdl입니까?
답변
모든 VHDL 연산자와 마찬가지로 +
연산자에도 기능 표기법이 있습니다. a+b
및 "+"(a,b)
은 정확히 같습니다. 이것의 좋은 점은 기본적으로 정의되지 않은 유형에서 작동하도록 VHDL 연산자를 오버로드 할 수 있다는 것입니다. 자신의 형식 인 my_type
과 voilà의 두 인수를 취하는 "+"
함수를 정의하기 만하면됩니다. 이제 a+b
을 사용할 수 있습니다. a
및 b
은 my_type
입니다.
std_ulogic_vector
또는 std_logic_vector
에는 +
연산자가 기본적으로 정의되어 있지 않습니다. 이건 사실이다. 당신은 이것에 동의 할 수 없지만 그것은 VHDL 표준입니다. 따라서 이러한 유형과 함께 사용하려면 원하는 방식으로 정의해야합니다.
ieee.std_logic_unsigned
패키지는 산술 연산자를 오버로드합니다. 은 표준 패키지가 아니며 표준 ieee
라이브러리에는이없는 이 없습니다. 이 아니라을 사용하십시오. 표준 ieee.numeric_std
대신에 unsigned
및 signed
유형을 선언하고 산술 연산자를 오버로드합니다.
user1155120에서 언급했듯이 VHDL 2008에는 몇 가지 새로운 합성 패키지가 도입되었습니다. 그 중 하나는 ieee.numeric_std_unsigned
이고 부호없는 자연수로 간주되는 std_ulogic_vector
유형의 산술 연산자가 오버로드됩니다.
IEEE Std 1076-2008 16.8.5 비트 및 표준 논리 값을 사용하는 산술 용 패키지, 16.8.5.1 단락 5 : "... 마찬가지로, NUMERIC_STD_UNSIGNED 패키지는 NUMERIC_STD 패키지에서 제공하는 것과 동일한 연산을 제공합니다. UNSIGNED 피연산자이지만 부호없는 2 진 정수를 나타내는 것으로 해석되는 STD_ULOGIC_VECTOR 피연산자에서 작동합니다. " 피연산자와 결과 시간을 부호없는 값으로 변환합니다. -2008 하위 유형 STD_LOGIC_VECTOR (해결 된) STD_ULOGIC_VECTOR; ' – user1155120
감사합니다!, 훌륭한 답변! –
우리는 20n 이후에 <= b 및 c를 쓸 때이 [20n 후]가 시뮬레이션에 영향을 미치거나 실제 디지털 모델이 비트 파일 형태로로드됨을 알 수 있습니까? –
- 1. Javascript의 네이티브`instanceof` 연산자와 MooTools의`instanceOf` 함수의 차이점은 무엇입니까?
- 2. VHDL에서 mod 연산자와 rem 연산자의 차이점은 무엇입니까?
- 3. 도트 연산자와 범위 분석 연산자의 차이점은 무엇입니까
- 4. ! = 연산자와 <> 연산자의 차이점은 무엇입니까?
- 5. 비교 연산자와 논리적 "not"연산자의 차이점은 무엇입니까?
- 6. 콜백과 함수의 차이점은 무엇입니까?
- 7. 두 함수의 차이점은 무엇입니까?
- 8. C++에서이 두 함수의 차이점은 무엇입니까?
- 9. C++의 문자열 클래스 객체에 대해 + 연산자와 추가 함수의 차이점은 무엇입니까?
- 10. 주어진 삼각 함수의 차이점은 무엇입니까?
- 11. PHP - 클래스와 함수의 차이점은 무엇입니까?
- 12. 두 함수의 결과 차이점은 무엇입니까?
- 13. MATLAB에서 스크립트와 함수의 차이점은 무엇입니까?
- 14. C의 변수와 함수의 차이점은 무엇입니까?
- 15. 두 함수의 인수의 차이점은 무엇입니까?
- 16. $ get과 $ find 함수의 차이점은 무엇입니까?
- 17. JavaScript의 두 함수의 차이점은 무엇입니까?
- 18. 연산자와 메서드의 차이점
- 19. PHP의 동일 비교 연산자와 비교 연산자의 차이점은 무엇입니까?
- 20. Actionscript 3에서 "in"연산자와 "hasOwnProperty"메서드의 차이점은 무엇입니까?
- 21. 도트 (.) 연산자와 C++의 ->의 차이점은 무엇입니까?
- 22. JavaScript에서 이중 느낌표 연산자와 Boolean()의 차이점은 무엇입니까?
- 23. 할당 연산자와 초기화
- 24. 연산자와 상속
- 25. IN 연산자와
- 26. 루비 연산자와
- 27. 연산자와 생성자
- 28. PHP5.3에서 참조 함수와 일반 함수의 차이점은 무엇입니까?
- 29. 가상 함수와 순수 가상 함수의 차이점은 무엇입니까?
- 30. round()와 trunc() 함수의 차이점은 무엇입니까?
사전 정의 된 수학 연산은 배열 유형에 기본적으로 제공되지 않습니다. 라이브러리 IEEE의 특정 패키지에 있습니다. IEEE Std 1076-2008 16.8 표준 합성 패키지, 특히 비트 및 표준 논리 값을 사용하는 산술 용 16.8.5 패키지를 참조하십시오. -2008 개정에서 이러한 패키지는 표준의 일부입니다. – user1155120