VHDL 除法运算可综合性分析与除法器设计
2012-07-02于德海邢永强
兵器装备工程学报 2012年6期
关键词:设计
曾 鑫,熊 波,于德海,邢永强
(1.海军某工程建设指挥部,北京 100036;2.海军航空工程学院,山东 烟台 264001;3.92514 部队,山东 烟台 264001)
除法是数值计算和数据分析中最常用的运算之一,许多高级运算如平方根、指数、三角函数等都与其有关[1]。当前的EDA 工具能对“+”、“-”及部分“* ”运算符进行综合,但是并不能综合“/”运算,而且,在FPGA 中,提供的乘除法设计向导或提供LPM 宏函数对除法运算而言,能处理的除数必须是2 的幂,因此无法实现除数为任意数的除法。所以,本文旨在设计一种能被综合而且除数能是任意整数的除法器。
1 VHDL 除法运算的可综合性
VHDL 并非是针对硬件设计而开发的语言,只是被用来设计硬件。VHDL 是在美国国防部的指导下,出于采购电子设备的需要,为了不涉及商业机密和知识产权问题,同时以保证采购厂商即使破产,也能由其他厂商迅速生产出代用品而开发的。它仅仅用来描述供应商的集成电路芯片的行为,以便让其他厂商按照VHDL 文档的描述,设计出行为与其相同的芯片,因此,制订语言标准时,并没有考虑这些代码如何用硬件来实现[2]。所以,VHDL 语法标准的代码是对硬件行为的一种描述,但不能直接对应成电路的设计信息。行为描述可以基于不同的层次,如系统级,算法级,寄存器传输级(RTL)、门级等等。目前大部分EDA 软件只能综合RTL 或更低层次的行为描述。
对除法而言,要想实现两个变量相除的运算,如写下代码“ans=x/y”,几乎任何EDA 软件都不能将其综合成硬件。经典的除法计算方式是……
登录APP查看全文
