Float 계산 회로의 Verilog-HDL 구현에 대해 - 그 2.7 (0 대응)
3100 단어 FPGAVerilogfloat하드웨어VerilogHDL
Float 계산 회로의 Verilog 구현
~ FPGA에 올리고 싶다 ~
올레올레 구현이므로 잘못되어도 몰라요
가산회로편
Float 계산 회로의 Verilog-HDL 구현에 관하여 - 그 1
디버그 툴 작성편
Float 계산 회로의 (ry-그 1.1(float값의 16진수 표기)
보충과 LeadingZeros편
플로팅 컴퓨팅 회로의 Verilog-HDL 구현 - 1.5 (LeadingZeros)
감산회로편
Float 계산 회로의 Verilog-HDL 구현에 대해 -그 2(감산편)
회로 공통화와 타이밍 조정편
Float 계산 회로의 Verilog-HDL 구현에 대해 - 그 2.1 (가산 회로의 공통화와 타이밍 조정)
공통화편
Float 계산 회로의 Verilog-HDL 구현에 대해 - 2.5 (공통화)
목적
float 공부
float32의 하드웨어 구현
0에 대응하는 HW의 실장
귀찮기 때문에 지수부가 0인지 아닌지로 판정하여 비정규화수는 마무리한다
이것으로 통상 계산은 마지막(의 것)
0 패턴
a \pm 0\\
0 \pm a\\
a - a\\
0-0
대체로 이 4패턴(2이라도 좋을 정도)
이번 HW
각 값 유지 및 TIM4 변경
TIM4
// TIM4 //
if ((eb2 == es2) && (vb3 == vs3) && (opb2 ^ opb3)) begin
op3 <= 1'b0;
vexp3 <= 8'b0;
end else begin
op3 <= opb2;
vexp3 <= eb2;
end
if (eb2 == 8'b0) begin
r <= 25'b0;
end else if (es2 == 8'b0) begin
r <= vb3;
end else if (opb2 ^ ops2) begin
r <= vb3 - vs3;
end else begin
r <= vb3 + vs3;
end
그 2.5까지로, 절대치의 대소로 값을 소트하고 있기 때문에,
a \pm 0
패턴에서 0은 항상 작은 값으로 정렬됩니다.
그러므로
계산시에 이것을 검출하면 좋다
또한
큰 값이 0이면 작은 값은 항상 0입니다.
시뮬레이션 결과
값 1
값 2
연산자
결과
123.4
0
+
123.4
-123.4
0
+
-123.4
0
123.4
+
123.4
0
-123.4
+
-123.4
123.4
0
-
123.4
-123.4
0
-
-123.4
0
123.4
-
-123.4
0
-123.4
-
123.4
0
0
+
0
0
0
-
0
123.4
123.4
+
246.8
123.4
123.4
-
0
Reference
이 문제에 관하여(Float 계산 회로의 Verilog-HDL 구현에 대해 - 그 2.7 (0 대응)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Soleiyu/items/23e1df40e67b05025990
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
a \pm 0\\
0 \pm a\\
a - a\\
0-0
// TIM4 //
if ((eb2 == es2) && (vb3 == vs3) && (opb2 ^ opb3)) begin
op3 <= 1'b0;
vexp3 <= 8'b0;
end else begin
op3 <= opb2;
vexp3 <= eb2;
end
if (eb2 == 8'b0) begin
r <= 25'b0;
end else if (es2 == 8'b0) begin
r <= vb3;
end else if (opb2 ^ ops2) begin
r <= vb3 - vs3;
end else begin
r <= vb3 + vs3;
end
a \pm 0
Reference
이 문제에 관하여(Float 계산 회로의 Verilog-HDL 구현에 대해 - 그 2.7 (0 대응)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Soleiyu/items/23e1df40e67b05025990텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)