Computer Science
[vim/vi] 기본 설정하기(1): vim 설치, 자동 들여쓰기, 줄번호 항상 표시
리눅스 터미널과 Mac OS의 iTerm에서 vi/vim 을 처음 사용할 때 설정해두면 좋은 세팅을 소개합니다. 0. vim 설치 만약 vim이 없다면 다음의 명령어로 설치를 먼저 진행해주시면 됩니다. sudo apt-get install vim 1. 자동 들여쓰기 pycharm, vs code와 다르게 vi를 써서 코딩을 한다면 줄마다 들여쓰기(indent)를 일일이 해줘야 합니다. 이를 자동으로 해주기 위해서는 아래의 코드를 ~/.vimrc 파일에 추가해주면 됩니다. >> 아래 코드로 vimrc 파일 오픈 vi ~/.vimrc >> 아래 코드를 vimrc 파일에 처음에 추가 set ts=8 set sw=4 set sts=4 set smartindent set cindent 2. 줄번호 항상 표시 기존..
[Sequential Logic Circuit] 카운터(Counter)
해당 강의노트는 S. Brown and Z. Vranesic, McGraw-Hill의 [Fundamentals of Digital Logic with VHDL Design, 3rd Edition] 책과 ktword의 을 기반으로 작성되었습니다 Counter - Counter - Asynchronous Counter - Synchronous Counter - Other types of counters Counter 카운터(Counter)란? 2개 이상의 플립플롭으로 구성되며, 매 입력 펄스(Pulse) 마다, 미리 정해진 순서대로 상태가 주기적으로 변하는 레지스터임. 카운터의 용도 계수, 타이버, 주파수 계수기 등 발생 횟수를 세거나 동작 순서를 제어(순서제어)하기 위한 타이밍 신호 생성에 적합. 클럭 펄..
[Sequential Logic Circuit] 레지스터(Register)
해당 강의노트는 S. Brown and Z. Vranesic, McGraw-Hill의 [Fundamentals of Digital Logic with VHDL Design, 3rd Edition] 책과 ktword의 을 기반으로 작성되었습니다 Register - Register - Shift Register Register 레지스터(Register)란? 일련의 플립플롭(Flip-Flop)들이 클럭(Clk)을 공유토록 만들어진 n비트 저장 장치임. n개의 플립플롭을 갖는 레지스터인 경우, $2^n$개의 서로 다른 상태들이 존재하고, n비트 정보의 저장이 가능하다. 레지스터의 역할 논리회로를 구성하는 범용소자로서 레지스터는 일련의 비트 저장 및 이동 소자 역할을 수행한다. 1개의 클럭 입력을 공유하는 다수의..
[Sequential Logic Circuit] 플립플롭(Flip-Flop)
해당 강의노트는 S. Brown and Z. Vranesic, McGraw-Hill의 [Fundamentals of Digital Logic with VHDL Design, 3rd Edition] 책과 ktword의 을 기반으로 작성되었습니다 Flip-Flop - Flip-Flop - D Flip-Flop - T Flip-Flop - JK Flip-Flop Flip-Flop 플립플롭(Flip-Flop)이란? 클럭(Clk) 입력을 갖는 2진 기억소자(memory)로, 클럽 입력에만 반응하여 출력의 상태를 바꾼다. 클럭 입력 및 래치 소자로 구현되며, 주로 비트 기억용도로 사용된다. 플립플롭의 종류 - SR 플립플롭(거의 사용되지 않음) - JK 플립플롭(가장 많이 사용됨) - T 플립플롭 - D 플립플롭 ..
[Sequential Logic Circuit] 래치(Latch)
해당 강의노트는 S. Brown and Z. Vranesic, McGraw-Hill의 [Fundamentals of Digital Logic with VHDL Design, 3rd Edition] 책을 기반으로 작성되었습니다 Latch - Basic Latch - Gated SR Latch - Gated D Latch Basic Latch 래치(Latch)란? 비트를 임시로 저장할 수 있는 기억소자(memory) 중 하나로, 두 개의 게이트(gate)로 구성된다. 게이트 하나의 출력이 다른 게이트의 입력으로 다시 연결되는 피드백(Feedback)형태를 가지고 있다. SR 래치(SET-RESET Latch) 입력이 S(set)와 R(Reset)로 두개이고, 출력의 형태가 SET, RESET 두 가지인 래치..
[Combinational Logic Circuit] 코드 컨버터(Code converters)
해당 강의노트는 S. Brown and Z. Vranesic, McGraw-Hill의 [Fundamentals of Digital Logic with VHDL Design, 3rd Edition]책과 GeeksforGeeks의 Code Coverters를 기반으로 작성되었습니다 Code Converters - Code Converter - A BCD-to-7-segment display code converter - Binary to/from Gray code Code Converter 코드 컨버터(Code Converter)란? 하나의 코드를 다른 코드로 변환하는 회로 코드 컨버터 응용 예시 7-segment 장치 - 7개의 획으로 구성되어 있어 0~9까지 표현할 수 있는 장치 - 코드 컨버터를 이용하..
디지털 논리회로(Digital Logic Circuit) 소개
논리회로는 크게 Combinational Logic Circuits과 Sequential Logic Circuits로 분류할 수 있습니다 1. Combinational Logic Circuits 현재 입력 값들을 논리 회로 내부의 연산자들을 통해 출력 값을 내보내는 기능을 합니다. 크게 세 개의 메인 카테고리로 나눌 수 있는데, Arithmetic and Logical funcation과 AND, OR 등을 할 수 있는 단순 논리 연산자 등을 조합하여 다수의 입출력 관계를 결정하는 data transmission과, 의미 있는 데이터 혹은 어플리케이션에 맞춰 논리 연산자를 조합한 code converter로 나눌 수 있습니다. 2. Sequential Logic Circuits 현재 입력값과 더불어 이전..
[Combinational Logic Circuit] 인코더(Encoder)
해당 강의노트는 S. Brown and Z. Vranesic, McGraw-Hill의 [Fundamentals of Digital Logic with VHDL Design, 3rd Edition] 책을 기반으로 작성되었습니다 Encoder - Encoder - $2^n$-to-n binary encoder - $2^n$-to-n priority encoder Encoder 인코더(Encoder)란? 인코더는 디코더의 역연산(reverse operation)을 수행하는 조합 논리 회로(combinational logic circuit)로, $2^n$-bit개의 입력 정보를 n-bit개 데이터로 출력한다. 이 과정을 입력에 대해 인코딩한다라고 함. 인코더 응용 사례 - 모든 디지털 시스템에 사용되는 매우 일..