# Verilog

Verilog (8) - 카운터(3) 가산기
지난 포스트에서는 4비트 가산기의 차이점과 그 연산 방식, 그리고 시간과 사용 자원에 대해 비교해봤다. 이번 포스트에서는 4비트 가산기를 확장하여 16비트 가산기를 제작하고, 한가지 연산 방식을 추가하여 3가지 고속연산 방식을 비교해보려고 한다. 지난 번에 사용한 RC

Verilog (7) - 카운터(2) 가산기
카운터의 확장 가산기는 숫자를 저장하기도 하고, 1씩 더해서 숫자를 세기도 하는 카운터를 이용하여 서로 더하거나 뺄셈을 가능하게 한다. 그러나, 카운터를 이용하여 한 자리씩(한 비트씩) 연산하게 된다면 엄청나게 느리게 연산이 될 것이다. 따라서 이전 가산기의 변형을 시

혼자공부하는 Verilog_hdl_1
디지털 회로는 HDL을 사용하여 레지스터 전송 레벨(Register Transfer Level : RTL)에서 기술하게 되었음.설계 명세는 설계되는 디지털 회로의 기능, 인터페이스, 그리고 전체 구조를 추상적으로 표현한 것임.행위 수준 표현은 회로의 기능, 성능, 표준

verilog(6) - 카운터(1)
컴퓨터 cpu에는 여러가지 게이트 구조들이 있다. 예, 아니오를 판별하는 논리 게이트의 무한정 분기를 허용하여 프로그램과 데이터를 읽기도 한다. 그 중, 우리로 하여금 2진수를 읽지 않고, 10진수를 사용할 수 있게 하며 덧셈과 뺄셈, 나눗셈, 곱셈을 할 수 있게 해주
Verilog(5) - 조합회로와 순차회로
조합회로 조합회로의 특징 조합회로에는 시간이라는 개념이 존재하지 않는다. 예를 들어, 다음 코드를 보자. 코드를 보면, 가산기의 논리회로를 그대로 옮겨와 코드를 작성하였다. 이 경우는 코드를 길게 늘렸지만, 합선기, 즉 툴에서 알아서 사용자가 이것을 결과값으로만 작성

Verilog (4) - 8진 카운터 감가산기
말 그대로 숫자를 세는 카운터이다. JK플립플롭을 기반으로 하여, 이전에 설계했었던 add에 뺄셈을 할 수 있도록 설계한 카운터라고 할 수 있다. 컴퓨터의 논리구조로는 덧셈과 곱셈만 할 수 있다. 다음을 참고해보자.이상한 결과가 나오지 않는가? -가 앞에 붙는다. 또한

Verilog(3) - DMUX
지난 이야기 지난 포스트는 Q, Qb의 성질을 이용한 JK filpflop과 전가산기 4개를 연결한 4가산기를 설계했었다. verilog도 또한 virtuoso와 궤를 같이하여 라이브러리를 생성해 추후 더 큰 규모의 작품을 설계하는 것에 사용할 예정이다. MUX(m

베릴로그(2)
HDL 모델링 설계 프로그램이나 프로그래밍의 편의성을 위해 늘 그렇듯이, 라이브러리 생성을 통한 모듈식 모델링은 이러한 설계와 유지보수성에서 주효하게 작용한다. verilog 또한, 설계에서 같은 내용과 방식을 채택하는 부분을 모듈화하여 라이브러리에 추가한다면, 추후

베릴로그(1)
하드웨어 기술언어인 HiLo와 C언어의 특징을 기반으로 개발된 Gateway Design Automatic사의 언어이다. 반도체 및 전자설계 산업에서 전자 시스템을 모델링하기 위한 대표적인 언어이다. C언어와의 유사점이 그중 가장 특징적인데, 문법과 절차/순차적 실행

[Verilog] ChatGPT로 만들어본 32-bit 메모리 모듈
어제 처음 ChatGPT를 써봤는데, 얘가 프로그래밍 소스 코드를 생성해준다...Verilog 할 줄 아냐고 물어봤는데 "Sure!" 라고 하길래, 32-bit 1KB 짜리 메모리 모듈 만들어달라고 하니까 얘가 실제로 만들어줬다.. 심지어 testbench도 만들어달라

Verilog기초(12) - modeling 기법
이번 글에서는 modeling기법에 대해서 얘기하고자 합니다. 총 4가지이고 아래와 같습니다.gate leveldataflow levelbehavioral levelstructural level물론 기법을 3가지라고 하는 분들도 계십니다. structural level

Verilog기초(11) - Testbench
이번 글에서는이전 글들에서 계속 말씀드렸던 Testbench를 좀 다뤄보고자 합니다. 왜 이제까지 미뤄왔는지는 여러 이유가 있습니다만, Verilog문법 자체에 익숙해지는 것을 원하였고, instination이며, port끼리 연결하는 개념이 정립되어야 다룰 수 있는

Verilog심화(2) - FIFO (Single Clock)
이번 글에서는 디지털 회로설계에서 자주 사용된다고 알려져있는 FIFO(First In First Out)구조에 대해 설명하고자 합니다.FIFO는, Data structure(자료구조)에서 Queue라는 이름으로 많이 알려져있습니다. 혹시나 자료구조를 듣지 않았다고 걱정

Verilog심화(1) - Counter & FSM
이번 글에서 다뤄볼 내용은 심화라기에는 좀 기본적인 FSM(Finite State Machine)을 다루고자 합니다. FSM이 어떤 것인지 대부분 알고 계실거라 생각이듭니다. FSM을 설명하고자 하는 것이 아니라 Counter라는 기본적인 sequential logic

Verilog기초(10) - instination, 4bit full adder
지난 시간에는 full adder와 cocatenation을 다뤄보았습니다. 이번 시간에는 4bit full adder를 설계하면서 instination에 대해서 알아봅시다.오늘 만들 4bit full adder는 RCA(ripple carry adder)의 형태로 f

Verilog기초(9) - Adder
지난 시간은 wire에 대해서 알아보았습니다. 이번 시간은 가장 기본 연산자들을 이용해서 adder를 설계해 봅시다.사실 뭐 adder를 설계하는 것이 어렵진 않습니다. 아마 여러분도 논리회로 시간에 full adder가 무엇인지, 어떻게 설계하는지 배우셨을 것입니다.

Verilog기초(7) - 기본 연산자
지난 시간 Verilog로 회로를 처음 기술해보고 simulation까지 해보았습니다. 아직 testbench에 대한 내용을 다루지 않았지만 해당 내용을 제외하고는 해당 시리즈에서 모든 과정이 동일할 것입니다. Editor(저희는 vscode)에서 verilog라는 언

Verilog기초(6) - Basic code, Simulation
제일 처음 다뤄볼 것들은 아래의 basic gate입니다. 해당 gate들로 합성이 되도록 Verilog코드를 작성해보면서 Verilog코드의 기초형식과 몇 가지 operator, 그리고 Variable type을 다뤄볼 예정입니다. boolean식이 기억이 안난다면