241206 cpu 설계 기초 2
·
하만 세미콘 아카데미 8기/verilog 설계
🛠️ 0 ~ 10 까지 더하는 system 설계하기 어제의 counter를 응용시켜 0부터 10까지의 수를 차례대로 더하는 시스템을 설계해보자. fnd에 결과로 55가 출력되어야 한다.  1. c언어 adder system을 c언어로 간략하게 동작부분만 나타낼 때 아래와 같이 나타낼 수 있다. i = 0; sum = 0; while (i   2. datapath diagram adder와 register의 경우 tr이 많이 필요하므로 가격 절감을 위해 adder를 한개만 사용해 설계하고 싶다. adder를 하나만 사용하는데, 이때 i = i + 1 과 sum = sum + i를 수행하는 두가지 경우 모두를 위해 mux가 하나 더 사용된다.  3. control unit - asm chart  4. co..
241205 cpu 설계 기초
·
하만 세미콘 아카데미 8기/verilog 설계
💡 CPU 1. cpu 종류 CISC (Complex Intstruction Set Computer)micro processor에게 명령을 내리는데 필요한 모든 명령어 셋을 갖추고 있는 processor복잡하고 기능이 많은 명령어로 구성RISC (Reduced Instruction Set Computer) → cisc에 비해 instruction set이 적다 → 명령어가 간략화, 단순화된 형태cisc 내부의 20%에 해당하는 명령어들만이 전체 80%이상의 일을 처리한다.cisc의 복잡한 명령어를 적은 개수의 명령어로 구현하다 보니 clk이 많이 필요하기는 하다.ex) cisc에서 하나의 명령어를 risc에서는 3개, 등의 명령어로 여러 번 나누어 구현하게 됨2. cpu 구조 폰노이만 구조- 범용 pc..
241106 - verilog 기초 3 (+Counter)
·
하만 세미콘 아카데미 8기/verilog 설계
☑️ 8bit adder / fnd 출력  Block diagram 4bit adder, fnd 출력 시스템에서 adder만 8bit adder로 바꾸어주면 된다. 8bit adder의 경우 4bit adder 두개로 구성된다. adder.v `timescale 1ns / 10ps// top module - calculator module calculator( input wire i_cal_clk, input wire i_cal_reset, input wire [7:0] i_cal_a, input wire [7:0] i_cal_b, output [3:0] cal_fndCom_o, output [7:0] cal_fndFont_o); wire [7:0] w_sum; ..
241104 verilog 기초 1 (+gate, adder)
·
하만 세미콘 아카데미 8기/verilog 설계
HDL 기반 시스템 반도체 설계 과정  verilog compile 과정  verilog code (sw) -> (1) synthesis -> H/W circuit -> fpga implementation -> bitstream (fpga 등 h/w 회로 파일, xxx.bit) -> synthesis 과정에서 net list가 생성됨 * net list : 정렬되지 않은 형태의 H/W 정보 (1) synthesis : verilog 코드를 design compiler를 이용해 gate-level netlist로 변환하는 과정 (2) implementation : gate, tr 상태에서의 회로 배치  gategates.v - verilog code and / nand / or / nor / xor / x..
241105 verilog 기초 2 (+fnd controller)
·
하만 세미콘 아카데미 8기/verilog 설계
🚩 추상화 (Abstract) ↔ 구체화 - 추상화 : 해당 기능에서 필요한 것만 보여주는 형태   FNDgpio port 위 회로도를 봤을때 fnd가 bjt(AN n)에 의해  w4, v4, u4, u2 pin에 의해 제어되고, 이때 pin에 low 신호 (0)을 주어야 해당 fnd가 선택됨을 알 수 있다 (자세한 것은 push-pull/open-drain 포스팅 참고)  이 FND를 제어할 수 있는 시스템을 설계해보자 Block Diagram   🚩 always@() begin ~ end 항상 () 내부의 port를 감시하겠다 -> ()내부 port의 값이 변화할 때 아래 내용을 실행한다. - () 내부 port : 감시대상 (sensitivity list) - () 안에 *가 들어가면 input..
stm32f10x GPIO I/O PORT 정리 (+ push-pull/open-drain)
·
하만 세미콘 아카데미 8기/stm32기반 ARM architecture
GPIO Functional Description (stm32f103 reference manual p.155) 아래 사진과 같이 gpio 포트를 사용시 general purpose output과 alternate function output, input의 모드에 따라 비트를 설정해 push - pull / opne - drain 방식을 사용하는 것을 알 수 있다.   push-pull / open-drain(collector) 방식 비교 위 회로도의 하늘색 표시된 부분을 봤을때 두개의 mosfet으로 구성되어 있고, 이 두개의 mosfet을 이용해 push-pull / open-drain 방식을 지정하게 된다. 먼저 개별 트랜지스터의 동작에 대해 설명하겠다. (* bjt와 mosfet의 동작은 유사하므..
SPI (serial peripheral interface) 통신
·
하만 세미콘 아카데미 8기/stm32기반 ARM architecture
spi (serial peripheral interface) 통신 직렬 동기 (synchronous) 방식 -> 1:N (일대다수) 통신 방식, N개만큼의 line이 필요동시에 송수신 가능 push - pull 방식을 사용함으로써 master와 slave 간 상호 같은 전압을 사용함 → 시그널 정합성과 고속 통신을 지원 - master : 1개, 통신의 시작을 제어, clk 신호를 제공 - slave : 주변장치, 1개 이상  신호의 기능 clk : 데이터에 동기되어 전돨되는 clock 신호, master에서 생성MOSI (master out slave in) : clk에 따라 master가 전달하는 dataMISO (master in slave out) : clk에 따라 slave가 전달하는 데이터 C..
atmega128a - simple traffic system_v2 (+driver)
·
하만 세미콘 아카데미 8기/임베디드 시스템을 위한 sw 구조설계
기존 simple traffic system 과의 차이점 - button & led 드라이버로 분리 - ap 라는 동작 모듈 분리 -> main.c에서 동작 함수만을 불러와서 사용하도록 수정  1. main.c #define F_CPU 16000000UL#include #include #include "driver/led/led.h"#include "driver/button/button.h"#include "driver/ap/trafficSignal.h"int main(void){ trafficSignal_init(); while (1) { trafficSignal_RUN(); }} - trafficSignal_init() : port 할당 및 초기화  - trafficSignal_RUN() : ..
atmega128a - led machine (+ driver)
·
하만 세미콘 아카데미 8기/임베디드 시스템을 위한 sw 구조설계
전체 8개의 led 有 sw0 누르면 두개씩 누적되어 켜진다 (ex. 2개, 4개, 6개, 8개) sw1 누르면 켜져있는 led 모두 꺼진다  1. main.c #define F_CPU 16000000UL#include #include #include "driver/button/button.h"#include "driver/led/led.h"#include "driver/ap/ledMachine/ledMachine.h"int main(void){ ledMachine_init(); while (1) { ledMachine_RUN(); }} 2. driver  1) button    - button.h#ifndef BUTTON_H_#define BUTTON_H_#define F_CPU 160..
atmega128a - simple traffic system
·
하만 세미콘 아카데미 8기/임베디드 시스템을 위한 sw 구조설계
간단한 신호등 제어 시스템 설계를 해보자  1. 동작  - AUTO MODE (button 0) 1) vertical_red & horizontal_green 2) vertical_red & horizontal_yellow  3) vertical_green & horizontal_green 4) vertical_yellow & horizontal_green 의 순서로 동작  - MANUAL MODE (button 1, button 2)button 1 누르면 manual mode로 진입(현재 상태 그대로 stop), 그 후 button 2를 누르면 auto모드의 순서대로 다음 순서로 넘어감 2. FSM  3. code #include F_CPU 16000000UL#include #include enum {..
ra_mi
'분류 전체보기' 카테고리의 글 목록