
서강대학교 디지털논리회로실험 9주차 - Memory Devices and dot/key-matrix interfaces
본 내용은
"
서강대학교 디지털논리회로실험 9주차 - Memory Devices and dot/key-matrix interfaces
"
의 원문 자료에서 일부 인용된 것입니다.
2024.08.17
문서 내 토픽
-
1. ROMROM은 기본적으로 n개의 address 입력 신호를 받고 b개의 출력 신호를 내보내는데, 자체 적으로 가지고 있는 2^n x b 개의 데이터 중 address의 입력에 대응하는 것을 출력한다. 이렇 게 자체적으로 가지고 있는 데이터는 단순한 방법으로는 수정할 수 없고, 생산과정 중 진행 되는 입력, 혹은 값의 수정을 위해 만들어진 장치를 이용해야 데이터를 입력할 수 있다. ROM은 이렇게 단순한 방법으로는 데이터 수정이 불가능하지만, 한번 입력된 데이터는 전 원이 차단되어도 사라지지 않고 남아있는 non-volatile memory이다.
-
2. RAMRAM은 ROM과 동일하게 기본적으로 n개의 address 입력 신호를 받고 자체적으로 가지고 있는 2^n x b 개의 데이터 중 address의 입력에 대응하는 것을 b개의 출력 신호를 통해 출력 한다. 다만 ROM과는 달리 b bit의 새로운 데이터를 입력해 원하는 address에 있고, 전원이 차단되면 저장되어있던 데이터가 사라지는 volatile memory이다.
-
3. Address decodingAddress decoding을 통해 설계된 메모리는 기본적으로 연결한 여러 개의 메모리에 같은 address 입력을 넣고, 별개의 decoder를 이용해 하나의 소자에만 1의 CS 입력을 주는 방 식으로 동작하게 된다. 이때 만들고자 하는 메모리의 용량이 합쳐지는 메모리의 용량보다 크기 때문에 용량에 맞는 추가적인 address의 입력들이 필요해지는데, 이러한 address의 입력들을 decoder에 연결함으로써 address 입력으로써의 기능을 할 수 있게 된다.
-
4. Key-matrixKey-matrix의 경우 4x4 key-matrix를 예로 들면 총 8개의 핀 중 4개는 row, 나머지 4개는 column의 스위치들과 연결되어있어, 모든 스위치가 각각 두 개의 핀과 연결 되어있다. 이 중 어떤 스위치가 눌렸는지 알기 위해서는 row와 연결된 4개의 핀 중 하나만 HIGH 입력을 주고, column과 연결된 나머지 네 개의 핀의 상태를 지켜보는 과정을 4개의 row 핀에 대해서 빠르게 반복하면 된다.
-
5. Dot-matrixDot-matrix의 경우 8x8 dot-matrix를 예로 들면 총 16개의 핀 중 8개는 row, 나 머지 8개는 column의 스위치들과 연결되어있어, 이 역시 key-matrix처럼 모든 LED가 각 각 두 개의 핀과 연결되어있다. 여기서 입력에 따라 특정한 LED의 불을 켜기 위해서는 row와 연결된 8개의 핀 중 하나만 LOW 입력을 주고, column과 연결된 8개의 핀을 통해 LOW 입력을 준 row에 대응하는 입력값들을 넣어주면 된다.
-
6. Table lookupROM은 combinational logic circuit에서 사용될 때, 특정한 값을 저장해두고, 입력에 따 라 각각 다른 값을 출력하는 decoder로써 활용될 수 있는데, 이렇게 메모리를 통해 값을 출력하도록 논리회로를 설계하는 방식을 table lookup이라고 한다.
-
7. SRAMSRAM은 ROM처럼 기본적으로 작동을 제어하기 위해 입력으로 CS, OE 신호를 이용하는데, 저장할 데이터를 입력하는 기능 또한 수행해야 하기에 WE라는 입력 신 호를 추가로 받게 된다.
-
8. FPGA 핀 할당실험에서는 FPGA 보드의 핀들을 key-matrix, 7-segment display, LED bar 등에 연결하여 회로를 구현하였다.
-
9. 회로 설계실험에서는 ISE 라이브러리의 다양한 부품들을 활용하여 key-matrix 입력 처리, RAM 데이터 저장 및 출력, dot-matrix 구동 등의 회로를 설계하였다.
-
10. 실험 결과실험 결과 key-matrix 입력에 따른 출력, RAM에 데이터 저장 및 출력, dot-matrix에 패턴 표시 등이 이론적으로 예상한 바와 동일하게 구현되었다.
-
1. ROMROM (Read-Only Memory)은 데이터를 영구적으로 저장하는 메모리 장치입니다. 프로그램 코드, 고정 데이터 등을 저장하는 데 사용되며, 전원이 꺼져도 데이터가 유지됩니다. ROM은 제조 과정에서 데이터가 작성되므로 사용자가 직접 데이터를 변경할 수 없습니다. 이러한 특성으로 인해 ROM은 운영 체제, 펌웨어, 게임 카트리지 등에 널리 사용됩니다. ROM은 데이터 읽기 속도가 빠르고 안정적이지만, 데이터 변경이 어렵다는 단점이 있습니다. 따라서 변경이 필요한 경우에는 EEPROM이나 플래시 메모리와 같은 다른 유형의 메모리를 사용해야 합니다.
-
2. RAMRAM (Random Access Memory)은 데이터를 임시로 저장하는 메모리 장치입니다. 프로세서가 실행 중인 프로그램과 데이터를 저장하는 데 사용되며, 전원이 꺼지면 저장된 데이터가 사라집니다. RAM은 데이터 읽기와 쓰기가 모두 가능하며, 빠른 속도로 데이터를 처리할 수 있습니다. 이러한 특성으로 인해 RAM은 CPU, 그래픽 카드, 모바일 기기 등 다양한 전자 장치에 사용됩니다. 그러나 RAM은 전원이 공급되어야 하며, 데이터가 휘발성이라는 단점이 있습니다. 따라서 중요한 데이터는 ROM이나 플래시 메모리와 같은 비휘발성 메모리에 저장해야 합니다.
-
3. Address decodingAddress decoding은 메모리 시스템에서 메모리 주소를 해석하여 특정 메모리 위치에 접근하는 기능입니다. 이를 통해 프로세서는 메모리 내의 데이터를 읽거나 쓸 수 있습니다. 주소 디코딩은 메모리 매핑, 메모리 맵핑, 메모리 관리 등의 기술과 밀접하게 연관되어 있습니다. 주소 디코딩은 메모리 시스템의 성능과 효율성에 큰 영향을 미치므로, 설계 시 주의 깊게 고려해야 합니다. 예를 들어, 메모리 공간을 효율적으로 활용하기 위해 메모리 매핑 기술을 사용하거나, 메모리 접근 속도를 높이기 위해 캐시 메모리를 활용할 수 있습니다. 따라서 주소 디코딩은 메모리 시스템 설계에 있어 매우 중요한 기술이라고 할 수 있습니다.
-
4. Key-matrixKey-matrix는 키보드, 키패드 등의 입력 장치에서 사용되는 기술입니다. 이 기술은 여러 개의 키를 행과 열로 배열하여 연결하는 방식으로, 키 입력을 감지하고 처리하는 데 사용됩니다. Key-matrix 방식은 복잡한 키 입력 장치를 구현할 수 있으며, 적은 수의 I/O 포트로도 많은 키를 처리할 수 있다는 장점이 있습니다. 또한 키 입력 감지 회로가 단순하여 저렴한 비용으로 구현할 수 있습니다. 그러나 키 입력 처리 속도가 느리고, 키 입력이 겹치는 경우 오작동이 발생할 수 있다는 단점이 있습니다. 따라서 Key-matrix 방식은 저가의 키보드나 키패드 등에 주로 사용되며, 고성능이 요구되는 경우에는 다른 입력 방식을 사용해야 합니다.
-
5. Dot-matrixDot-matrix는 문자나 이미지를 표현하는 데 사용되는 기술입니다. 이 기술은 작은 점들(픽셀)을 격자 형태로 배열하여 문자나 이미지를 표현합니다. Dot-matrix 디스플레이는 LCD, LED, 프린터 등 다양한 분야에서 사용되며, 문자와 그래픽을 모두 표현할 수 있어 활용도가 높습니다. 또한 점 단위로 제어가 가능하므로 다양한 형태의 문자와 이미지를 표현할 수 있습니다. 그러나 해상도가 낮고 점 간 간격이 크기 때문에 화질이 좋지 않다는 단점이 있습니다. 최근에는 이러한 단점을 보완한 고해상도 디스플레이 기술이 발전하고 있지만, Dot-matrix 기술은 여전히 다양한 분야에서 활용되고 있습니다.
-
6. Table lookupTable lookup은 데이터베이스, 알고리즘, 하드웨어 설계 등 다양한 분야에서 사용되는 기술입니다. 이 기술은 미리 정의된 테이블에서 특정 값을 찾아 반환하는 방식으로, 복잡한 계산 과정을 단순화할 수 있습니다. 예를 들어, 삼각함수 값을 계산할 때 테이블 lookup을 사용하면 실시간으로 계산하는 것보다 빠르고 정확한 결과를 얻을 수 있습니다. 또한 하드웨어 설계에서는 주소 디코딩, 메모리 매핑 등에 테이블 lookup을 활용할 수 있습니다. 이처럼 테이블 lookup은 복잡한 연산을 단순화하고 성능을 향상시킬 수 있는 유용한 기술입니다. 다만 테이블 크기가 커지면 메모리 사용량이 증가하는 단점이 있으므로, 적절한 테이블 크기와 구현 방식을 선택해야 합니다.
-
7. SRAMSRAM (Static Random Access Memory)은 RAM의 한 종류로, 데이터를 휘발성으로 저장하는 메모리 장치입니다. SRAM은 동기식 DRAM과 달리 별도의 리프레시 회로가 필요하지 않아 구조가 단순하고 빠른 속도로 동작할 수 있습니다. 이러한 특성으로 인해 SRAM은 CPU 캐시 메모리, 네트워크 장비, 임베디드 시스템 등에 널리 사용됩니다. SRAM은 데이터 접근 속도가 빠르고 전력 소모가 낮다는 장점이 있지만, DRAM에 비해 단위 면적당 저장 밀도가 낮고 가격이 비싸다는 단점이 있습니다. 따라서 SRAM은 고성능이 요구되는 시스템에 적합하며, 대용량 데이터 저장에는 DRAM이나 플래시 메모리 등 다른 메모리 기술을 사용하는 것이 일반적입니다.
-
8. FPGA 핀 할당FPGA (Field Programmable Gate Array) 핀 할당은 FPGA 칩의 입출력 핀을 회로 설계에 맞게 할당하는 과정입니다. 이 과정에서는 FPGA 칩의 물리적 핀과 회로 설계의 입출력 포트를 연결하여 최적의 성능과 기능을 구현할 수 있도록 합니다. 핀 할당 시 고려해야 할 사항으로는 핀 수, 핀 기능, 핀 간 간섭, 전원/접지 핀 배치, 신호 무결성 등이 있습니다. 이러한 요소들을 종합적으로 고려하여 핀을 할당해야 합니다. 잘못된 핀 할당은 FPGA 회로의 성능과 안정성에 큰 영향을 미칠 수 있으므로, 설계 단계에서 충분한 검토와 시뮬레이션을 거쳐 최적의 핀 할당을 수행해야 합니다. 이를 통해 FPGA 기반 시스템의 안정적이고 효율적인 동작을 보장할 수 있습니다.
-
9. 회로 설계회로 설계는 전자 시스템을 구현하기 위한 핵심 과정입니다. 회로 설계에는 회로도 작성, 부품 선정, 신호 무결성 분석, 레이아웃 설계 등 다양한 단계가 포함됩니다. 이 과정에서 회로의 기능, 성능, 신뢰성, 제조성 등을 종합적으로 고려해야 합니다. 회로 설계 시 주요 고려 사항으로는 전원 공급, 신호 무결성, 전자기 호환성, 열 관리, 부품 선정 등이 있습니다. 이러한 요소들을 체계적으로 검토하고 최적화하여 안정적이고 효율적인 회로를 설계해야 합니다. 또한 시뮬레이션, 프로토타입 제작, 테스트 등의 검증 과정을 거쳐 설계의 정확성과 신뢰성을 확보해야 합니다. 회로 설계는 전자 시스템 개발의 핵심이므로, 숙련된 설계 기술과 경험이 필요합니다.
-
10. 실험 결과실험 결과는 연구 및 개발 과정에서 얻은 데이터와 분석 내용을 종합적으로 정리한 것입니다. 실험 결과에는 실험 목적, 실험 방법, 실험 데이터, 분석 결과, 결론 등이 포함됩니다. 실험 결과는 연구 과정의 투명성과 재현성을 보장하며, 향후 연구 방향 설정과 의사 결정에 활용됩니다. 또한 실험 결과는 논문, 보고서, 발표 자료 등의 형태로 공유되어 관련 분야의 지식 축적에 기여합니다. 실험 결과를 작성할 때는 객관성, 정확성, 논리성을 유지해야 하며, 실험 과정과 데이터 분석 방법을 상세히 기술해야 합니다. 이를 통해 실험 결과의 신뢰성과 활용성을 높일 수 있습니다. 따라서 실험 결과는 연구 및 개발 활동에서 매우 중요한 역할을 합니다.