您当前的位置:首页 > 行业资讯

FPGA乘除运算在内部怎么实现的?

时间:2021-11-26  来源:扁平线圈电感厂家  点击:

在使用verilogHDL编程数据运算时使用了乘除运算不知道会出错不,求指导
Verilog支持乘除运算。

01.常规数据注意数据的位宽,防止数据溢出。

代码处理结果一般都是四舍五入的整数。

02.浮点数据(例如0x3f800000表示1)支持小数运算结果,具体精度与选取数据的小数部分位宽有关系。

Vivado软件里有一个floating的IP支持该种运算,Quartus-ii不清楚。

同时vivado里还可以调用DSP48进行数据运算。

03.常规数据可以表示小数,例如16bit位宽的数据,高八位表示整数,低八位表示纯小数。

具体整数/纯小数的位宽自己定义。

04.为了提高运算速度(会导致占用更多资源)一般都会对数据进行位宽拆分,这个自己百度。

05.建议自己仿真一下。

//----------------------------------------------------------- wire [31:00] test_1; wire [31:00] test_2; wire [31:00] test_3; wire [31:00] test_4;// wire real [31:00] test_5; real test_5 = 3.1415926 ; wire [31:00] test_6; wire [31:00] test_7; wire [31:00] test_8; wire [31:00] test_9; reg [00:00] ena ; reg [31:00] mem_addra ;//-----------------------------------------display //下列描述不符合语法规则会报错parameter PI= 3.1415926 ;//PI // parameter PI= 32'd3.1415926 ;//PI parameter A = 3.61E2 ;//361.0 // parameter A = 32'd3.61E2 ;//361.0parameter B = 3.61E-3 ;//0.00361 // parameter B = 32'd3.61E-3 ;//0.00361 assign test_1= PI ;// 3assign test_2= A ;// 361assign test_3= B ;// 0assign test_4= PI * 1000 ;//3142assign #1000 test_6= test_1 * 1000 ;//3000assign test_7= 3 / 2.0* 1000 ;//1500assign test_8= 0.9001 / 4.5* 1000 ;//200assign test_9= (0.9001 / 4.5 + 3/2.0)* 1000 ;//1700
{:1:}{:1:}{:1:}

大电流电感

新手求教各位大神一个问题1.这个拓扑和单相全桥逆变器拓扑是一样的吗,下面多个电感主要作用是什么呢?2.此外,该拓扑除了可用于逆变器难道还能用于双向DC/DC变换器吗?因为我在动力电池充放电测试设备上看

反激MOS关断尖峰电压


各位大神看看有什么方法把这个尖峰给去电吗?


红色的CH3是反激MOS管的DS,蓝色的CH4是RCD吸收的D的阴极和MOS的S的电压。


我看其他人的这个尖峰都很小的
都有的,不

移相全桥副边是否可以这样吸收?移相全桥副边全波整流输出,常见的吸收方法是二极管上面并接一组RC,通过合适的RC组合调整满足工程要求,我最近见到有人做的一个移相,是在这个滤波电感两端接了一个如图的二极管和

注塑加工厂


上一篇全桥 MOS关断延迟问题

下一篇开关电源不采用431如何实现稳压输出?


  
  温馨提示
网站首页 | 产品展示 | 科技前沿 | 行业资讯
本公司专业研发、设计、生产、销售贴片电感、插件电感、功率电感、大电流电感、扁平线圈电感、一体成型电感。
专业电感生产制造商,品质优异、交期快。
在线客服
热线电话