본문 바로가기

Digital Logic27

[VLSI] Very Large Scale Integraed Circuit * Understanding basic operations for computer arithmetic * Understanding signal processing techniques for VLSI architectures ◆ DSP system, Iteration bound ◆ Pipelining and parallel processing ◆ Retiming and unfolding technique ◆ Folding technique ◆ Conventional and unconventional number systems, Fast addition ◆ Binary floating-point number system ◆ Sequential algorithms for multiplication and di.. 2023. 12. 31.
[Verilog] Fixed point Scaler 연산 (Sign 연산 - right shift) verilog에서 shift는 4가지 형태로 존재한다. >>, >, 2; //c == 5'b11101, 'cause sign bit was `1` d = a >> 3을 했는데 sign bit으로 채워지지 않는 걸 발견했다. 보아 하니 a가 signed으로 casting 되어 있어야 했다. reg signed [9:0] b = 10'sb11_0101_0101; reg signed [9:0] a_signed; reg [9:0] a_unsigned; always_comb begin a_signed = b >>> 2; a_unsigned = b >> 2; end #a_signed 1111010101 #a_unsigned 0011010101 혹은 연산할 때 casting 방식으로 wire [PSUM_WL+SCAL.. 2023. 9. 9.
[Verilog] Fixed point Scaler 연산 (Quantization - 비트 수가 다른 파라미터와 연산) Pytorch에서 quantization을 구현 코드를 verilog로 변환하기 위해서는 fixed point scaler 연산이 필요하다. 연산에 있어서 필요한 여러 개념들이 있는데 아래 블로그 글을 참고하면 좋다. 2023.09.05 - [Digital Logic/Verilog] - [Verilog] Fixed point Scaler 연산 (Quantization - binary 연산) 2023.09.06 - [Digital Logic/Verilog] - [Verilog] Fixed point Scaler 연산 (Quantization - sign 곱셈/덧셈 연산) [Verilog] Fixed point Scaler 연산 (Quantization - binary 연산) Fixed point 란? ve.. 2023. 9. 6.
[Verilog] Fixed point Scaler 연산 (Quantization - sign 곱셈/덧셈 연산) Fixed point Scaler 연산의 기초는 아래 블로그 글을 참고하면 좋다. 2023.09.05 - [Digital Logic/Verilog] - [Verilog] Fixed point Scaler 연산 (Quantization - binary 연산) [Verilog] Fixed point Scaler 연산 (Quantization - binary 연산) Fixed point 란? verilog로 프로그래밍 하기 위해서는 값의 형태가 fixed point로 구성되어야 한다. 위의 그림처럼 sign / Integer / Fraction 으로 되어 있다. 특히 quantization의 경우, Integer와 scaler로 나눠서 연산 rubber-tree.tistory.com Scaling 연산 Res.. 2023. 9. 6.
[Verilog] Fixed point Scaler 연산 (Quantization - binary 연산) Fixed point 란? verilog로 프로그래밍 하기 위해서는 값의 형태가 fixed point로 구성되어야 한다. 위의 그림처럼 sign / Integer / Fraction 으로 되어 있다. 특히 quantization의 경우, Integer와 scaler로 나눠서 연산하며 scaler의 integer와 fraction이 각각 몇 bit인지를 알고 있어야 된다. Fixed point Scaler 연산 아래와 같이 quantization하는 pytorch 코드가 있다. // rescaling rescale = self.a_max / self.a_max_origin inp = inp * rescale // rounding inp = torch.round(inp) inp = inp * (1. / se.. 2023. 9. 5.
[컴퓨터 구조] 컴퓨팅 플랫폼은 어떻게 숫자를 다루나? (Feat. CPU) 제목에서 말한 '컴퓨팅 플랫폼'이란 CPU, GPU, FPGA 등을 말한다. 이 들은 digital logic을 구성하며 2 진법 '0'과 '1' 만으로 기계를 작동시킨다. 즉, 컴퓨터는 2진수의 바다다. 2진수로 모든 숫자를 표현하고 연산을 수행한다. 2021.06.16 - [생각 미로] - [생각 미로] How do you define the real? - 영화 매트릭스 하지만 인간이 다루는 세계는 10진수로 통용되며 컴퓨터 위에 올려 사용하는 Application code 또한 10진법으로 사용한다. 그렇게 구현 시킨 Application code를 컴퓨터 하드웨어 단에서 동작시키려면 2진법으로 변환하여 연산하는 방법을 알아야 한다. 그래서 이번 포스팅에서는 컴퓨팅 플랫폼에서 10진수로 받은 값을 .. 2021. 7. 28.
FPGA Acceleration(가속화), 꼭 알아두어야 할 그것. FPGA의 특징 FPGA는 단가 측면에서 ASIC에 밀리고 그렇다고 CPU(SW)처럼 개발이 쉬운 것도 아니여서 이를 이용한 Computing power가 주목받지 못했다. 하지만 장점 또한 명확하다. ASIC이 갖지 못하는 'Re-Programmable' 특성과 CPU(SW)가 갖고 있지 못한 월등한 'Computing power'를 가지고 있다. 그리고 이 매력으로 FPGA는 여러 전자 제품(5G, 자율 주행, Cloud, 카메라, 항공 등) 안의 코어 역할로 사용되고 있다. 그래서 이번 포스팅에서는 두 가지 장점 중 Computing power에 대해 알아보겠습니다. FPGA가 갖고 있는 Computing Power를 구현할 수 있는 기술 HW 가속화 구동 방식은 다음과 같다. 1) CPU(SW)에.. 2021. 7. 12.