共2条
1/1 1 跳转至页
ccs ccs的软件仿真和硬件仿真区别?

问
由于指令周期不同 软件仿真看起来好像执行的不正确似的
不如硬件仿真直观^
能不能让软件仿真执行起来想硬件仿真一样呢?
是不是需要设置一下 请指教? 答 1: 请教一下DSP中定标问题在用定点DSP进行浮点运算时采用Q值定标,而DSP如何实现Q值的?比如在下边这个程序中
设x=3.0,y=3.1,则浮点运算结果为z=x-y=3.0-3.1=-0.1;
Qx=13,Qy=13,Qz=15,则定点减法为:
x=24576;y=25295;
temp=25395;
temp=x-temp=24576-25395=-819;
因为Qx<Qz,故 z=(int)(-819<<2)=-3276。由于z的Q值为15,所以定点值z=-3276即为浮点值z=-3276/32768=-0.1。
在得出运算结果z的时候,DSP如何知道z是Q15的?也就是说,DSP在硬件上如何将3276认为是0.1这个小数值?
我的理解是这样的,是否z这个变量只是在整个运算过程中作一个中间变量的作用,在整个程序的计算的最后才将计算结果根据其定标的Q值转换成小数,以实现小的舍入误差,就像上一个例子一样,z的值-3267也只是一个中间变量,如果这个结果需要最终输出,仍然需要把-3267/32768,计算得到-0.1这个实际的浮点小数。
这个理解是否正确?请各位前辈指教
不如硬件仿真直观^
能不能让软件仿真执行起来想硬件仿真一样呢?
是不是需要设置一下 请指教? 答 1: 请教一下DSP中定标问题在用定点DSP进行浮点运算时采用Q值定标,而DSP如何实现Q值的?比如在下边这个程序中
设x=3.0,y=3.1,则浮点运算结果为z=x-y=3.0-3.1=-0.1;
Qx=13,Qy=13,Qz=15,则定点减法为:
x=24576;y=25295;
temp=25395;
temp=x-temp=24576-25395=-819;
因为Qx<Qz,故 z=(int)(-819<<2)=-3276。由于z的Q值为15,所以定点值z=-3276即为浮点值z=-3276/32768=-0.1。
在得出运算结果z的时候,DSP如何知道z是Q15的?也就是说,DSP在硬件上如何将3276认为是0.1这个小数值?
我的理解是这样的,是否z这个变量只是在整个运算过程中作一个中间变量的作用,在整个程序的计算的最后才将计算结果根据其定标的Q值转换成小数,以实现小的舍入误差,就像上一个例子一样,z的值-3267也只是一个中间变量,如果这个结果需要最终输出,仍然需要把-3267/32768,计算得到-0.1这个实际的浮点小数。
这个理解是否正确?请各位前辈指教
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】mcxa156使用低功耗定时器适配硬件RTC框架被打赏26分 | |
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 |