Math 为什么算术Verilog书籍使用门逻辑而不是“逻辑”执行操作+&引用&引用-&引用&引用;*&引用;等

Math 为什么算术Verilog书籍使用门逻辑而不是“逻辑”执行操作+&引用&引用-&引用&引用;*&引用;等,math,verilog,fpga,Math,Verilog,Fpga,我不熟悉Verilog和VHDL 我一直在学习Verilog,重点是如何做算术运算,这是为了我的教授推荐我学习的一个项目。其思想是执行一个简单的等式,其中包含二进制版本中实数的加法、减法、乘法和除法,如1.0058+0.1689 我正在读卡瓦纳用Verilog写的一本算术书。他们解释如何制作加法器、除数等,他们采用“门”的编程方法,他们在组合逻辑或顺序逻辑中使用门 我很容易理解这本书,但我不认为Verilog已经有了这个+,-,*,甚至还有/来进行除法,为什么要用卡诺和加法器、纹波进位加法器等来

我不熟悉Verilog和VHDL

我一直在学习Verilog,重点是如何做算术运算,这是为了我的教授推荐我学习的一个项目。其思想是执行一个简单的等式,其中包含二进制版本中实数的加法、减法、乘法和除法,如
1.0058+0.1689

我正在读卡瓦纳用Verilog写的一本算术书。他们解释如何制作加法器、除数等,他们采用“门”的编程方法,他们在组合逻辑或顺序逻辑中使用门

我很容易理解这本书,但我不认为Verilog已经有了这个
+
-
*
,甚至还有
/
来进行除法,为什么要用卡诺和加法器、纹波进位加法器等来实现呢


为什么不直接声明变量并使begin…end在语句中用“=”进行操作?

正如您提到的有关计算机体系结构的学习书籍,那么我的猜测是:

这是出于说教的原因。


因此,您了解到每件事情背后都有与非门或非门。

要理解硬件算术(两个补码),您需要学习使用逻辑门,以便了解位是如何被操作的。Verilog只是用来描述闸门

如果您了解基本的算术,那么就不需要进入这个级别,除非您设计自定义算术单元

在verilog RTL中,最好使用
+
-
*
,这允许合成工具选择满足您的时间限制的最佳硬件(最低功耗、最小尺寸)。当电路仅以1MHz运行时,无需使用具有高级前瞻性的加法器来减少满足1GHz定时的纹波时间

您的问题还提到了实数(浮点),这些数字在verilog中无法合成,但可以在测试台上使用。如果你只需要分数,我建议你看看:


  • 因此,您可以学习如何使用“硬件”,而不是“Verilog”。当然,Verilog书籍几乎都是无用的。非常感谢Morgan。事实上,我决定实现定点而不是浮点,卡纳瓦赫的书也研究浮点,但在我的个人作业中,不需要精确的高精度,所以我认为定点更容易实现,硬件需求更少。我只是在猜测,因为我是新来的。还感谢您的澄清,我想确保书中所说的只是为了“教育”目的,然后我将尝试使用有用的工具,如Xilinx ISE或Quartus来实现它。@sujeto1“我认为定点更容易实现,硬件需求更少”是的,浮点非常需要硬件。浮点可以达到任意精度,因此您只使用所需的硬件,而不是实现完整的浮点标准