![[VerilogHDL] UpCounter, 디버깅, UART Tx](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrNZdr%2FbtsHt4GKhkZ%2FSqEK0mIH4LejNPLqR0OIQK%2Fimg.png)
1. FSM - UpCounter 구현 더보기`timescale 1ns / 1psmodule top ( input clk, input reset, input btn_run_stop, input btn_clear, output [3:0] fndCom, output [7:0] fndFont); wire w_div_clk; wire w_run_stop, w_clear; wire [13:0] w_digit; clkDiv #( .HERZ(1000) ) U_ClkDiv ( .clk (clk), .reset(reset), .o_clk(w_div_clk) ); UpCounter U_UpCoun..
![[VerilogHDL] FSM 코딩(Moore, Mealy) - 버튼, UpCounter](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbetzc8%2FbtsHvuRSMN0%2FQWuDHrBhsfysBOnJnirWy1%2Fimg.png)
1. FSM(Finite State Machine) (1) Moore 머신 : 출력이 현재 상태에 의해서만 결정Present State Next State Output input 0input 1 S0S1S00S1S1S01(2) Mealy 머신 : 출력이 현재 상태와 입력에 의해서 결정 Present State Next State Output input 0input 1input 0input 1S0S1S010S1S1S010 Next-State LogicNext State를 계산, 결정하는 회로현재 상태 및 입력에 따라 다음 상태를 결정State Registerclk edge에서 현재 State update(저장) ← state = next_state 형식으로..Output Logic현재 S..
![[VerilogHDL] 조합 논리 회로 & 순차 논리 회로, Latch & FlipFlop](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSF2r6%2FbtsHtOdeWqq%2Fj9KnstjOc4HKyuyYtH1lA0%2Fimg.png)
1. 조합 논리 회로 & 순차 논리 회로 조합 논리 회로(Combinational Logical Circuit)비동기 ← 클럭에 영향을 받지 않음 ⇒ 입력이 들어가면 출력이 바로 나옴MUX, Decoder, DigitSplitter, Gates(AND, OR, …), ALU순차 논리 회로(Sequential Logic Circuit)동기 ← 클럭에 영향을 받음 ⇒ 클럭을 기준으로 동작 시점 결정Clock Diver, Counter, Flip-Flop(Edge Trigger), Latch(Level Trigger), Register 클럭을 쓰는 이유?동기화 : 동시에 무엇인가 동작, 동작을 시키기 위한 기준점데이터 무결성 향상시스템 안정성 → 시스템이 정확한 시간, 원하는 타이밍에 동작병렬 처리 → 여..
![[VerilogHDL] C&Verilog차이, SystemVerilog 기본, 8bit Adder FND, 만진 카운터](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHWO9v%2FbtsHqbzgbYD%2FUAoHdNYYi9zPTYOsETtu81%2Fimg.png)
1. C언어 vs Verilog 1. C언어 : Sequential(잇달아) → Polling 방식으로 위에서부터 아래로 차례대로 실행 2. Verilog : Concurrency(동시성) → 동시 실행 2. 8bit Adder FND 2-1. 8bit Adder 만들기더보기`timescale 1ns / 1psmodule Adder_8bit ( input [7:0] a, input [7:0] b, input cin, output [7:0] sum, output co); wire w_carry0; Adder_4bit U_4bitAdder0 ( .a (a[3:0]), .b (b[3:0]), ..
![[VerilogHDL] System Verilog, 4bit Adder FND 출력](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpRigX%2FbtsHp32iq76%2FekHf18H6oq2HZElY9OjyTk%2Fimg.png)
1. System Verilog 문법 사용하여 Verification 4bit Adder Simulation콘솔창에 출력하기 더보기4bit Adder Desing source`timescale 1ns / 1psmodule Adder ( input [3:0] a, input [3:0] b, input cin, output [3:0] sum, output co); wire [2:0] w_carry; fullAdder U_FA0 ( .a(a[0]), .b(b[0]), .cin(cin), // 1bit 이진수 0 .sum(sum[0]), .cout(w_carry[0]) ); fullAdder U..
![[VerilogHDL] HalfAdder, FullAdder, 4bit Adder](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4bG43%2FbtsHgDiRNvy%2FkKVghAr98ONRN3kiFtyGo1%2Fimg.png)
1. Half Adder S = A’B + AB’ (XOR Gate)C = AB (AND Gate)module HalfAdder( // Port list input a, input b, output Sum, output Carry ); // Design Circuit assign Sum = a ^ b; assign Carry = a & b;endmodule Simualtionmodule tb_HalfAdder(); reg a; reg b; wire Sum; wire Carry; HalfAdder test_HA( .a(a), .b(b), .Sum(Sum), ...