전체 글 58

디지털 회로 실험 : 멀티플렉서, 디멀티플렉서

이번에는 멀티플렉서와 디멀티플렉서에 대해 다뤄볼 예정이다. 멀티플렉서멀티플렉서는 여러 입력 데이터 중에서 하나를 선택하는 조합 논리회로를 의미한다. 이번에 다룰 멀티플렉서는 4입력 멀티플렉서로, 4개의 데이터(D0 ~ D3) 중 하나를 선택하여 출력 X로 내보낸다. 선택을 할 때에는 선택 신호(S1, S2)가 사용된다.  입력 데이터선택 신호XS1S2D0 ~ D300D001D110D211D3 위 표는 4입력 멀티플렉서의 진리표를 나타내며, 선택 신호에 따라 데이터 D0 ~ D3 중에서 하나가 출력 X에 나타난다. 진리표를 바탕으로 논리식을 구하면 다음과 같다. D0 = S1'S2',  D1 = S1'S2,  D2 = S1S2',  D3 = S1S2 도출한 논리식을 바탕으로 회로를 구현하면 아래와 같은 회..

Tool/PSpice 2024.07.08

디지털 회로 실험 : 가산기, 감산기

이번에는 가산기와 감산기에 대해 다뤄볼 예정이다.가산기가산기는 두 개의 2진수를 더하는 동작을 수행하며 두 개의 입력을 받고 두 개의 출력을 내보낸다.두 개의 출력은 합(Sum)과 자리올림(Carry)으로 구성되어 있다. 일반적으로 가산기라하면 전가산기(Full Adder)를 말하며, 전가산기 외에도 반가산기가 존재한다.전가산기는 두개의 반가산기로 구성이 되며, 1비트의 2진수를 더할 수 있다. 전가산기의 진리표는 아래의 표와 같다.ABCiSCo0000000110010100110110010101011100111111 진리표를 바탕으로 논리식을 구성해보면 S = ( A ⊕ B ) ⊕ Ci,  Co = AB + Ci( A  ⊕ B )가 되는 것을 확인할 수 있다. 아래의 회로는 위 논리식을 바탕으로 구성한 ..

Tool/PSpice 2024.06.30

디지털 회로 실험 : 부울 대수, 드모르간 정리

이번에는 부울 대수와 드모르간의 정리에 대해서 알아볼 예정이다. 부울 대수부울 대수는 AND, OR 그리고 NOT 논리를 이용하여 논리식을 표현한다. 논리식의 각 변수는 0과 1의 값을 가지며, 논리 연산이 가능하다. 부울 대수의 기본 법칙은 아래의 표의 내용과 같다.법칙논리식교환법칙A + B = B + A결합법칙A + ( B + C ) = ( A + B ) + C분배법칙A ● ( B + C ) = A ● B + A ● C  부울 정리에 관한 내용은 아래의 표의 내용과 같다.논리논리 연산OR 논리A + 0 = AA + 1 = 1A + A = AA + A' = 1AND 논리A ● 0 = 0A ● 1 = AA ● A = AA ● A' = 0NOT 논리(A')' = A    아래의 표는 3 변수(A, B, C..

Tool/PSpice 2024.06.27

디지털 회로 실험 : XOR, XNOR 구현

이번에는 PSpice를 활용하여 XOR과 XNOR 논리회로를 구현할 예정이다. XOR과 XNOR 논리회로를 구현할 때에는 NOT, AND 그리고 OR 게이트만 사용하여 구현을 할 예정이다. XORXOR 게이트의 진리표는 아래와 같다.ABY000011101110 2개의 입력이 있다고 가정할 시, 서로 다른 입력이 입력되었을 때 High를 출력하며, 그 외에는 Low를 출력하는 특성을 지닌다. XOR을 NOT, AND, OR 게이트로만 구현할 시, 2개의 NOT 게이트와 AND 게이트 그리고 1개의 OR게이트를 필요로 한다.NOT, AND, OR게이트를 활용하여 구현한 회로는 아래와 같다. 구현한 회로의 출력 파형을 살펴보고 싶을 때에는 아래와 같이 입출력에 Probe를 연결하여 확인하면 된다.  구현 된 ..

Tool/PSpice 2024.06.27

디지털 회로 실험 : PSpice 회로 시뮬레이션 기초

이번에는 PSpice를 사용하여 게이트를 활용한 회로를 구성하려고 한다. NAND_OR 3개의 NAND 게이트로 OR게이트의 동작을 구현시키려면 아래와 같은 회로를 필요로 한다.회로를 시뮬레이션 돌리면 다음과 같은 결과가 출력된다.x의 출력파형을 살펴보면 OR게이트의 동작과 동일함을 확인할 수 있다. NOR_AND 다음은 3개의 NOR게이트로 AND게이트의 동작을 구현시키는 회로이다.회로를 시뮬레이션 돌리면 다음과 같은 결과가 출력된다.x의 출력 파형을 살펴보면 AND게이트의 동작이 출력됨을 확인할 수 있다. 구성한 회로의 출력 파형을 살펴보려고자 할 땐 아래의 그림과 같이 Probe를 확인하고자 하는 출력 선에 연결하여 확인할 수 있다.

Tool/PSpice 2024.06.26

Vivado : Decoder, Encoder

이번에는 Vivado를 활용하여 디코더와 인코더를 구현해보려고 한다. 디코더먼저 구현해 볼 디코더는 2X4 디코더이다. 2X4 디코더는 2bit의 입력과 4bit의 출력을 가진다.2X4 디코더를 구현할 코드는 아래와 같다.module decoder_2X4_b( input [1:0] code, output reg [3:0] signal); always @(code)begin if(code == 2'b00) signal = 4'b0001; else if(code == 2'b01) signal = 4'b0010; else if(code == 2'b10) signal = 4'b0100; else if(code == 2'b11) signal = 4..

Language/Verilog 2024.06.25

혼공C : 배열, 대소문자 변환 프로그램

오늘은 혼공C 배열 파트의 도전 실전 예제를 풀어 볼 예정이다. 배열배열은 동일한 데이터형을 가진 변수들의 집합으로, 한 번에 여러 개의 변수를 선언하는 방법이다. 각각의 배열 요소들은 인덱스를 활용하여 접근할 수 있고, 인덱스는 0으로 시작한다. 예를 들어 ' arr '이라는 배열의 세 번째 요소에 접근하기 위해서는 ' arr [2] ' 와 같이 인덱스를 사용하면 된다. 또한, 배열은 선언과 동시에 초기화를 진행할 수 있으며, 초기화는 아래의 예시와 같이 중괄호 안에 요소를 나열하여 할 수 있다. int arr[5] = { 1, 2, 3, 4, 5}; 아래와 같이 배열 요소의 개수가 생략된 형태로도 초기화를 진행할 수 있다.int ary[] = { 1, 2, 3 } 추가로, 배열의 크기는 선언할 때 결..

Language/C 2024.06.20

혼공C : 함수, 도전 실전 예제

오늘은 혼공C Chapter 7 함수 부분의 도전 실전 예제를 풀어보려고 한다. 함수C언어에서의 함수는 프로그램 내에서 특정 기능을 수행하는 코드 블록을 의미한다. C언어에서는 표준으로 제공하는 함수 ( ex : printf, scanf 등 ) 이외에도 자주 사용하는 코드들을 함수로 만들어 필요할 때마다 사용할 수 있다. 이와 같은 함수를 구현하려면 아래와 같은 3가지를 필요로 한다. ● 함수 정의 : 함수를 실제 코드로 만드는 것으로 함수의 기능을 구현한다.● 함수 호출 : 함수를 사용하려면 함수명과 필요한 매개변수를 호출 부분에서 제공해야 한다.● 함수 선언 : 함수를 사용하기 전에 해당 함수가 어떻게 정의되어 있는지 프로그램의 상단에 알리는 함수 선언을 포함해야 한다.  예를 들어 두 정수의 합을 ..

Language/C 2024.06.20

혼공C : 반복문, 소수 출력 프로그램

이번에는 혼공C 6장 반복문의 도전 실전 예제를 풀어보려고 한다. 반복문반복문은 일정 조건을 만족하는 동안 같은 실행문을 반복하는 동작을 수행한다. 따라서 반복문은 조건식, 실행문, 초기식 등으로 구성된다. C언어에서는 주로 while문, for문, do ~ while문 세 가지 종류의 반복문이 사용된다. for 문for문은 초기식, 조건식, 증감식 세 부분으로 구성된다.초기식은 반복문이 시작될 때 한 번 실행되는 부분이며, 조건식은 각 반복이 실행될 때마다 참이면 계속 반복하고, 거짓이면 반복을 멈춘다. 증감식은 각 반복이 끝난 후에 실행되며, 증감식이 실행된 후에는 다시 초반으로 돌아가 조건이 끝날 때까지 수행한다. 아래는 for문을 활용한 간단한 예제이다.#include int main() { ..

Language/C 2024.06.17

혼공C : 선택문, 계산기 프로그램

이번에는 혼공C 5장 선택문의 도전 실전 예제인 계산기 프로그램을 구현해보려 한다. 선택문C언어에서의 선택문은 조건에 따라 실행 문장을 선택해야 할 때 주로 사용된다. 선택문은 대표적으로 if문, if else문 그리고 else문으로 나뉜다. 조금 더 자세하게 들어가면 switch case문으로도 구성된다. if 문if문의 기본 형식에 대해서 알아보자면 if문은 조건식과 실행문으로 구성이 된다. 간단한 작성 예제를 구현해 보자면 아래와 구현될 수 있다.if(a  여기서 'a  그렇다면 위와 같은 fi문처럼 조건이 존재할 때, 조건을 충족하지 못한 경우에 수행되는 실행문을 작성하려면 어떻게 해야 할까? 그런 경우에는 if ~ else문을 사용하면 된다. if ~ else 문if ~ else 문을 사용하여 ..

Language/C 2024.06.17
728x90