FPGA利用IP核计算反正切的方法

本文介绍了在FPGA中利用IP核计算反正切的步骤,包括将十进制数转换为浮点数,进行浮点数除法以获取小数,执行反正切运算,以及可能需要的定点数转换。作者在实践中遇到问题并进行了修正,以确保输入符合反正切IP核的要求。

(毕竟新手,请各位不吝赐教)

因为FPGA计算反正切可以用IP核进行,但是IP核需要输入二进制小数,一般我们得到的数都是十进制数,所以要先进行一些处理:


1:把十进制数变成浮点数


2:进行浮点数除法,除以相对应的位数最大值以便得到小数,比如说8位的就除以255。


3:进行反正切运算


4:如果需要转换为角度需要把浮点数转换为定点数之后乘以255.


以下为程序:

module float_3(
	CLK,
	data_in_1,
	data_in_2,
	data_out_1,
	data_out_2,
	data_dividend_1,
	data_dividend_2,
	data_divisor,
	cnt,
	CE_1,
	CE_2,
	nRESET,
	phase_out
    );
	 
	input CLK,nRESET;
	input [31:0]data_in_1,data_in_2;
	output [31:0]data_out_1,data_out_2,data_dividend_1,data_dividend_2,data_divisor,phase_out;
	output reg [7:0]cnt;
	output reg CE_1,CE_2;
	
	always@(posedge CLK or negedge nRESET)
	begin
		if(!nRESET)
		begin
			cnt <= 8'd0;
			CE_1 <= 8'd0;
			CE_2 <= 8'd0;
		end
		
		else
		begin
			if(cnt == 8'd15)
			begin
				CE_1 <= 8'd1;
				cnt <= cnt + 8'd1;                 // 计算浮点数时的延时
			end
			
			else if(cnt == 8'd
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值