본문 바로가기
반응형

개발 Tools92

HDL의 특징 ( 병렬성, 종류, 컴파일, 장점, tri-state, pull-up, pull-down) HDL = Hardware Description Language HDL의 종류에는 verilog, VHDL 두 가지가 있다 프로그래밍 언어가 아니라는 것을 인지해야 한다. HDL을 설계할 때는, 회로를 염두해 두고 작성해야 한다. 프로그래밍적 사고로 접근하면 어렵다. 프로그래밍과 가장 큰 차이는 순차적 실행이 아니라 병렬적 실행이라는 것이다. z[3] simulation -> 합성 (synthesis) -> Hardware 컴파일 과정중에 합성을 좀 더 보면 합성 ( synthesis )이란, - RTL 수준의 HDL 코드를 게이트 수준으로 변환하는 과정이다. 이때 제한 조건 ( Constrain )과 Target library의 조건을 고려하여 합성한다 제한 조건 - 목표하는 스펙이다. 예를 들어, 동.. 2022. 2. 8.
C 개념 1부터 n까지 합 구하기 여러 방법이 있지만 for 반복문을 사용하여 구현 가능하다 #include int main() { int i, n, sum = 0; printf("1부터 n까지의 합을 구하기 위해 n을 입력하세요 "); scanf_s("%d", &i); for (n = 1; i >= n; n++) { sum += n; } printf("%d", sum); } 출력 1부터 n까지의 합을 구하기 위해 n을 입력하세요 5 15 2022. 1. 12.
C 개념 조건 연산자 ( ? : ) 3개의 피연산자를 갖는 3항 연산자가 있는데 바로 "? :"입니다. 이 연산자를 조건 연산자라고 합니다. 꼴은 간단합니다. 식1 ? 식 2 : 식 3 이때, 만약 식 1이 참이라면 식 2가 실행되고 거짓이라면 식 3이 실행됩니다. 예를 들어보겠습니다. int a = 1; int b = 4; a > b ? printf("a > b") : printf("b > a"); 출력 b > a 이와 같이 b가 a보다 더 크기 때문에 식 1의 조건이 거짓으로 되고, 식 3이 실행된 것입니다. 2022. 1. 12.
C 개념 최댓값 구하기 ( max ) 최댓값을 구하는 코드를 보면 굉장히 간단하다. 값을 입력받고, max 함수를 만들어서 비교 연산자를 사용하여 최댓값을 리턴해 주면 된다 #include int max(int a, int b, int c) { int max = a; if (b > max) max = b; if (c > max) max = c; return max; } int main() { int a, b, c; printf("3개의 값을 입력하세요: "); scanf_s("%d %d %d", &a, &b, &c); printf("max(%d, %d, %d) = %d", a, b, c, max(a, b, c)); } 출력 3개의 값을 입력하세요: 2 4 5 max(2, 4, 5) = 5 2022. 1. 12.
C 자료구조 문자열 ( strcpy, strlen, strcat, strcmp, strdup ) 문자열 c언어에서 문자열은 배열을 만들어서 저장한다. 배열의 칸 하나에 한 글자씩 저장한다. 이때 주의해야 할 점은 만약 내가 'hello'를 저장하고 싶다면 5글자지만 6칸의 배열을 만들어야 한다. 왜냐면 문자열이 끝났다는 NULL(\0) 문자를 넣어줘야 한다. 선언하는 방법은 2가지 정도가 있는데 차이점이 있다. char str[10]; str[0] = 'h'; str[1] = 'e'; str[2] = 'l'; str[3] = 'l'; str[4] = 'o'; str[5] = '\0'; 또는 char str[] = "hello"; 또는 char *str = "hello"; 출력법 printf("%s", str); 중요한 것은 ""이다. 첫 번째 선언 방법에서 \0가 없다면 hello 뒤에 이상한 문자.. 2022. 1. 10.