IT/Git, GitHub 2024. 5. 14.
git config 초기화
이미 설정이 지저분하게 많이 되어 있다. 초기화 하고 싶다면, Git 설정을 초기화하는 방법에는 여러 가지가 있습니다. 아래에서는 Git 설정을 전역적으로 또는 특정 리포지토리에서 초기화하는 방법을 설명하겠습니다.1. 전역 Git 설정 초기화전역 설정은 사용자 홈 디렉토리의 .gitconfig 파일에 저장됩니다. 이를 초기화하려면 해당 파일을 삭제하거나 내용을 초기 상태로 변경하면 됩니다.방법 1: .gitconfig 파일 삭제rm ~/.gitconfig이 방법은 전역 설정 파일을 완전히 삭제하므로 다시 설정해야 할 수도 있습니다.방법 2: .gitconfig 파일 초기화nano ~/.gitconfig파일을 열고 내용을 지우거나 초기 설정으로 변경합니다.2. 특정 리포지토리 설정 초기화특정 리포지토리의 ..
IT/Git, GitHub 2024. 5. 14.
Git Clone 에러 - fatal: fetch-pack: invalid index-pack output
fatal: fetch-pack: invalid index-pack output 에러는 일반적으로 Git 클라이언트가 원격 저장소에서 데이터를 가져오는 중에 문제가 발생했음을 나타냅니다. 이 에러는 다양한 원인으로 인해 발생할 수 있습니다. 다음은 몇 가지 가능한 원인과 해결 방법입니다. 참고로 나는 2번 저장소 크기 방법을 해결하는 것으로 해결 :)1. 네트워크 문제네트워크 연결 문제로 인해 데이터 전송이 중단되었을 수 있습니다.해결 방법:네트워크 연결을 확인하고 안정적인 인터넷 연결을 사용해 보세요.VPN을 사용 중이라면, VPN을 끄고 다시 시도해 보세요.2. 저장소 크기저장소가 매우 크거나, 많은 수의 파일이 포함된 경우에도 문제가 발생할 수 있습니다.해결 방법:저장소를 클론할 때 --depth ..
IT/Software 2024. 5. 14.
엑셀에서 특정 값인 셀 배경 자동으로 바꾸기
엑셀에서 특정 값인 셀 배경 자동으로 바꾸기 아래 그림을 보면 이해가 쏙엑셀에서 0인 셀의 배경색을 변경하는 방법은 다음과 같습니다:엑셀 열기 및 데이터 로드.배경색을 변경하고 싶은 셀 범위 선택.홈 탭으로 이동.조건부 서식을 클릭.새 규칙을 선택.새 서식 규칙 대화 상자에서 "수식을 사용하여 서식을 지정할 셀 결정"을 선택.수식을 사용하여 서식을 지정할 셀 결정 박스에 다음 수식을 입력: =A1=0 (선택한 범위가 A1 셀에서 시작한다고 가정).서식 버튼을 클릭하여 원하는 서식을 선택 (예: 채우기 색).확인을 클릭하여 서식 규칙을 적용.이 과정을 통해 선택한 범위 내에서 0을 포함한 모든 셀의 배경색이 변경됩니다.사용자가 제공한 데이터를 이용해 Python 코드를 통해 직접 서식을 적용하고 엑셀 파일..
IT/ASIC | FPGA 2024. 5. 13.
SVF file for Formality - Synopsys DC 생성파일
SVF ("Setup Verification for Formality")파일은 Synopsys의 Design Compiler에 의해 생성되며, Formality에서 사용됩니다. 이 파일을 생성하기 위해 Design Compiler의 dc_shell 프롬프트에서 set_svf "mydesign.svf" 또는 set_svf -append "mydesign.svf" 명령을 사용합니다. set_svf 명령이 지정되지 않으면 'default.svf' 파일이 자동으로 작성됩니다. SVF 파일은 디자인 컴파일러가 이름을 변환하거나 '비교 포인트'의 특성을 어떻게 변경했는지에 대한 정보를 담고 있으며, Formality에서는 이를 텍스트 파일로 변환하여 읽습니다. 파일 내에는 Formality를 위한 'guide'..
IT/ASIC | FPGA 2024. 5. 7.
SystemVerilog Array Slice - 배열 부분 자르기
예제로 아는게 최고다. 일단 기본은 아래와 같다. SystemVerilog Array Slice - Verification Guide+: NOTATIONbyte = data[j +: k];j -> bit start positionk -> Number of bits up from j’th positionbyte = data[0 +: 8]; 0 -> Starting point8 -> 8 elements up from 0 , so end point is 7.byte = data[7:0]; The above 32-bit data copying to byte array can be re-written with + notation as below. foreach(byte[i]) byte[i] = data[8*i..
IT/ASIC | FPGA 2024. 5. 3.
Verdi - fsdb 파일 나누어서 저장하기
Verdi 툴에서 $fsdbAutoSwitchDumpfile 명령을 사용하여 시뮬레이션 중 파일 크기 제한에 따라 자동으로 파일을 전환하는 방법을 설명드리겠습니다. 이 명령은 FSDB(빠른 신호 데이터베이스) 파일이 너무 크게 되는 것을 방지하여 성능과 관리 가능성을 향상시키는 데 도움이 됩니다.주요 기능:자동 파일 전환: FSDB 파일이 지정된 크기나 시간에 도달하면 자동으로 새로운 파일로 전환합니다. 이는 파일 크기가 너무 커져 처리가 어려워지는 것을 방지합니다.가상 FSDB 파일 생성: 모든 데이터 덤프가 완료되면, 가상 FSDB 파일(*.vf)이 자동으로 생성됩니다. 이 가상 파일은 생성된 모든 FSDB 파일을 올바른 순서로 나열합니다.효율적 데이터 로딩: 시뮬레이션 결과를 보기 위해서는 모든 F..
IT/ASIC | FPGA 2024. 5. 2.
AXI Burst 모드 사용시 프로토콜 길이 정보들 - AxSIZE, AxLEN
AXI(Avanced eXtensible Interface) 프로토콜에서 awsize는 각 전송 중에 전송되는 데이터의 크기를 지정합니다. awsize 값은 2의 거듭제곱 단위로 전송되는 바이트 수를 나타내는 3비트 바이너리 값입니다.awsize 값에 따른 데이터 크기는 다음과 같습니다:000 : 1 바이트001 : 2 바이트010 : 4 바이트011 : 8 바이트100 : 16 바이트101 : 32 바이트110 : 64 바이트111 : 128 바이트AXI에서 burst는 연속적인 메모리 위치로 데이터를 읽거나 쓰는 작업을 말합니다. awsize 값과 awlen (버스트 길이) 값을 설정하여 전체 데이터 양을 결정할 수 있습니다. awlen 값은 전송할 비트 수 - 1을 나타냅니다.예를 들어, 총 4번의..
IT/ASIC | FPGA 2024. 4. 30.
AXI 프로토콜 테스트 환경 설계 5 - 컴파일 환경 설정
주의!!! 코드는 아직 검증되기 전입니다. 전체적인 구조를 잡기 위해 올려두는 부분이니 그대로 활용이 불가합니다. VCS (Verilog Compiled Simulator)는 Synopsys에서 제공하는 고성능 시뮬레이션 도구입니다. VCS를 사용하여 SystemVerilog 코드를 컴파일하고 테스트하기 위해 필요한 환경 설정 파일과 명령 파일을 생성하는 과정은 다음과 같습니다.1. 환경 설정 파일 (vcs_setup.tcl)VCS에서 사용할 환경 설정을 위한 TCL 스크립트 파일을 만듭니다. 이 파일은 컴파일 옵션, 라이브러리 경로, 그리고 기타 필요한 설정을 포함할 수 있습니다.# 파일: vcs_setup.tclset VCS_HOME /path/to/vcs/installation# VCS 컴파일 옵..
IT/ASIC | FPGA 2024. 4. 30.
AXI 프로토콜 테스트 환경 설계 4 - 슬레이브 모듈
주의!!! 코드는 아직 검증되기 전입니다. 전체적인 구조를 잡기 위해 올려두는 부분이니 그대로 활용이 불가합니다. AXI 슬레이브 모듈을 설계할 때, 이 모듈은 마스터로부터의 쓰기 및 읽기 요청을 수용하고 처리할 수 있어야 합니다. 여기서는 쓰기 요청을 받아 메모리에 데이터를 저장하는 간단한 슬레이브 모듈을 구현해 보겠습니다. 슬레이브 모듈은 AXI 프로토콜의 응답 메커니즘을 활용하여 마스터에게 쓰기 완료 신호를 보내야 합니다.다음은 SystemVerilog를 사용한 AXI 슬레이브 모듈의 기본 구현입니다:슬레이브 모듈의 코드를 수정하여 리셋 시 모든 상태 및 신호를 초기화하고, 주요 동작 시점에서 $display 디버깅 메시지를 추가하겠습니다. 이는 동작을 명확히 추적하고 초기 상태에서 'X'값이 발생..
IT/ASIC | FPGA 2024. 4. 30.
AXI 프로토콜 테스트 환경 설계 3 - 마스터 설계
주의!!! 코드는 아직 검증되기 전입니다. 전체적인 구조를 잡기 위해 올려두는 부분이니 그대로 활용이 불가합니다. AXI 마스터 모듈을 설계할 때는 AXI 프로토콜을 준수해야 합니다. 이 예제에서는 마스터 모듈이 기본적인 쓰기 및 읽기 작업을 수행할 수 있도록 간단하게 구현해 보겠습니다. 이 마스터 모듈은 주소, 데이터, 그리고 컨트롤 신호를 슬레이브로 전송하고, 응답을 처리할 수 있어야 합니다.다음은 SystemVerilog를 사용한 AXI 마스터 모듈의 기본 구현입니다:AXI 마스터 모듈을 수정하여 리셋 시 모든 상태 및 신호를 초기화하고, 각 상태 변화시에 적절한 $display 디버깅 메시지를 추가하여 이벤트를 추적할 수 있도록 했습니다. 또한, 주석도 보강하여 코드의 가독성을 높였습니다.modu..
IT/ASIC | FPGA 2024. 4. 30.
AXI 프로토콜 테스트 환경 설계 2 - 테스트벤치 구성
주의!!! 코드는 아직 검증되기 전입니다. 전체적인 구조를 잡기 위해 올려두는 부분이니 그대로 활용이 불가합니다. 하드웨어 설계에서 '탑 다운(top-down)' 방식은 전체 시스템의 아키텍처와 주요 기능을 먼저 설계하고, 그 후에 점차적으로 세부 구성 요소로 들어가는 방법입니다. 반면, '바텀 업(bottom-up)' 방식은 가장 낮은 수준의 구성 요소들을 먼저 설계하고 이를 통합하여 상위 수준의 시스템을 구축하는 방식입니다.AXI 버스 트랜잭터를 설계할 때 '탑 다운' 접근 방식을 취한다면, 가장 먼저 전체 시스템의 테스트벤치를 설계하는 것으로 시작할 수 있습니다. 이 접근 방식의 장점은 전체 시스템의 요구 사항과 인터페이스를 먼저 파악할 수 있다는 것입니다. 이로 인해 시스템을 구성하는 각 모듈이..
IT/ASIC | FPGA 2024. 4. 30.
AXI 프로토콜 테스트 환경 설계 1 - 인터페이스 모델 정의
주의!!! 코드는 아직 검증되기 전입니다. 전체적인 구조를 잡기 위해 올려두는 부분이니 그대로 활용이 불가합니다. AXI (Advanced eXtensible Interface) 버스는 ARM이 설계한 고성능, 고대역폭의 시스템 온 칩(SoC) 버스 인터페이스입니다. AXI는 AMBA (Advanced Microcontroller Bus Architecture) 사양의 일부로서, 특히 대용량 데이터 처리와 복잡한 시스템 설계에 적합한 인터페이스를 제공합니다. 이제 AXI의 주요 구성 요소와 특징을 자세히 설명해 드리겠습니다.AXI 인터페이스 주요 특징성능: 다중 마스터 및 슬레이브 구성을 지원하여 고성능 멀티프로세서 시스템 설계에 적합합니다.확장성: 모듈식 설계를 통해 다양한 구성 요소와의 효과적인 통합..
IT/ASIC | FPGA 2024. 4. 22.
HDL 파일 리스트 텍스트 파일 만들기
디자인을 로딩할때 파일 리스트를 하나 만들어 두면 편하다. 여러 폴더로 막 나누어서 관리하면 리스트를 뽑아 내려고 계속 ls 해서 텍스트 추출해서 정리하고 쉽지 않다. 간단하게 *.v 파일을 찾아서 파일리스트 텍스트 파일로 만들어 주는 명령어 셋을 소개 find /path/to/top/directory -name "*.v" > filelist.f 결과는 아래처럼 이렇게 파일 목록이 filelist.f 로 저장된다. RTL/SYSREG/CL\_3.src.v RTL/SYSREG/CL\_3.v RTL/SYSREG/REG0.v RTL/SYSREG/REG1.v RTL/SYSREG/REG2.v RTL/SYSREG/REG3.v 혹시나 ls 에서 파일명만 뽑아 내고 싶다면, 명령어 출력에서 파일 이름만을 뽑아내기 위해..