IT/ASIC | FPGA 2024. 8. 9.
VCS delay zero 처리 - +delay_mode_zero +notimingcheck
여러 옵션을 주는 중에 Warning-[UNKWN_IGOPTS] Unknown option(s) ignored Unknown option(s) '+notimingcheck +notiming +nospecify ' passed to 'vlogan' command line is(are) ignored. Please make sure that there are no typos in the option(s) passed, or the options are only applicable to VCS at elaboration step. Also check 'vlogan -help' for supported options. Warning-[ENBL_OPTS] Enabling option(s) Enab..
IT/ASIC | FPGA 2024. 8. 7.
Verilog mode 간단한 사용법 - Emacs verilog mode
예, .el 파일에서는 verilog-library-flags 설정을 빼고, 대신 각 Verilog 파일의 Local Variables 섹션에서 설정할 수 있습니다. 이는 각 파일별로 필요한 설정을 적용할 수 있는 좋은 방법입니다.최종 설정 파일 및 스크립트.el 파일에서 verilog-library-flags 설정을 제거하고, 각 Verilog 파일에 Local Variables 섹션을 추가한 상태로 스크립트를 작성하겠습니다.my-verilog-settings.el;; my-verilog-settings.el;; Verilog mode 설정(require 'verilog-mode)(add-to-list 'auto-mode-alist '("\\.v\\'" . verilog-mode))(add-to-lis..
IT/Git, GitHub 2024. 8. 2.
Git 특정 커밋으로 돌아가기
Git에서 git reset 명령어를 사용한 후 변경 사항을 원격 저장소에 푸시하려면 다음 단계를 따르세요:변경 사항 리셋: 먼저, 작업 디렉토리를 특정 커밋으로 되돌리기 위해 git reset 명령어를 사용합니다. 여기서는 --hard 옵션을 사용하여 작업 디렉토리와 인덱스를 모두 업데이트합니다.git reset --hard 원격 브랜치 강제 푸시: 로컬 브랜치의 상태를 원격 저장소에 강제 푸시하여 원격 브랜치의 히스토리를 덮어씁니다. 이때 --force (또는 -f) 옵션을 사용합니다.git push origin --force여기서 는 리셋할 커밋의 해시 값이며, 은 리셋할 브랜치의 이름입니다.예시:특정 커밋으로 리셋:git reset --hard a1b2c3d4리셋된 커밋을 원격 저장소에 강제 푸..
IT/ASIC | FPGA 2024. 7. 19.
쉘 실행때 옵션에 따라서 다른 filelist 물고 실행하기
vcs, verdi 등등 툴을 실행할 때 옵션에 따라서 딱 파일리스트만 변경이 되는 경우 활용할 스크립트 입니다.#!/bin/csh# Usage: scriptname [-dft]# -dft: If this option is provided, use the dft_filelist.f file. Otherwise, use the non_dft_filelist.f file.# Set default valueset dft = "false"# Process optionsforeach arg ($argv) switch ($arg) case "-dft": set dft = "true" breaksw default: echo "U..
IT/리눅스 2024. 7. 12.
Vim - 파일 오픈 여러개 한 이후 화면 돌아가기
Vim에서 파일을 오픈한 후 이전 파일로 이동하는 방법은 다음과 같습니다:기본 방법: :e # 명령어 사용Vim에서 다른 파일을 열 때마다 현재 파일의 이름이 내부적으로 기록됩니다. 이 기록을 이용해 이전 파일로 이동할 수 있습니다.:e # 명령어를 입력하면 이전에 열었던 파일로 돌아갑니다.파일 탐색 기록을 활용하는 방법: :b 명령어 사용여러 파일을 열고 닫을 때, 파일 탐색 기록을 활용하여 쉽게 이전 파일로 이동할 수 있습니다.:ls 명령어를 입력하면 현재 열린 파일 버퍼 목록을 확인할 수 있습니다.:b N 명령어를 입력하여 버퍼 번호 N에 해당하는 파일로 이동할 수 있습니다.대체 파일로 이동: CTRL-^ 또는 CTRL-6 사용CTRL-^ (또는 CTRL-6) 단축키를 사용하면 마지막에 열었던 파일..
IT/Git, GitHub 2024. 7. 9.
Git 파일명에 의한 pull/checkout 오류 해결하기
윈도우즈 파일명으로 쓰지 못하는 문자열이 들어 있으면 git pull, git checkout 등등에서 아예 실패한다고 나온다. 먼가 스킵하고 싶은데 방법이 없나 찾아보니, 아래 명령을 미리 설정을 해두면, 해당 파일을 삭제하면서 동작은 완료 시켜준다. 물론 삭제된 것으로 변경사항이 발생하지만 commit 만 조심하자.git config core.protectNTFS falsehttps://velog.io/@ss-won/bugs-Git-%ED%8C%8C%EC%9D%BC%EB%AA%85%EC%97%90-%EC%9D%98%ED%95%9C-pullcheckout-%EC%98%A4%EB%A5%98error-invalid-path-file-path [bugs] Git 파일명에 의한 pull/checkout 오류 ..
IT/Git, GitHub 2024. 7. 4.
Git commit 메시지 작성 가이드
커밋 메시지 작성가이드를 우리 챗GPT를 통해 생성해 봤다. 쓸만한가?간결하면서도 실용적인 Git 커밋 메시지 가이드를 만들어보겠습니다. 이 가이드는 이해하기 쉽고, 일관성을 유지하면서도 실용성을 강조합니다.나만의 Git 커밋 메시지 가이드커밋 메시지 구조제목 (Summary)본문 (Body)이슈 참조 (References)1. 제목 (Summary)형식: : 예시: feat: 사용자 로그인 기능 추가규칙:50자 이내로 간결하게 작성합니다.첫 글자는 대문자로 작성합니다.명령형으로 작성합니다 (예: Add, Fix, Update).끝에 마침표를 쓰지 않습니다.사용 가능한 타입:feat: 새로운 기능 추가fix: 버그 수정docs: 문서 변경style: 코드 포맷 변경 (기능에 영향 없음)refactor: ..
IT/ASIC | FPGA 2024. 7. 1.
Verdi 옵션 - kdb,fsdb 물고 실행
The Unified Compiler Flow (UFE) uses VCS with the -kdb option and the generated simv.daidar will include the KDB information.Verdi supports the following use models to import design from simv.daidir related files:"verdi -dbdir simv.daidir""verdi -ssf novas.fsdb"vcs -kdb 옵션으로 KDB를 생성할 수 있다. "verdi -dbdir path/simv.daidir -ssf novas.fsdb"
IT/파이썬 2024. 6. 27.
@dataclass 데코레이터와 -> 연산자 소개
'@dataclass' 데코레이터와 '->' 연산자에 대해 중점적으로 설명하겠습니다.상세 설명'@dataclass' 데코레이터:'@dataclass'는 Python 3.7부터 도입된 기능으로, 데이터 클래스를 쉽게 만들 수 있게 해줍니다. 이 데코레이터를 사용하면 클래스의 'init', 'repr', 'eq' 등의 메서드를 자동으로 생성해줍니다. 주로 데이터를 저장하고 관리하는 용도로 사용됩니다.'->' 연산자:이는 함수 주석(function annotation)을 위한 구문입니다. 함수의 반환 타입을 명시하는 데 사용됩니다. 'load_config' 함수에서 '-> Config'는 이 함수가 'Config' 타입의 객체를 반환한다는 것을 나타냅니다.예제 코드코드의 각 부분을 자세히 살펴보겠습니다:@da..
IT/파이썬 2024. 6. 21.
argparse - add_argument 인자 설명
argparse 모듈의 add_argument 메서드는 다양한 옵션을 제공합니다. 이 중에서 metavar, type, nargs에 대해 설명하겠습니다.metavarmetavar는 argparse가 생성하는 도움말 메시지에서 인자의 이름을 지정하는 데 사용됩니다. 예를 들어, 인자의 실제 이름 대신 사용자에게 더 이해하기 쉬운 이름을 표시할 수 있습니다.예제import argparseparser = argparse.ArgumentParser(description="Example with metavar")parser.add_argument('-f', '--file', metavar='FILE', help='Input file')args = parser.parse_args()위의 예제에서 -f 또는 --fi..
IT/파이썬 2024. 6. 20.
폴더내 파일리스트를 만드는 스크립트 - 개발 유틸
개발 하다보면 파일리스트를 받아서 처리하도록 하는 스크립트들이 제법 있다. 이럴때 파일리스트를 만드는 것도 일이다. 간단하게 스크립트로 짜두면 편리할 듯 해서, 우리 GPT를 이용하여 열심히 만들어 봤다. https://github.com/bjnhur/make_filelist GitHub - bjnhur/make_filelist: This project provides a Python script to generate a list of files from a specified directory. TheThis project provides a Python script to generate a list of files from a specified directory. The script can filter..
IT/파이썬 2024. 6. 20.
예제 폴더에 들어가는 더미 파일 만들기 스크립트 - 파일명만 있으면
example1.tcl, example2.tcl, txt_example1.txt와 같은 더미 파일을 생성하고, 이 파일들을 압축하여 다운로드할 수 있도록 하겠습니다.더미 파일 생성 및 압축import osimport zipfile# Directory and file namesdirectory = 'example_directory'files = ['example1.tcl', 'example2.tcl', 'txt_example1.txt']# Create the directory if it doesn't existif not os.path.exists(directory): os.makedirs(directory)# Create dummy filesfor file in files: with open(..
IT/ASIC | FPGA 2024. 6. 19.
tcl 멀티라인 지원 - 작성 내용이 너무 길어서 엔터치고 싶다!
Tcl(툴 커맨드 언어)에서 멀티라인 지원을 위해 몇 가지 방법이 있습니다. 주로 사용되는 방법은 백슬래시(\)를 사용하여 줄바꿈을 이스케이프하거나, 중괄호({})를 사용하여 여러 줄을 묶는 방법입니다. 참고로 여러가지 파일 처리 자동화를 위해 반대로 멀티라인을 제거하는 프로젝트는 생성해서 업데이트 중입니다. 전처리가 필요하면 참고하세요.https://github.com/bjnhur/tcl_line_processor GitHub - bjnhur/tcl_line_processor: This project provides a Python script to preprocess TCL files by handling multiline commandsThis project provides a Python scri..