ฉันใหม่สำหรับ Verilog และต้องการเรียนรู้วิธีเปรียบเทียบตัวเลขสองตัว ตัวอย่างเช่นลองเปรียบเทียบพารามิเตอร์หรือ reg (พูด a) กับตัวเลข 2 (2'b10) สิ่งนี้จะถูกเขียนใน Verilog อย่างไร
ฉันใหม่สำหรับ Verilog และต้องการเรียนรู้วิธีเปรียบเทียบตัวเลขสองตัว ตัวอย่างเช่นลองเปรียบเทียบพารามิเตอร์หรือ reg (พูด a) กับตัวเลข 2 (2'b10) สิ่งนี้จะถูกเขียนใน Verilog อย่างไร
คำตอบ:
ความเท่าเทียมกันและตัวดำเนินการสัมพันธ์ (ส่งคืน X หากตัวถูกดำเนินการมี X หรือ Z)
m == n // is m equal to n? (1-bit True/False result)
m != n // is m not equal to n? (1-bit True/False result)
m < n // is m less than n? (1-bit True/False result)
m > n // is m greater than n? (1-bit True/False result)
m <= n // is m less than or equal to n? (1-bit True/False result)
m >= n // is m greater than or equal to n? (1-bit True/False result)
ตัวดำเนินการเอกลักษณ์ (เปรียบเทียบค่าตรรกะ 0, 1, X และ Z)
m === n // is m identical to n? (1-bit True/False results)
m !== n // is m not identical to n? (1-bit True/False result)
ตัวอย่าง
ถ้า reg a น้อยกว่า 2'b10 ให้เก็บ 2'b11 ใน
if (a < 2'b10) begin
a = 2'b11;
end
คำเตือน
ตัวดำเนินการเปรียบเทียบเชิงตัวเลขของ Verilog นั้นคล้ายคลึงกับ C: ==,! =, <,>, <=,> =