正在进行安全检测...

发布时间:2023-11-08 23:21:44   来源:文档文库   
字号:
FPGA设计过程中经常会遇到关于数表示之间的转化问题,最常见的是无符号数和有符号数之间的转化问题。1)在FPGA设计过程中,能够很直接的看出数字的位宽,但经常以无符号数的形式输出,在后继的处理中往往要将之转化为有符号数(如:计算频谱)对于一个比特宽度为W的有符号数,其值往往可以表示为(W=4-1*b3*2^3+b2*2^2+b1*2^1+b0*2^0根据这一原理,给出以下Matlab代码:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function[b]=unsigned2signed(data,width%Thisfuctioncovertanunsigneddataintoasigneddatawithbitwidth==%width.Theinputmatrixshouldbepositive.%Example:unsign2signed([0:3],2,returnans=[01-2-1];data_size=size(data;sign_mask=2^(width-1;
data_mask=ones(data_size*sign_mask;%data_sign=-1*bitand(data_mask,data;data_remainder=bitand((data_mask-1,data;%b=data_sign+data_remainder;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%同时根据补码的原理,也可以用几句简单的语句表示:%设数据位宽为41位符号位,数据矩阵为aa(find(a>=2^3=a(find(a>=2^3-2^4;以上可以看成先将负数找出,先除去符号位(减去2^3)得到相应的负数的补码,再加上符号代表的意义-1*2^3,即总共减去2^4.2)在FPGA设计中可能会遇到要将数值求相反数,对应的硬件描述数语言可表示

本文来源:https://www.2haoxitong.net/k/doc/cb57cd030366f5335a8102d276a20029bd6463ea.html

《正在进行安全检测....doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式