본문 바로가기

전체 글79

[Verilog Problem] And gate Problem descriptionmodule은 TOP이고 Input inA, inB Output out를 가지고 있습니다.inA와 inB는 AND Gate를 통해 out으로 나갑니다.Codemodule TOP ( input inA, input inB, output out); assign out=inA&inB;endmoduleDescriptionAND은 "&"로 처리할 수 있습니다."&"는 bit, "&&"는 논리 연산자 입니다.Gate level에서는 cell를 instance해서 사용합니다.연속 할당은 오른쪽을 왼쪽에 연속적으로 할당하므로 RHS의 변경 사항이 LHS에 즉시 표시됩니다.input, output의 wire 혹은 reg를 선언하지 않으면 wire를 기본으로 합니다. 2024. 5. 24.
[Verilog Problem] Inverter (Not gate) Problem descriptionmodule은 TOP이고 Input A, Output B를 가지고 있습니다.A는 B로 invert를 통해 나갑니다.Codemodule TOP ( input A, output B ); assign B=~A;endmoduleDescription"~" 각 비트를 반전(보수를 취함)합니다. "!"의 경우 논리연산자로 신호 및 표현식에 대한 논리적인 부정을 뜻합니다.연속 할당은 오른쪽을 왼쪽에 연속적으로 할당하므로 RHS의 변경 사항이 LHS에 즉시 표시됩니다.input, output의 wire 혹은 reg를 선언하지 않으면 wire를 기본으로 합니다. 2024. 5. 22.
[Verilog Problem] Wire 2 Problem descriptionmodule은 TOP이고 Input A, B Output X, Y, Z를 가지고 있습니다.A -> X, B -> Y, A -> ZCodemodule TOP ( input A, output B ); assign X=A; assign Y=B; assign Z=A; //equivalent //assign {X,Y, Z} = {A, B, A}endmoduleDescription여러개의 assign문이 존재하는 경우 순서는 중요하지 않습니다. 프로그래밍 언어와 다르게 항목에서 다른 항목으로 값을 복사하지 않고, 항목간의 연결을 의미합니다. 다시말해, 와이어 자체를 의미하지 않습니다.input, output의 wire 혹은 reg를 선언하지 않으면 wire를 기본으로 합니다. 2024. 5. 22.
[Verilog Problem] Wire 1 Problem descriptionmodule은 TOP이고 Input A, Output B를 가지고 있습니다.A는 B로 나갑니다. wire로 연결되어 있습니다.Codemodule TOP ( input A, output B ); assign B=A;endmoduleDescription연속 할당은 오른쪽을 왼쪽에 연속적으로 할당하므로 RHS의 변경 사항이 LHS에 즉시 표시됩니다.assign left_side = right_side;input, output의 wire 혹은 reg를 선언하지 않으면 wire를 기본으로 합니다. 2024. 5. 22.
[System Verilog] always @(*), always_ff, always_comb, always_latch always @(*) Verilog의 always sensitivity list가 바뀔때 동작 always_comb Verilog에서의 combination logic을 구현할 때 사용 sensitive list 필요 없음 latch가 생기지 않도록 모든 조건문 필요 Code [ always @(*), always_comb ] module test; logic a, b, c, always_d, always_comb_d; function logic my_func(input logic m_c); my_func = a | b | m_c; endfunction always @* always_d = my_func(c); always_comb always_comb_d = my_func(c); initial begi.. 2024. 4. 7.
[Vim] 원하는 line number로 이동하기 원하는 line number로 이동하기 "ESC"를 눌러 표준 모드로 진입합니다. 그 상태에서 원하는 줄 번호를 입력합니다. (화면에는 번호가 출력되지 않습니다.) 입력이 다 끝난 후, Shift + g를 입력합니다. (대문자 G를 입력.) "원하는 줄번호" || "Shift + g" 참고 : 줄번호를 입력하지 않고 바로 Shift + g 를 입력하면, 파일의 맨 끝 줄로 이동하게 됩니다. 2024. 2. 8.
[Perl] die die 예외사항이 있을때 실행됩니다. 예를들어 file handle를 하기 위해 파일을 열었을때 file이 없을 경우 실행됩니다. 2023. 12. 31.
[Perl] Scalar 변수 "연산자" 스칼라에 대입된 값이 "숫자"인지 "문자열"인지 확인하는 것은 불가능합니다. 정확하게 말하면 그럴 필요가 없어야 합니다. 사용하는 연산자에 따라 스칼라를 숫자로 취급할지 또는 문자열로 취급할지가 결정됩니다. 문자열 연산자를 사용하면 문자열처럼 동작하고 숫자 연산자를 사용하면 숫자로 동작합니다. 값의 유형이 달라 동작이 불가능하면 경고가 발생합니다. ​ 숫자로 취급하여 비교하는 연산자 = == != + * ​ 문자열로 취급하여 비교하는 연산자 lt gt le ge eq ne cmp . x Example 2023. 11. 19.
[Linux] 해상도 변경 디스플레이 설정에서 화면 해상도 변경 터미널에서 xrandr로 해상도 변경 해상도의 modeline을 계산하기 $ cvt 3440 1440 //원하는 해상도 입력 아래와 같은 결과가 출력됩니다. # 3440x1440 59.94 Hz (CVT) hsync: 89.48 kHz; pclk: 419.50 MHz Modeline "3440x1440_60.00" 419.50 3440 3696 4064 4688 1440 1443 1453 1493 -hsync +vsync Modeline을 얻었습니다. 현재 디스플레이의 정보 얻기 $ xrandr Screen 0: minimum 32 x 32, current 3440 x 1440, maximum 32768 x 32768 XXXXX connected primary 344.. 2023. 7. 24.
[Verilog] 1bit Half adder(반가산기) 목차 Half adder 1비트 이진수 두 개를 더한 합 Sum (S)과 자리올림 수 Carry (C)를 구하는 회로 Code 2023. 7. 23.
[Python] DCT 8x8 목차 DCT에 대하여 간략하게 정리한 글입니다. DCT에 대한 내용은 해당 글 참고바랍니다. 2023.07.23 - [Knowledge/Basic] - 2차원 DCT(Discrete cosine transform), 이산 코사인 변환 2차원 DCT(Discrete cosine transform), 이산 코사인 변환 목차 DCT 흔히 DCT라 부르는 DCT2, DCT역변환은 DCT3이자 IDCT(Inverse DCT)라 부릅니다. 간단하게 DCT2는 공간 영역에서 주파수 영역으로 변환하는 방법입니다. 흔히 사용하는 이미지 확장자 JPEG라는 국제 vir-us.tistory.com DCT 8x8 변환식 HTML 삽입 미리보기할 수 없는 소스 수학적으로 계산해보자. x=0, y=0일때를 가정하면 다음과 같다... 2023. 7. 23.
2차원 DCT(Discrete cosine transform), 이산 코사인 변환 목차 DCT 흔히 DCT라 부르는 DCT2, DCT역변환은 DCT3이자 IDCT(Inverse DCT)라 부릅니다. 간단하게 DCT2는 공간 영역에서 주파수 영역으로 변환하는 방법입니다. 흔히 사용하는 이미지 확장자 JPEG라는 국제 표준 손실 영상 압축 알고리즘의 중심에는 DCT가 있습니다. DCT를 사용하는 이유? 결국에 DCT를 하는 목적은 공간 영역(Spatial Domain)에서 주파수 영역(Frequency Domain)으로 바꾸기 위해 입니다. 저주파와 고주파를 분리하는 작업이기도 합니다. 앞서 JPEG에서 DCT를 주로 사용한다고 했습니다. JPEG의 목적은 사람이 보는 이미지 화질(인지화질)이 크게 떨어지지 않으면서 용량을 줄이기 위함입니다. 이미지나 영상을 주파수영역으로 바꾸게 되면 인.. 2023. 7. 23.
반응형