[VerilogHDL] CPU 기본 구조, 메모리, Counter 설계(Control Unit, Data Path)
VerilogHDL/Study2024. 6. 3. 09:31[VerilogHDL] CPU 기본 구조, 메모리, Counter 설계(Control Unit, Data Path)

#1.  CPUCPU 아키텍처에는 크게 CISC와 RISC가 있다. #1-1.  CISC(Complex Instruction Set Computer)복잡한 명령어CISC 프로세서에는 매우 복잡하고 단일 명령어로 여러 개의 Low-Level 작업(예: 산술과 결합된 메모리 액세스)을 수행할 수 있는 대규모 명령어 세트가 있다.가변 명령어 길이CISC 아키텍처의 명령어는 길이가 다양할 수 있으므로 더 복잡한 작업이 더 적은 명령어로 인코딩되므로 프로그램 크기가 더 작아질 수 있다.레지스터 적음각 명령어의 복잡성과 기능으로 인해 CISC는 더 적은 수의 레지스터를 가지며 메모리 작업에 더 많이 의존한다.Microcode복잡한 명령어를 프로세서에서 내부적으로 처리하는 간단한 단계로 분해한다.[장점]High-Le..

[VerilogHDL] FIFO, UART&FIFO
VerilogHDL/Study2024. 5. 30. 09:11[VerilogHDL] FIFO, UART&FIFO

#1.  FIFO(Fist In First Out)== Circular Queue, 선입선출push & pop할 떄 버퍼의 어디를 가리킬지 포인터가 필요하다.read하는 속도와 write하는 속도가 다를때 FIFO 사용  Push algorithmpush 할 때 memory full이면 안된다.  Pop algorithmpop 할 때 memory empty면 안된다.  FIFO modulepush 할 때 memory full이면 안된다.pop 할 때 memory empty면 안된다.rw_en = 1일때 write 가능  구현[FIFO module]더보기`timescale 1ns / 1psmodule fifo #( parameter ADDR_WIDTH = 3, DATA_WIDTH = 8) ( ..

[VerilogHDL] UART Tx(2)
VerilogHDL/Study2024. 5. 22. 00:26[VerilogHDL] UART Tx(2)

1.  UART(Tx v.2) 8개 state를 만들지 않고 baudrate tick에 한번씩 data 1bit씩 전송   구현더보기`timescale 1ns / 1psmodule uart ( input clk, input reset, input tx_start, input [7:0] tx_data, output tx, output tx_done); wire w_br_tick; baudrate_generator #( .HERZ(9600) ) U_BR_Gen ( .clk (clk), .reset(reset), .br_tick(w_br_tick) ); transmitter U_TxD ( ..

[VerilogHDL] Verilog 이론 (Ch.5 ~ 11)
VerilogHDL/이론2024. 5. 21. 02:50[VerilogHDL] Verilog 이론 (Ch.5 ~ 11)

Ch.5 행위 수준 모델링 조합회로 모델링 Level Trigger회로의 입력 신호 모두 나열@(*) 함축적 감지 신호 사용 가능 ← 모든 입력 감시module or2 (input a, input b, output out); reg out; always @(a or b) begin // always @(a, b) if (a == l'bl II b == l'bl) out = l'bl; else out = l'b0; endendmodule  순차회로 모델링 Edge Trigger동기식(synchronous) : 클록 신호만 포함비동기식(asynchronous) : 클록 신호, set, reset 신호 포함신호의 안정성 면에서는 동기식이 더 좋다고 할 수 있음(비동기식 : 클럭 신호와 set ..

[VerilogHDL] UpCounter, 디버깅, UART Tx
VerilogHDL/Study2024. 5. 20. 00:37[VerilogHDL] UpCounter, 디버깅, UART Tx

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
VerilogHDL/Study2024. 5. 19. 23:59[VerilogHDL] FSM 코딩(Moore, Mealy) - 버튼, UpCounter

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..

image