본문 바로가기

Digital Design42

[메모리] Memory 종류 안녕하세요. 컴퓨터구조를 학습하기 전에 메모리에 대해 간단히 짚고 넘어가면 좋을 것 같습니다. 모두가 알고 있듯 우리나라는 메모리 반도체 강국입니다. 명실상부 세계 1위죠. 삼성전자는 30년이 넘는 시간 동안 메모리 반도체 분야에서 연속으로 1위를 달성하고 있습니다. 그래서 오늘은 메모리에 대해 알아보고자 합니다. Memory 종류 메모리는 크게 RAM과 ROM으로 나눌 수 있습니다. RAM (Random Access Memory) : 휘발성 메모리 ROM (Read Only Memory) : 비휘발성 메모리 먼저 ROM은 비휘발성 메모리입니다. 주로 컴퓨터를 부팅할 때 SW에 의해 동작하는게 아니라, ROM에 저장된 정보를 이용해 HW적으로 동작시킵니다. ROM은 한 번 쓰면 지울 수 없고 읽을 수만 .. 2023. 1. 8.
[논리회로] Register (Design with Verilog) 디지털회로에서는 연산을 할 때 Register에 값을 저장하곤 합니다. 오늘은 간단한 레지스터를 게이트로 나타내보고 verilog로 설계하려고 합니다. 4 bit 병렬 register입니다. 가운데에 있는 combinational 회로는 MUX와 유사하게 보아도 됩니다. Load 신호에 따라 D0~3이 R0~3에 저장됩니다. Verilog Code 4bit Register를 Verilog로 설계하였습니다. Register를 memory처럼 사용하였습니다. 추후에 SRAM을 다룰 때 다시 한 번 다룰건데 미리 코드를 봐두시면 좋을 것 같아요. Read와 Write로 memory에 값을 쓰거나 읽었습니다. DUT `timescale 1ns / 1ps module register4b( i_clk, i_rese.. 2023. 1. 7.
[논리회로] Counter (Design with Verilog) 논리회로에서 중요한 회로인 카운터 (Counter) 에 대한 글입니다. RTL로 설계를 할 때, 카운터는 자주 쓰이는 회로입니다. 카운터의 동작만 잘 알아두어도 설계를 할 때 유용하게 쓸 수 있다고 합니다. Synchronous Counter (동기식 카운터) JK FlipFlop으로 이루어진 동기식 카운터입니다. Synchronous Counter는 비동기식보단 복잡하지만 빠르다는 장점이 있습니다. Asynchronous Counter (비동기식 카운터) JK FlipFlop으로 구성된 비동기식 카운터입니다. Synchronous Counter보다 간단하지만 clock에 의해 동작하지 않으므로 느릴 수 있습니다. 비동기식 카운터는 Ripple Counter라고 부르기도 합니다. 앞 F/F의 출력을 뒤 .. 2023. 1. 6.
[논리회로] T Latch와 FlipFlop T Latch와 T FlipFlop에 대한 글입니다. T F/F는 JK F/F에서 파생되었는데요, J와 K의 입력을 하나의 T로 묶은 구조입니다. INPUT OUTPUT T Q 0 Q 1 Q_bar T가 0이면 그대로 유지하고, T가 1이면 보수를 출력합니다. 2023. 1. 6.
[논리회로] JK Latch와 FlipFlop 오늘은 JK Latch와 FlipFlop에 대한 글을 쓰도록 하겠습니다. JK는 SR F/F에서 (1, 1)이 들어왔을 때 문제점을 보완하기 위해 만들어졌습니다. (J, K)가 (0, 0)이면 이전 값을 유지하고 (1, 1)이면 반대 값을 출력합니다. 2023. 1. 6.
[논리회로] D Latch와 FlipFlop (Design with Verilog) 이전 글에서 작성했던 것처럼 FlipFlop은 Latch에 edge detector circuit을 붙여서 사용합니다. 이번 F/F 설명부터는 edge detector circuit을 생략하겠습니다. D Latch (FlipFlop) Latch의 경우 CLK가 1이면 Q 2023. 1. 2.
[논리회로] SR Latch와 FlipFlop 이전 글에서 작성했던 것처럼 FlipFlop은 Latch에 edge detector circuit을 붙여서 사용합니다. SR Latch with NAND S는 set, R은 reset을 의미합니다. INPUT OUTPUT S R Q Qb 0 0 1 (금지) 1 (금지) 0 1 0 1 1 0 1 0 1 1 Q (유지) Qb (유지) S와 R이 0일 때는 (1, 1)이 나오지만 Q = Qb가 되어버리므로 타당한 값이 아닙니다. S와 R이 1일 때는 이전 값을 그대로 사용합니다. SR이 (1, 1)에서 (0, 0)이 되면 (1, 1) -> (0, 0) -> (1, 1) -> (0, 0) -> ··· 으로 발진하는 Race 현상이 발생합니다. Gated SR Latch INPUT OUTPUT CP R S Q Q.. 2023. 1. 2.
[논리회로] Latch와 FlipFlop의 차이 Latch와 Flipflop에 대한 글입니다. Latch clock이 High이거나 Low일 때 값을 update 입력 신호가 바로 출력으로 전달되므로 noise와 glitch에 취약합니다. ※ Verilog 설계 시 Latch가 생성되지 않도록 하는 것이 중요합니다. 합성 후 Latch가 생성되지 않도록 하려면, if 문의 경우 else로 끝나도록 하고 case문의 경우 default를 써주는 등 모든 경우에 대해서 값을 가지도록 작성해야 합니다. FlipFlop clock의 rising edge 또는 falling edge에서 값을 update FlipFlop의 경우 edge에서만 update하므로 Latch 비해 glitch 영향을 덜 받습니다. Latch와 Flipflop은 많은 사람들이 혼용해서.. 2023. 1. 2.