분류 전체보기 50

[Verilog Chapter1 조합 논리회로] 1. 가산기

조합 논리회로(Combinational Logic Circuit) 회로의 출력이 현재 입력의 조합에 의해 정해지는 논리회로 이전의 회로 상태가 출력에 영향을 미치지 않는다 → 메모리 소자가 없음 논리곱, 논리합, 논리 부정의 기본 논리 회로를 조합하여 구성함 입력변수, 논리 게이트, 그리고 출력변수들로 구성된다. 순차 논리회로(Sequencial Logic Circuit) 출력이 현재의 입력과 이전의 논리회로 상태의 조합에 의해 결정되는 논리회로 이전의 회로 상태가 출력에 영향을 미친다 → 메모리 소자가 있음 동기(Synchronous) 순차 논리회로 클럭(clock)을 이용하여 새로운 입력의 순차와 응답의 출력 생성이 일정한 시간 간격을 둔 채로 제어된다. 비동기(Asynchronous) 순자 논리회로..

Verilog 레지스터

직렬입력 - 직렬출력 SISO 직렬입력 - 병렬출력 SIPO 병렬입력 - 직렬출력 PISO 병렬입력 - 병렬출력 PIPO SISO `timescale 1ns / 1ps module shift_register_SISO( input D, input clk, input reset_n, output Q ); wire [2:0] w; D_flip_flop_negedge DFF0 (.D(D), .E(clk), .Q(w[0])); D_flip_flop_negedge DFF1 (.D(w[0]), .E(clk), .Q(w[1])); D_flip_flop_negedge DFF2 (.D(w[1]), .E(clk), .Q(w[2])); D_flip_flop_negedge DFF3 (.D(w[2]), .E(clk), .Q(Q)..

Verilog 2023.04.26

Verilog 카운터

비동기식 카운터 T플립플롭 4개가 사용되어서 T플립플롭의 코드를 가지고와 작성 count 0은 01010101, count 1은 00110011, count 2는 00001111을 반복, count 3은 0000000011111111을 반복한다. 동기식 카운터 16진 카운터 10진 카운터 reset_10은 count가 10이 되었을 때, 작동하여 count를 다시 0부터 시작하게 만듦 nand(reset_10, count[3], count[1])은 reset_10에 카운터 3과 카운터 1을 둔 이유는 카운터 1 과 카운터 3이 1010이기 때문에 10 = 1010 하향 비동기식 방식 기존에 작성했던 T_flip_flop 코드에 clk를 posedge로 바꿔주고 실행한다. 하향 비동기식 방식의 타이밍도와 ..

카테고리 없음 2023.04.20

Verilog 멀티플렉서, BCD 변환기, 플립플롭

8x1 멀티플렉서 디멀티플렉서 1개의 인에이블 입력을 가지고 있는 디코더는 디멀티 플렉서로서의 기능을 수행 디멀티플렉서는 정보를 한 선으로 받아서 2^n개의 가능한 출력선들 중 하나를 선택하여, 받은 정보를 전송하는 회로이다. 디멀티플렉서는 n개의 선택선(selection line)들을 이용하여 출력을 제어 S가 0일 때, D의 신호가 F[0]에 출력 S가 1일 때, D의 신호가 F[1]에 출력 S가 2 일 때, D의 신호가 F[2]에 출력 S가 3 일 때, D의 신호가 F[3]에 출력 각 D의 값과 S의 값이 일치하는 파형으로 나온다. 멀티플렉서, 디멀티플렉서 통신 S_mux 가 0일 때, S_demux는 F 0에 clk_781kHz 를 출력(clk_781kHz가 0번) S_mux 가 1일 때, S_d..

Verilog 2023.04.19

Verilog 인코더, 디코더, 7세그먼트, 멀티플렉서

2비트 비교기 2bit 비교기를 만들 경우 [1:0], 16bit 비교기를 만들 경우 [15:0] A, B가 0일 때 equal의 값이 1, A = 2, B = 0일 때 bigger 값이 1, A = 0, B = 2일 때 less값이 1. 디코더 디코더 : 입력선에 나타나는 n비트의 2진 코드를 최대 2^n개의 서로 다른 정보로 바꿔주는 조합논리회로 인에이블(enable) 단자를 가지고 있는 경우는 디멀티플렉서의 기능도 수행 실제 상용 IC의 경우에는 디코더와 디멀티플렉서의 기능으로 모두 사용 74138 : 3X8 디코더/디멀티플렉서 74139 : 독립된 2개의 2X4 디코더/디멀티플렉서 74154 : 4X16 디코더/디멀티플렉서 아래 코드 값들의 핀 번호와 갯수 A = 4개, B = 4개, S = 4개..

Verilog 2023.04.18

Verilog 3일 특강 2

Single D-Flip Flop negedge 는 하강에지를 뜻하며, posedge는 상승에지를 뜻한다. rst가 하강에지이고, clk가 상승에지일 때마다 rst가 0일 경우 qout은 0, 다른 경우엔 qout = din과 같다. add_force rst {0 0ns} {1 100ns} 로 하면 unknown 값이 나오다가 다음 클럭때 로우로 변함 D-Flip Flop의 정의된 내용과 다른 동작을 보인다. 위 tcl 파일에 의해 din의 값은 tcl파일과 동일하게 나오며, rst = 1일 때, qout는 클럭의 상승에지에서 din과 같기 때문에 상승에지마다 din의 값을 받아 주기별로 실행한다. 100진 카운터 0~99 qout은 99까지 qout + 1이 진행되면 0으로 초기화된다. UP/DOWN ..

Verilog 2023.04.17

Verilog 반가산기, 전가산기, 병렬가감산기, 비교기

baysis3 3.3v, 5v 동작 가운데 박혀있는 칩이 xc7a35tcpg236-1 조합논리회로 : 논리곱AND, 논리합OR, 논리 부정NOT의 세 가지 기본 논리회로를 조합하여 구성한 논리회로 조합논리회로는 입력변수, 논리 게이트 그리고 출력변수로 구성 HDL : 언어로 회로설계, Verilog, VHDL로 구성 반가산기 (Half Adder) Half Adder는 xor게이트와 and게이트로 구성되어있다. xor은 A, B의 값이 다를 때 1을 출력한다. Half Adder의 schematic xor 게이트는 출력이 앞, 입력이 뒤에 온다. S 출력, A, B 입력 and 게이트도 출력이 앞, 입력이 뒤에 온다. C 출력, A, B 입력 Schematic HLS라고 함 (High Level Synt..

Verilog 2023.04.17

Verilog 3일 특강 1

한달 반으로 예정되어있던 베릴로그가 잠시 3일의 특강을 가지고 시작했다. not : ~ a and : a & b or : a | b xor : a ^ b nand : ~(a & b) nor : ~(a | b) xnor : ~(a ^ b) xor 과 xnor 은 헷갈리니 따로 사진첨부 xor은 배타적 논리합으로 둘 중 하나만 참일 경우 판단하는 논리 연산 입력값이 동일하면 1을 출력하고 다르면 0을 출력한다. 비교 게이트나 일치 확인 게이트라고도 부른다. 위 코드를 실행했을 때 schematic tcl 파일을 불러와 신호값을 처리하는 과정 not 은 ~a 였으므로 a의 신호와 정반대 and는 a, b의 신호가 1일 때 1을 출력 or은 a, b 중 1개만 1이어도 1을 출력 xor은 a, b 가 같은 값일..

Verilog 2023.04.13