안녕하세요, 가능하면 VHDL에서 두 개의 STD_LOGIC_VECTORS
과 함께 사용했는지 궁금합니다. 예를 들어, VGA 모니터에 문자를 출력하는 VHDL 프로그램을 작성하고 있습니다. 벡터 PixelRow: IN STD_LOGIC_VECTOR(9 DOWNTO 0)
및 PixelColumn: IN STD_LOGIC_VECTOR(9 DOWNTO 0)
입니다. 내가 뭘 하려는지 STD_LOGIC
출력 두 픽셀 벡터 걸리고 다른 벡터 예를 ANDs 있습니다.두 개의 STD_LOGIC_VECTORS의 비트 ANDYING
Output <= (PixelRow AND NOT "0000000000") OR (PixelColumn AND NOT "0000000000") OR
(PixelRow AND NOT "0111011111") OR (PixelColumn AND NOT "1001111111");
나는 다음과 같은 코드를 단순화 할 수 있습니다 바라고이 코드는 :
는Output <= ((NOT PixelRow(0) AND NOT PixelRow(1) AND NOT PixelRow(2) AND NOT
PixelRow(3) AND NOT PixelRow(4) AND NOT PixelRow(5) AND NOT PixelRow(6)
AND NOT PixelRow(7) AND NOT PixelRow(8) AND NOT PixelRow(9)))
OR ((NOT PixelRow(0) AND PixelRow(1) AND PixelRow(2) AND PixelRow(3) AND
NOT PixelRow(4) AND PixelRow(5) AND PixelRow(6) AND PixelRow(7) AND
PixelRow(8) AND PixelRow(9)))
OR ((NOT PixelColumn(0) AND NOT PixelColumn(1) AND NOT PixelColumn(2) AND
NOT PixelColumn(3) AND NOT PixelColumn(4) AND NOT PixelColumn(5) AND NOT
PixelColumn(6) AND NOT PixelColumn(7) AND NOT PixelColumn(8) AND NOT
PixelColumn(9)))
OR ((PixelColumn(0) AND NOT PixelColumn(1) AND NOT PixelColumn(2) AND
PixelColumn(3) AND PixelColumn(4) AND PixelColumn(5) AND PixelColumn(6)
AND PixelColumn(7) AND PixelColumn(8) AND PixelColumn(9)));
코드의 큰 블록은 화면 주위에 상자를 그립니다. 나는 이것을하기위한 훨씬 쉬운 방법이 있기를 바라고있다. 아무도이 코드를 단순화하는 방법을 알고 있습니까? 그것은 나에게 분명하지 않다
감사
귀하의 제안에 감사드립니다. 당신은 모두 내 문제를 해결하는 데 매우 도움이되었습니다! –