HDLBits - Vectorgates
·
HDLBits/Verilog
Build a circuit that has two 3-bit inputs that computesthe bitwise-OR of the two vectors,the logical-OR of the two vectors,the inverse (NOT) of both vectors.Place the inverse of b in the upper half of out_not (i.e., bits [5:3]), and the inverse of a in the lower half.적힌대로 2개의 3-bit입력을 output으로 만드는 문제Bitwise와 Logical Operators의 차이점은단순 비트 연산과, 논리 연산 이라는 것에 차이가 있다.module top_module( input [2:0]..
Verible - 설치 및 사용법
·
Hardware/ETC.
Verible?SystemVerilog 코드의 스타일 점검, 포매팅, 파싱, linting 및 기타 개발 워크플로를 지원하는 오픈소스 도구 모음주로 Chips Alliance에서 개발SystemVerilog 코드를 효율적으로 다루기 위한 도구를 제공기능코드 포매터 (Code Formatter)SystemVerilog 코드를 스타일 규칙에 맞게 자동으로 포맷합니다.일관된 코딩 스타일을 유지하고 코드 가독성을 높이기 위한 도구입니다.Linting (스타일 체크 및 분석)SystemVerilog 코드의 스타일 및 잠재적 문제를 감지합니다.팀 또는 프로젝트에서 정의한 코딩 규칙에 따라 규칙 기반 점검을 수행합니다.구문 파싱 및 AST 생성SystemVerilog 코드의 Abstract Syntax Tree (A..
HDLBits-Vector2
·
HDLBits/Verilog
이제는 Vector의 그냥 활용이 문제로 나오는듯? 하다A 32-bit vector can be viewed as containing 4 bytes (bits [31:24], [23:16], etc.).Build a circuit that will reverse the byte ordering of the 4-byte word.32-bit Vector는 4 bytes를 포함한다. byte는 8bit니까.. AaaaaaaaBbbbbbbbCcccccccDddddddd => DdddddddCcccccccBbbbbbbbAaaaaaaa이걸 이렇게 만들라는 문제다.8bit 단위로 떼서 옮기면 될 것 같다.물론 바로 in에서 out으로 assign하면 되지만이렇게 하면 좀더 가독성이 좋고 나중에 기억하거나 수정할때 ..
HDLBits - Vector1
·
HDLBits/Verilog
Vector 선언type [upper:lower] vector_name;Implict Nets - 암시적 Nets 방지하기`default_nettype nonePacked Arrayreg 타입 256-bit mem 변수를 총 8개 선언한 것reg [7:0] mem [255:0]Vector assignwire [7:0] w;와 output [3:0] a가 있을때assign w = a;를 하면 8-bit w wire에 4-bit a가 할당된다고 보면된다.bit수가 다를때 빈자리는 0으로 채워지고 모자란다면 잘려진다.설명은 여기서 끝이고이제 문제를 보자Build a combinational circuit that splits an input half-word (16 bits, [15:0] ) into lowe..
Verilator 설치
·
Hardware/ETC.
이전에 갑자기 WSL을 설치한 이유 -> Verilator를 쓰기 위해Verilator란?SystemVerilog 컴파일러 라고 한다설치방법필요 프로그램 설치sudo apt-get install help2mansudo apt-get install git make autoconf g++ flex bisonsudo apt-get install libfl2 sudo apt-get install libfl-devVerilator 레포지토리 Clonegit clone https://git.veripool.org/git/verilatorVersion 선택 -> 별 생각없이 선택한 Ubuntu 24.04에서는 5.020을 지원한다는 정보를 나중에 발견...https://repology.org/project/veri..
Windows 11 - WSL 설치 및 세팅
·
Hardware/ETC.
Windows Terminal 사용Windows Store에 가면 Terminal이 따로 있는데 기능이 추가된 버전이니 사용해보자WSL 설치Powershell에서 실행실행 후 재부팅wsl.exe --install원하는 배포판 확인wsl.exe --list --online설치wsl.exe --install -d Ubuntu-24.04이름, 패스워드 등 설정 후패키지 미러 주소 변경sudo sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list.d/ubuntu.sources패키지 업데이트 + 업그레이드 + 자동제거sudo apt update && sudo apt -y upgrade && sudo apt -y autoremoveZSH 설치..
HDLBits - Vectors
·
HDLBits/Verilog
Vector의 사용법에 대해 알아보는 문제input [2:0] vec이 있을때,각각의 vector를 하나씩 output으로 선언할 수도 있고,통째로 원하는 만큼 선언도 가능하다.쉽게 보면 C언어의 배열? 같은 느낌인데Wire를 묶어서 생각하면 된다고 나는 이해했다.module top_module ( input wire [2:0] vec, output wire [2:0] outv, output wire o2, output wire o1, output wire o0 ); // Module body starts after module declaration assign outv = vec; assign o2 = vec[2]; assign o1 = vec[1]; ..
노력, 방법
·
생각
내가 어디까지 알고 있고 모르는지를 다시 확인해보기 전까지는 알 수가 없다.어쩌면 그 확인하는 방법이 더 오래 걸리고 힘들지라도 더이상 미루면 사상누각이 될 것 같아 블로그를 시작했다.