__________

Designing the Future with Circuits

반도체 회로설계 취준기
반응형

분류 전체보기 99

하만(Harman) 세미콘 아카데미 17일차 - SW 구조설계(주방 타이머 설계 이어서)

[2024.03.29.금] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계실습 1: 주방 타이머 설계1. 처음 실행 시 시간을 설정하기 위해 화면이 깜빡이는 코드 작성case 0://처음 시간 설정 모드 switch(settimeth){ case 0: timeup = 0; timedown = 0; complete = 0; while(1){ time = timeup - timedown; if(timeup == 0){ display_character(settimeth, 1); _delay_ms(500); display_character(settimeth, 0); _delay_ms(500); } if ( time >= 0 & timeup != 0 ){ display_digit(setti..

하만(Harman) 세미콘 아카데미 16일차 - SW 구조설계(8비트 타이머/카운터, 16비트 타이머/카운터, 주방 타이머 설계 실습)

[2024.03.28.목] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계8비트 타이머 / 카운터1. 타이커/카운터 인터럽트 현재까지의 펄스 수: TCNTn레지스터에 저장 오버플로 인터럽트 최대로 셀 수 있는 펄스 이상이 되면 TCNTn레지스터가 0으로 바뀌며 발생 비교일치 인터럽트 TCNTn의 값이 미리 설정된 OCRn레지스터값과 일치하면 발생 2. TCCR0 레지스터: 분주비 설정CLK 주파수: 16,000,000HzTCNT는 최대 256, TCCR은 16 -> 256*26 = 4096 (≒4K)TCCR이 64면 16K -> 16KHz가 ATmega의 최대 주파수따라서 분주비를 64로 설정 3. TIMSK 레지스터: 인터럽트 활성화EIMSK: External Input Mask..

하만(Harman) 세미콘 아카데미 15일차 - SW 구조설계(Pullup 저항, ATmega128 인터럽트, 스탑워치 설계)

[2024.03.27.수] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계복습1. 풀업 저항플로팅 상태를 없애기 위해 설치하는 저항다음과 같은 구조로 설치 2. 프로그램의 실행순서: Start - Function(함수 실행) - End [선형 구조] 인터럽트(Interrupt)함수 실행 시 정해진 시점에 진행이 아닌, 임의의 시점에 진행하는 것1. 폴링 vs 인터럽트 폴링 코드 나열 순서에 의해 실행 결정 모든 코드는 동일한 실행 우선순위 코드 A에 의해 코드 B 실행에 지연 발생 가능 정해진 순서에 따라 실행되므로 하드웨어의 지원이 불필요 코드 작성 & 이해 용이 인터럽트 우선 순위에 따라 실행 순서 결정 인터럽트에 따라 서로 다른 우선순위 우선 순위가 낮은 코드 A에 의해 우선..

하만(Harman) 세미콘 아카데미 14일차 - Verilog HDL 설계(Verilog 문법, Verilog if-else, case, comparator 구현)

[2024.03.26.화] 인천인력개발원 하만 세미콘 아카데미 Verilog를 이용한 RTL 시스템 반도체 설계 Continuous Assignment Dataflow: 부울 연산과 연산자를 이용한 모델 동작적 / 절차적 모델링: 모델 설계 알고리즘 1. Data Flow 코드와 구조 예시 D Flip-Flop module dff (input d, clk, rst, output reg q); always @ (posedge clk) if(rst) q

하만(Harman) 세미콘 아카데미 13일차 - Verilog HDL 설계(Verilog의 버스, 배열, 모듈, 포트, Half Adder를 이용한 Full Adder 설계)

[2024.03.25.월] 인천인력개발원 하만 세미콘 아카데미 Verilog를 이용한 RTL 시스템 반도체 설계 Verilog의 버스 & 배열 1. Verilog 버스 버스: 비트의 모음 모든 wire나 reg 데이터 타입은 버스로 표현 가능 reg 버스: reg 비트의 모음 wire 버스: wire 비트의 모음 - 예시: 버스를 선언할 때 상수나 변수 사용 가능 module cntr64 (input...); `define data_msb 63 wire [`data_msb:0] data_bus;​ 비트 선택: 벡터나 배열 내의 개별 비트 표시 선언 예시 wire [31:0] data_bus; wire [0:7] h_byte; reg [15:0] control; int i, j; assign h_byte[..

Chap 03_1. 부울 상수 / 부울 변수 / 진리표 / 논리게이트(AND, OR, NOT)

1. 부울 상수 & 변수(Boolean Constants and Variables) 부울 대수에서는 0과 1의 두 값만 사용 Logic 0 = False, Off, Low, No, Open switch Logic 1 = True, On, High, Yes, Closed switchㄷ 논리연산: OR, AND, NOT 2. 진리표(Truth Table) 논리회로에서 입력(Input)과 출력(Output)의 관계를 나타내는 표 결과값은 2의 입력 수 제곱만큼 발생 - 입력이 2개면 2의 제곱인 4가지의 결과값 생성 - 입력이 4개면 2의 4제곱인 16가지의 결과값 생성 3. OR 게이트를 이용한 OR 연산 OR 연산의 부울 표현: X = A + B "X equals A OR B" 입력이 2개인 OR 연산의 ..

Chap 02. 진수 변환 / BCD 코드 / Gray 코드

1. 2진수 - 10진수 변환 2진수 -> 10진수 변환 : 오른쪽부터 2^0, 2^1, 2^2, ... 순으로 각 자릿수의 숫자와 곱하여 변환 예시) - 1 0011(2)인 이진수 -> 2^4 * 1 + 2^3 * 0 + 2^2 * 0 + 2^1 * 1 + 2^0 * 1 = 16 + 2 + 1 = 19(10) - 1011 0101(2) -> 2^7 + 2^5 + 2^4 + 2^2 + 2^0 = 128 + 32 + 16+ 4 + 1 = 181(10) 10진수 -> 2진수 변환: 10진수를 2로 나누며 나머지를 구하여 2진수로 변환 2. 16진수: 2진수의 4비트씩 묶어 0~9, A(10)~F(15)의 16자리로 표현 [16진수, 10진수, 2진수의 관계] 16진수 -> 10진수 변환: 2진수 -> 10진..

Chap 01. 기초 개념

1. 디지털 신호(Digital Signals) 디지털 신호의 종류 하강 Edge(=Falling edge, Negative edge): 1 -> 0으로 천이(transition)되는 신호 상승 Edge(=Rising edge, Positive edge): 0 -> 1으로 천이(transition)되는 신호 이벤트(Event): 0과 1 두 개의 상태를 갖는 시스템에서 High -> Low 또는 Low -> High로 천이되는 것 트리거(Trigger): 특정 상태에서 응답하는 회로 레벨 트리거(Level Trigger): High 또는 Low의 특정 레벨에서 응답(천이, transition)하는 회로 에지 트리거(Edge Trigger): 상승 Edge 또는 하강 Edge에 응답하는 회로 2. 수치 표..

하만(Harman) 세미콘 아카데미 12일차 - SW 구조설계( 7세그먼트 - 16진수 출력, 스톱워치 구현)

[2024.03.22.금] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계실습 1: 7세그먼트로 0~F까지 16진수로 표시 코드 수정 #define F_CPU 16000000L//Board CLK 정보(16MHz) #include #include int main(void) { uint8_t digit[] = { 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x27, 0x7F, 0x67, 0x77, 0x7c, 0x58, 0x5e, 0x79, 0x71 }; int i, j; DDRD = 0xFF;//세그먼트 제어 핀 8개를 출력으로 설정 DDRC = 0x0F;//자릿수 선택 핀 4개를 출력으로 설정 while (1)//한 번의 while loop 내에서 ..

하만(Harman) 세미콘 아카데미 11일차 - SW 구조설계( 데이터 입출력, 버튼 LED 점멸, 7세그먼트 출력 )

[2024.03.21.목] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계디지털 데이터 입출력1. 디지털 데이터 출력 PORT 레지스터 (출력 레지스터) 포트: 8개의 핀을 하나로 묶어 관리하는 것 PORTA, PRTAB, ... PORTG까지의 레지스터 PORTA~PORTF에는 0~7까지 8개의 비트가 존재 - 비트 표현: PORTA1, PORTA2, ... PORTXn으료 표시 가능(X는 포트 종류, n은 비트) PORTG에는 5개의 비트만 존재하므로 상위 3개의 비트 사용 불가 특정 비트를 1로 설정 시: 1 해당 포트 중 입력으로 사용하는 비트만 0으로 설정 필요 특정 비트만 입력상태 0으로 만들기 위해 해당 부분만 1, 나머지는 0인 비트에서 bitNOT과 AND를 통해 ..

728x90
반응형