전체 글(43)
-
[Verilog/SystemVerilog] SystemVerilog Fork-Join: 프로세스와 스레드의 동시 실행
SystemVerilog에서 fork와 join은 여러 개의 병렬 프로세스를 제어하는데 사용되는 중요한 키워드입니다. 이를 이해하기 위해서는 먼저 프로세스와 스레드에 대한 개념을 짚어볼 필요가 있습니다.프로세스 (Process)실행 중인 프로그램 자체를 의미합니다. 하나의 독립된 작업 단위로, 프로그램의 실행 흐름을 담당합니다.스레드 (Thread)프로세스 내에서 실행되는 작업의 흐름을 뜻하며, 하나의 프로세스 안에 여러 스레드가 존재할 수 있습니다.fork와 join의 기본 개념1. Forkfork는 병렬로 여러 프로세스를 동시에 실행시키는 키워드입니다. fork 블록 내의 모든 문장은 동일한 시점에 병렬적으로 시작됩니다.2. Joinfork로 생성된 병렬 프로세스들이 종료될 때까지 기다리는 키워드입니..
2024.10.20 -
[Linux] 자주 사용하는 터미널 명령어 정리 - 디렉토리 이동, 삭제, 생성, 파일 비교, 경로 출력..
자주 사용하는 터미널 명령어 정리개발 및 시스템 관리 작업을 하다 보면 터미널 명령어를 자주 사용하게 됩니다. 그중에서도 파일 관리, 디렉토리 이동, 시스템 정보 조회와 관련된 명령어들을 자주 사용하게 되는데, 이러한 기본적인 터미널 명령어들을 정리했습니다. 필요할 때 쉽게 참고해보세요!1. 디렉토리 위치 이동 (Change Directory)디렉토리 간 이동을 위해 사용하는 명령어cd 폴더명: 해당 폴더로 이동 (현재 경로에 존재할 때)cd /path~../폴더명: 경로를 명시해 해당 폴더로 이동cd ..: 상위 디렉토리로 이동cd ../..: 두 번의 상위 디렉토리로 이동cd ~: 홈 디렉토리로 이동2. 목록 보기 (List Segments)디렉토리 내 파일 및 폴더 목록을 확인할 때 사용ls: 현재..
2024.10.02 -
[git] git 사용법 | 자주사용하는 git 커맨드
자주 사용하는 Git 커맨드Git은 개발자들이 프로젝트의 변경 사항을 관리하는 데 도움을 주는 강력한 버전 관리 시스템이다. 작업 흐름을 개선하고 코드를 효율적으로 관리하는 데 유용한 Git 커맨드를 정리했다.새로운 저장소 초기화새로운 Git 저장소를 만들려면 다음 명령어로 새로운 디렉터리를 초기화합니다. 이 명령어는 버전 관리를 위한 필요한 파일을 포함하는 .git 하위 디렉터리를 생성합니다.> git init변경 사항 확인작업 디렉터리와 스테이징 영역의 차이를 확인하려면 다음 명령어를 사용합니다.> git diff파일 상태 보기현재 작업 디렉터리와 스테이징 영역의 상태(스테이지된 파일, 언스테이지된 파일, 추적되지 않은 파일 등)를 요약해서 보려면 다음 명령어를 실행합니다.> git status파일을..
2024.10.01 -
[Perl] 펄 기본 문법 | 기본 문법 (주석, 메시지 출력), 변수, 서브루틴, 파일 입출력
Perl 설치 및 실행:Perl은 대부분의 UNIX/Linux 시스템에 기본적으로 설치되어 있으며, Windows에서도 다운로드하여 설치 가능하다.프로그램을 실행하려면, 터미널에서 > perl your_script.pl 명령어를 사용 기본 문법:주석: #으로 시작하는 줄은 주석 처리# 문자열 출력: print 함수를 사용하여 콘솔에 출력print "Hello, World!\n"; 변수Perl: 변수의 타입을 명시할 필요가 없다. Perl은 동적 타입 언어로 변수가 자동으로 그에 맞는 타입으로 해석된다.스칼라 변수($)$로 시작하며 스칼라 값을 저장합니다. 예를 들어, $name = "John";배열(@)@로 시작하며 여러 값을 순서대로 저장합니다. 예를 들어, @numbers = (1, 2, 3, 4..
2024.09.07 -
데이터 타입(Data Type)과 서식 지정자(Format sepcifier) | 자료형 정리(정수형, 실수형, 문자형) | % 출력 방법
기본형void 문자형 (참(True) 또는 거짓(False))(signed) char - 1byteunsigned char - 1byte 정수형 (3, -5, ...)bool - 2byte(signed) short - 2byteunsigned short - 2byte(signed) int - 4byteunsigned int - 4byte(signed) long - 4byteunsigned long - 4bytelong long - 8byte 실수형 (3.14, 4.7777... )float - 4bytedouble - 8bytelong double - 8byte 서식 지정자%o: 정수를 8진수(octal)로 출력합니다.예: "%o" % 8 -> "10"%s : 문자열 출력%d, %i : 부호있는 10..
2024.08.20 -
[Operator] 모든 연산자 정리 | 논리연산자(logical), 비트연산자(bit-wise), 산술연산자(arithmetic), 삼항연산자(ternary) | 비교연산자(comparison), 대입연산자, 복합대입연산자
산술 연산자(arithmetic operator)산술 연산자는 우리가 잘 알고 있는 사칙 연산 그대로이다. 다만, 산술 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽임을 주의해야 한다. + : 왼쪽의 피연산자에 오른쪽의 피연산자를 더함- : 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺌* : 왼쪽의 피연산자에 오른쪽의 피연산자를 곱함/ : 왼쪽의 피연산자를 오른쪽의 피연산자로 나눔% : 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후 그 나머지를 반환** : 왼쪽의 피연산자 값에 오른쪽 피연산자 값을 제곱 논리 연산자(logical operator) 논리 연산자는 논리식을 판단하여, 참(true)과 거짓(false)을 반환한다.and, && : 논리식이 모..
2024.08.16 -
[C언어] EOF (End of File) 란? | 파일 입출력의 모든 함수 정리 - 파일 쓰기 및 읽기 모드 (fopen, fclose, fprintf, fscanf, feof)
파일 열고 닫기fopenFILE *fopen(const char *filename, const char *mode);파일을 열고, 파일 포인터를 반환.파일 열기 모드 :"r" : 읽기 모드 (파일이 존재해야 함)"w" : 쓰기 모드 (파일이 없으면 생성, 있으면 내용 삭제)"a" : 추가 모드 (파일이 없으면 생성, 있으면 내용에 추가)"r+" : 읽기/쓰기 모드 (파일이 존재해야 함)"w+" : 읽기/쓰기 모드 (파일이 없으면 생성, 있으면 내용 삭제)"a+" : 읽기/추가 모드 (파일이 없으면 생성, 있으면 내용에 추가)fcloseint fclose(FILE *stream);파일을 닫음. 성공 시 0, 실패 시 EOF를 반환. 파일에 쓰기fprintf : 지정된 형식에 따라 파일에 데이터를 작성.f..
2024.08.11 -
[Verilog/SystemVerilog] 베릴로그와 시스템베릴로그의 차이(2) | 모듈 포트 vs 인터페이스 : 특징과 예시
베릴로그와 시스템베릴로그의 차이에 대한 이전 편2024.05.11 - [컴퓨터언어/(System)Verilog 시스템 베릴로그] - [Verilog/SystemVerilog] 베릴로그와 시스템베릴로그의 차이(1) | 문자 값 할당 | 데이터 타입, 오브젝트 타입 [Verilog/SystemVerilog] 베릴로그와 시스템베릴로그의 차이(1) | 문자 값 할당 | 데이터 타입, 오브젝트문자값 할당Verilog 언어는 Vector에 모두 0, X, Z를 넣는 것이 쉽다.parameter SIZE = 64;reg [SIZE -1 :0] data;data = 0; // 모든 비트를 0으로 채움data = 'bz; // 모든 비트를 Z로 채움data = 'bx; // 모든 비트를 X로 채움wolleyneerg.t..
2024.08.11