근성프로그래머 이준형

고정 헤더 영역

글 제목

메뉴 레이어

근성프로그래머 이준형

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (136)
    • 과제 (27)
      • 객체지향프로그래밍(C++) (4)
      • 디지털논리회로(verilog) (6)
    • 공부 (41)
      • AI (5)
      • Be BE (1)
      • Linux (2)
      • 인터넷 (2)
      • 알고리즘 (1)
      • eBPF (0)
      • Rust (0)
      • PyGAD (1)
    • 운동 (2)
      • 야구대회 (1)
      • 야구연습 (1)
      • 보통운동 (0)
    • 일상 (6)
      • 맛집탐방 (1)
      • 여행 (5)
    • 공지 (0)
    • 책 리뷰 (60)
      • 생활코딩! HTML+CSS+자바스크립트 (20)
      • 이것이 취업을 위한 코딩테스트다 (8)
      • Do it! 코틀린 프로그래밍 (12)
      • 생활코딩! 자바 프로그래밍 입문 (20)

검색 레이어

근성프로그래머 이준형

검색 영역

컨텐츠 검색

과제/디지털논리회로(verilog)

  • D-FlipFlop

    2022.06.22 by 근성

  • ALU(Arithmetic Logic Unit)

    2022.01.17 by 근성

  • blocking 과 non-blocking assignment의 차이

    2022.01.06 by 근성

  • CLA(carry-look-ahead)

    2022.01.05 by 근성

  • RCA(Ripple Carry Adder)

    2022.01.04 by 근성

  • 2-to-1 multiplexer 구현하기

    2022.01.03 by 근성

D-FlipFlop

D-latch들이 모여서 D-FlipFlop을 이루고, D-Flipflop이 모여서 register가 됩니다. D-latch clk의 값이 1일때 non blocking으로 d의 값에 변화를 줬습니다. module _dlatch(clk,d,q,q_bar); input clk; input d; output q, q_bar; reg q; always @(clk or d) begin if(clk==1) q 8개 D-FlipFlop 32bit register => 4개 8bit register module _register8(clk, d,q);//8bits register module input clk;//clock input [7:0] d;//8bits input output [7:0] q;//8bits ou..

과제/디지털논리회로(verilog) 2022. 6. 22. 10:31

ALU(Arithmetic Logic Unit)

산술 논리 장치는 두 숫자의 산술 연산과 논리 연산을 계산하는 회로입니다. (+. -. AND, OR, XOR, XNOR, NOT) 이번에 구현할 산술 논리 장치는 opcode라는 3bit code를 따라서 여러 가지 연산을 하는 장치입니다. 이렇게 계산을 산술연산 혹은 논리연산을 진행한 후에 Calculate Flag가 존재합니다. Calculate Flag는 산술논리장치에서의 결과의 4가지 상태를 나타냅니다. C(Carry) : 연산결과가 Carry가 발생하는 경우 N(Negative) : 연산결과가 음수인 경우 Z(Zero) : 연산결과가 0인 경우 V(Overflow) : 연산결과가 overflow가 발생하는 경우 예를 들어서 A와 B를 비교할때 AB입니다. V=1인 경우 최대 bit보다 큰 수가..

과제/디지털논리회로(verilog) 2022. 1. 17. 12:49

blocking 과 non-blocking assignment의 차이

베릴로그가 아닌 다이어그램을 통해 살펴보자. 위 다이어그램은 2개의 태스크가 있는 일반적인 형태의 프로그램 흐름이다. 먼저 태스크 A에서 블로킹 구간을 발견할 수 있다. 입출력 과정인 읽기나 쓰기 과정이 수행될 때 태스크 A의 코드가 진행되지 않고 내부 메모리 영역에서 해당 작업이 마무리될 때까지 코드는 멈추게 되는데, 이것을 블로킹이라고 한다. 태스크 A가 블로킹하는 동안 운영체제의 스케줄링 정책에 따라 우선순위가 낮은 또 다른 태스크B가 실행될 수 있다. 우선순위가 높은 태스크 A의 실행이 재개되면 우선순위가 낮은 태스크 B는 블로킹하고 태스크 A가 종료되면 다시 태스크 B가 재개된다. 넌블로킹의 다이어그램을 보자. 넌블로킹 형태의 프로세스에서는 입출력 요청을 하더라도 운영체제에 의해 EAGAIN과 ..

과제/디지털논리회로(verilog) 2022. 1. 6. 16:55

CLA(carry-look-ahead)

CLA를 설계하기 위해서는 앞선 글인 RCA를 보고 오는것을 추천드립니다. https://baseballgrammer.tistory.com/44 RCA(Ripple Carry Adder) 이번시간에는 RCA라는 가산기를 설계할것이지만, 가산기를 설계하기전에는 기본지식이 필요합니다. 전가산기(full adder)와 반가산기(half adder), 2의보수가 있습니다. 2의보수 보수 : 두 수의 합이 진 baseballgrammer.tistory.com 이론 carry-lookahead(CLA) 가산기의 한 종류입니다. 저번 실험시간에 설계한 ripple carry adder보다 계산해야 비트 수가 16개 이상인 경우 속도가 빠르다는것을 학교 강의인 디지털 논리회로2 시간에 배웠습니다. 위의 식을 정리해서 ..

과제/디지털논리회로(verilog) 2022. 1. 5. 15:50

RCA(Ripple Carry Adder)

이번시간에는 RCA라는 가산기를 설계할것이지만, 가산기를 설계하기전에는 기본지식이 필요합니다. 전가산기(full adder)와 반가산기(half adder), 2의보수가 있습니다. 2의보수 보수 : 두 수의 합이 진법의 밑수(N)가 되게 하는 수(ex : 10진수 5의 10의보수는 5) 2의보수 : 어떤 수를 커다란 2의 제곱수에서 빼서 얻은 이진수입니다. 보수는 컴퓨터에서 음의정수를 표현하기 위해 만들어졌습니다. 컴퓨터 내부에서는 덧셈을 담당하는 가산기만을 사용하기 때문에 A – B 가아닌 A+(-B)로 계산을 시켜야합니다. 그러면 2의보수를 사용하지않고 4bit 짜리에서 MSB를 부호비트로 주고 사용해도 된다고 생각하기 쉽지만, 그렇게되면 0이 양수와 음수의 부호비트를 가지기때문에 2의보수를 사용해야..

과제/디지털논리회로(verilog) 2022. 1. 4. 19:00

2-to-1 multiplexer 구현하기

Multiplexer는 여러개의 input들(신호) 중에서 select값에 따라서 input의 값 중 몇개를 골라서(select)를 해서 output으로 출력하게 하는 장치입니다. 이를 MUX로 부르기도 합니다. MUX와 역할이 반대인 demultiplexer, DEMUX도 존재합니다. verilog HDL로 코딩을 할 예정입니다. Verilog HDL(베릴로그)는 회로와 시스템에 사용되는 하드웨어 언어로, 회로설계, 검증, 구 현 등 다양한 용도로 사용가능하다고 합니다.. 베릴로그는 다른 High level 언어보다는 디자인이나 시뮬레이션이 느리지만, 이해하기 쉽게 섬세하다는 장점이있어, 디자인과 관리하기 보다 친숙합니다. instance라는 표현을 주석에 자주 사용할 예정인데, instance는 함수..

과제/디지털논리회로(verilog) 2022. 1. 3. 14:55

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
근성프로그래머 이준형 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바