본문 바로가기

전체 글99

Verilog HDL 실습 (Traffic) 오늘은 일상에서 흔히 볼수있는 보행자 신호등을 Verilog HDL로 구현해보도록 하겠습니다.신호등은 다음 네 가지 주요 상태를 갖습니다: 노란색, 빨간색, 초록색, 그리고 보행자 신호 상태입니다.노란색(YELLOW) 상태는 신호 변경을 알리는 경고 신호로 잠시 지속됩니다.빨간색(RED)  상태에서는 사람이 건널 수 없고 차량이 도로를 자유롭게 진행할 수 있습니다.초록색(GREEN) 상태는 차량에 정지를 명령하고, 보행자가 도로를 건널 수 있도록 합니다.보행자(PED) 신호 상태는 보행자가 버튼을 누를 때 활성화되어, 안전하게 길을 건널 수 있도록 초록색 신호를 제공합니다.위 조건을 가지고 보행자 신호등을 구현해보도록 하겠습니다.  Verilog HDL Traffic Module & Testbench더보.. 2024. 5. 31.
Verilog HDL 실습 (Security) 오늘은 간단한 보안 장치를 Verilog HDL로 만들어보겠습니다. 키를 작동시키게 되면 감지 구간으로 진입하여 일정한 시간내로 버튼을 누르지 않으면 알람이 울리는 형태로 만들어보도록 하겠습니다. 실제 부저를 부착하는 대신 LED로 대신하여 제작해보도록 하겠습니다. 보안 시스템의 주요 동작을 구현한 것으로, FSM (유한 상태 기계)을 사용하여 시스템의 상태를 관리합니다. 시스템은 클록 신호(CLK), 리셋 신호(RST), 사용자 입력 키(KEY), 그리고 센서 입력(SENSOR)에 의해 제어됩니다. 이 시스템은 네 가지 주요 상태를 가지며, 각 상태는 알람 시스템의 동작을 결정합니다. 더보기Security Module`timescale 1ns / 1psmodule my_security( input.. 2024. 5. 31.
Verilog HDL 실습 (FSM) 오늘은 FSM을 Verilog HDL로 만들어보겠습니다.  FSM이란?  유한 상태 기계(finite-state machine, FSM)는 컴퓨터 프로그램과 전자 논리 회로를 설계하는 데에 쓰이는 수학적 모델이다. 간단히 '상태 기계'라고 부르기도 한다. 많은 디지털 시스템에서 System 및 Data Flow Path의 동작을 제어하는 데 사용되는 Sequential 회로입니다. 현재 상태 Current state 와 input에 따라 다음 상태 Next state가 결정이 됩니다. Verilog로 컨트롤러를 설계한다고 했을 때 FSM을 이용하면 비교적 쉽게 설계할 수 있습니다. If else 분기문을 통해서 설계할 수 있으나 HW는 동시성의 개념이 있기 때문에 If else를 여기저기 남발하다가 나도.. 2024. 5. 31.
Verilog HDL 실습 (Counter) 이번엔 Counter를 Verilog HDL로 만들어보도록 하겠습니다. Counter란?Counter는 숫자를 세는 모듈이다. Clock을 분주할 수 있고 Memory의 원하는 Address에 Read / Write를 하는 기능을 설계할 수도 있다. cnt를 구현하라면 읽어서 저장을 할 수 있는 저장 공간이 있어야 가능한데 이는 Data를 저장할 수 있는 D Flip Flop을 이용하면 된다.  Verilog HDL Code더보기Counter Module`timescale 1ns / 1psmodule my_counter( input Reset, input Clk, input Dir, output [2:0] LED ); reg [31:0] counter;assign LED .. 2024. 5. 31.
Verilog HDL 실습 (1sec_LED) 이번엔 1초마다 LED의 상태를 전환하는 디지털 타이머 회로를 구현해보겠습니다. 디지털 시스템에서 사용될 수 있으며, 특정 클록 주파수에서의 타이밍을 기반으로 작동합니다.  Verilog HDL Module Code더보기1sec module`timescale 1ns / 1psmodule my_1sec( input RST, input CLK, output reg LED ); parameter clk_freq = 125_000_000; reg enable; reg [31:0] cnt; always @(posedge CLK) begin if (RST) begin cnt  Testbench`timescale 1.. 2024. 5. 31.
Verilog HDL 실습 (Parity_bit) 오늘은 패리티 비트를 이용해 오류를 검증하는 방법을 Verilog HDL로 만들어보도록 하겠습니다.  패리티 비트 (Parity Bit)패리티 비트는 디지털 통신과 데이터 저장장치에서 널리 사용되는 오류 검출 기법입니다. 데이터 비트 중 '1'의 개수를 기반으로 추가적인 비트(패리티 비트)를 설정함으로써, 데이터가 원래의 상태로 정확하게 전송되었는지를 검증할 수 있습니다. 패리티 비트는 통신이나 데이터 저장 과정에서 데이터의 무결성을 검사하는 데 중요한 역할을 합니다. 데이터 전송 과정에서 발생할 수 있는 오류를 감지하고, 이를 통해 데이터가 손상되었는지 여부를 파악할 수 있습니다. 이 방법은 구현이 간단하면서도 효과적으로 비교적 단순한 오류를 감지할 수 있어, 데이터의 정확성을 보장하는 데 크게 기여합.. 2024. 5. 31.
Verilog HDL 실습 (Full Adder) 이번에는 Full Adder를 Verilog HDL로 만들어보겠습니다.    하프 애더 (Half Adder)하프 애더는 두 개의 1비트 입력을 받아 덧셈을 수행하고, 결과로 합(Sum)과 올림(Carry) 두 출력을 생성합니다. 이는 가장 기본적인 산술 논리 회로로, 두 비트의 가장 낮은 자릿수를 더할 때 사용됩니다. 하프 애더에는 이전 덧셈에서 발생한 올림을 고려하지 않기 때문에 단순한 덧셈에 적합합니다. 하프 애더는 XOR 게이트와 AND 게이트를 사용하여 두 입력 비트의 합과 올림을 계산합니다. 풀 애더 (Full Adder)풀 애더는 하프 애더를 확장하여 세 개의 입력(두 개의 비트와 이전 덧셈에서의 올림)을 받아 덧셈을 수행합니다. 이는 더 복잡한 덧셈 연산에 사용되며, 합과 새로운 올림을 출.. 2024. 5. 31.
Vivado 사용법 및 간단한 실습 Part2 (D Flip Flop) Vivado 사용법 및 간단한 실습 Part1https://engineeringstudentww.tistory.com/12 Vivado 설치와 프로젝트 생성 방법 등은 위 링크를 누르시면 이동됩니다. 이전에 작성했던 부분에 대해서는 중복적으로 작성하지 않도록 하겠습니다. 오늘은 D Flip Flop을 통해서 Delay 및 Timing 부분에 대해서 알아보도록 하겠습니다.  1. D Flip FlopDigital Logic에 있어서 가장 기본이 되는 저장을 위한 Logic입니다. Flip Flop 또는 래치는 전자공학에서 1bit의 정보를 보관, 유지할 수 있는 회로이며 순차회로의 기본 요소입니다.이전 상태를 게속 유지하여 저장하고 휘발성 메모리로 이는 전원이 나가면 저장되어 있던 값들도 사라집니다. Di.. 2024. 5. 27.
Vivado 사용법 및 간단한 실습 Part1 (And Gate) 안녕하세요 오늘은 간단하게 Verilog HDL 언어를 tool로 어떻게 사용하는지 알아보겠습니다.  1. Vivado 설치먼저 vivado를 다운로드 해주셔야 하는데 xilinx 홈페이지에서 다운로드 할 수 있습니다.다운로드를 진행할 때 아이디가 필요하니 회원가입 후 다운로드를 진행해주시면 됩니다. https://www.xilinx.com/support/download.html DownloadsVivado, Vitis, Vitis Embedded Platform, PetaLinux, Device modelswww.xilinx.com  2. Vivado Project 생성Vivado 설치를 완료하셨으면 Vivado를 실행시켜줍니다. 실행시켜주면 아래와 같은 화면이 뜨게되는데 간단한 Project를 만들어.. 2024. 5. 27.