Integer And Real
Coddy Verilog 여정의 기초 섹션에 포함된 레슨. 90개 중 8번째.
wire와 reg 외에도 Verilog에는 다양한 용도로 사용되는 숫자용 데이터 형식이 있습니다.
integer
integer는 계산 및 카운팅을 위한 범용 변수입니다.
- 기본 크기는 32비트입니다
- Signed (negative numbers를 저장할 수 있음)
- 주로 testbenches와 for 루프에 사용됩니다
integer 선언하기:
integer i; // 32비트 부호 있는 변수
integer count; // 음수를 저장할 수 있음integer 사용:
integer i;
initial begin
i = 0; // 0에서 시작
i = i + 1; // 카운트 업
i = -5; // 음수를 저장할 수 있음
$display("i = %d", i); // 출력: i = -5
endReal
real은 부동 소수점 숫자(소수점이 있는 숫자)에 사용됩니다.
- 소수 값을 저장합니다
- 계산을 위해 테스트벤치에서 사용됩니다
- 하드웨어로 합성할 수 없습니다
실수 선언:
real pi; // 부동소수점 변수
real voltage;real 사용:
real pi;
initial begin
pi = 3.14159; // 십진수 값
pi = 22.0 / 7.0; // 나눗셈 결과
$display("pi = %f", pi); // 출력: pi = 3.142857
end어디에 사용하는가
테스트벤치에서: integer와 real은 일반적으로 루프 카운터, 계산, 예상 값 확인에 사용됩니다. 이러한 자료형을 사용하면 테스트 코드를 더 쉽게 작성하고 이해할 수 있습니다.
하드웨어에서는: 이러한 유형은 일반적으로 합성할 수 없습니다. 즉, 실제 회로로 변환할 수 없습니다. FPGA나 칩에 구현될 하드웨어에는 대신 reg와 wire를 사용하세요.
챌린지
테스트벤치가 작동하도록 코드를 완성하세요.
해야 할 일:
- for 루프 카운터로 integer called i를 선언하세요.
- 계산을 위해 real called value를 선언하세요.
직접 해보기
module test;
// 정수 i를 선언
// 실수 value를 선언
initial begin
i = 7;
value = i * 0.5;
$display("i = %0d, value = %f", i, value);
$finish;
end
endmodule이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine Logic직접 연습해 보세요: 온라인 Verilog 컴파일러