본문 바로가기

분류 전체보기

(175)
[HDLBits] Exams/review2015 fsmonehot 1. 문제 및 설명 A. 이 문제는 앞선 문제에서 만들었던 FSM의 상태를 One-Hot Encoding 형식으로 수정 한 것입니다. 2. 요구사항 A. 논리식 도출: 원-핫 인코딩(S, S1, S11, S110, B0, B1, B2, B3, Count, Wait = 10'b0000000001, 10'b0000000010, ..., 10'b1000000000)을 사용한다고 가정하고, 상태 전이 논리식(next-state logic equations)과 출력 논리식(output logic equations)을 육안으로 관찰하여(by inspection) 도출하세요. B. 구현: 이 상태 머신의 조합 논리 회로 부분(상태 전이 논리 및 출력 논리)만 구현하세요. (테스트벤..
[HDLBits] Exams/review2015 fancytimer 1. 문제 및 설명 A. 이 문제는 복잡한 카운터를 만들기 위한 5단계 중 최종번째 단계입니다. B. 타이머를 제어하는 FSM을 설계하시오.이 타이머는 특정 패턴(1101)이 감지되면 시작됩니다.이후 4비트를 추가로 입력 받아 지연 시간을 결정합니다.카운터가 종료 될 때 까지 기다립니다.사용자에게 알림을 보내고, 사용자의 확인을 기다립니다. 2. 요구사항시퀀스 감지: 입력에서 특정 패턴('1101')이 감지되면 타이머가 시작됩니다.데이터 입력: 패턴 감지 직후, 이어지는 4비트(최상위 비트 우선, MSB first)를 추가로 입력받아 지연 시간 값인 delay[3:0]을 결정합니다.카운팅: counting 신호를 활성화하여 카운팅 중임을 알립니다. 이때 카운팅 시간은 정확히 (..
[HDLBits] Exams/review2015 fsm 1. 문제 및 설명 A. 이 문제는 복잡한 카운터를 만들기 위한 5단계 중 네번째 단계입니다. B. 타이머를 제어하는 FSM을 설계하시오.이 타이머는 특정 패턴(1101)이 감지되면 시작됩니다.이후 4비트를 추가로 입력 받아 지연 시간을 결정합니다.카운터가 종료 될 때 까지 기다립니다.사용자에게 알림을 보내고, 사용자의 확인을 기다립니다. 2. 요구사항 A. 데이터 경로는 이 문제에 포함되지 않으며, 오직 FSM제어 로직만 구현하면 됩니다.시퀀스 감지: 직렬 데이터(data) 입력에서 '1101'이 수신되면, shift_ena를 정확히 4 클록 주기 동안 1로 설정합니다.카운팅 대기: 이후 counting 출력을 1로 설정하여 카운터가 작동 중임을 나타내고, done..
[HDLBits] Exams/review2015 shiftcount 1. 문제 및 설명이 문제는 복잡한 카운터를 만들기 위한 5단계 중 세번째 단계입니다. 2. 요구사항 A. 시프트 레지스터를 제어하기 위한 FSM의, 일부로 적적한 비트 패턴이 감지될 때마다 정확히 4클록 주기 동안만 쉬프트 레지스터를 활성화하는 기능을 구현하세요.시퀸스 감지는 이전단계에서 처리하므로, 이 FSM 부분은 오직 시프트 레지스터를 4클록 주기 동안 활성화 하는 역할만 담당합니다.FSM이 리셋되면 shift_ena 신호를 4클록 주기동안 1로 만든뒤, 그 다음부터는 리셋될 때까지 영원히 0을 유지해야 합니다. 3. 모듈 정의module top_module ( input clk, input reset, // Synchronous reset output sh..
[HDLBits] Exams/review2015 shiftcount 1. 문제 및 설명이 문제는 복잡한 카운터를 만들기 위한 5단계 중 두번째 단계입니다. 2. 요구사항 A. 입력 비트 스트림에서 '1101'을 이라는 쉬퀀스를 찾는 유한 상태 머신을 설계하시오.시퀀스가 발견되면 start_shifting신호를 1로 설정하며, 리셋 되기 전까지 이 상태를 유지해야 합니다. 3. 모듈 정의module top_module ( input clk, input reset, // Synchronous reset input data, output start_shifting); 4. 답module top_module ( input clk, input reset, // Synchronous reset input d..
[HDLBits] Exams/review2015 shiftcount 1. 문제 및 설명이 문제는 복잡한 카운터를 만들기 위한 5단계 중 첫번째 단계입니다. 2. 요구사항 A. 4비트 시프트 레지스터이자 다운 카운터 역할을 하는 회로를 설계하시오.shift_ena가 1일 때, 데이터는 최상위 비트 부터 순서대로 시프트 됩니다.count_ena가 1일 때, 시프트 레지스터에 저장된 현재 값은 1씩 감소합니다.전체 시스템에서 shift_ena와 count_ena가 동시에 1이 되는 경우는 없습니다. 3. 모듈 정의module top_module ( input clk, input shift_ena, input count_ena, input data, output [3:0] q); 4. 답module top_module ( inp..
[HDLBits] Exams/review2015 count1k 1. 문제 및 설명0부터 999까지 카운트하는 주기 1000의 카운터를 구현하시오reset입력은 동기식이며, 카운터를 0으로 초기화해야 한다. 2. 모듈 정의module top_module ( input clk, input reset, output [9:0] q); 3. 답module top_module ( input clk, input reset, output [9:0] q); always@(posedge clk) begin if(reset) begin q
[RISC-V] Single Cycle CPU 직접 설계하고 구현하기 4편 - 최상위 결선 및 시뮬레이션 검증 지난 2, 3편을 통해 CPU의 브레인과 심장인 제어/연산 장치부터 데이터를 임시 저장하고 정밀 가공하는 주변 하위 모듈과 두 가지 메모리(Inst_Mem.v, Data_Mem.v)까지 독립적인 하드웨어 소스 코드를 모두 쪼개 보았습니다.https://idkihg.tistory.com/180 [RISC-V] Single Cycle CPU 직접 설계하고 구현하기 2편 - 핵심 연산 및 제어 회로 설계지난 포스팅에서는 RISC-V Single-Cycle CPU의 이론적인 데이터패스 구조와 전체를 통제하는 10가지 핵심 제어 신호(Control Signals)의 개념에 대해 알아보았습니다. 이번 포스팅부터는 실제 Verilog HDL 소스idkihg.tistory.com https://idkihg.tistor..