NCO设计感悟

        影响NCO杂散度的一般就是两个条件一个是输入的位宽,一个是输出的量化位宽,输出在8位的情况下,随着输入位宽的加大,杂散度最后处于50dbc左右就保持不变了,输出量化位宽在16位的情况下,随着输入位宽的加大,杂散度最后处于100dbc左右就保持不变了。

        一般设计的时候尽量使用查找表的模式,使用Cordic算法虽然也能算出,但是保不准最后综合成啥样,主要是移位用的太多,加减法也用的太多而且又比较复杂,尽量还是使用查找表来的舒服些。

        查找表的使用最简单压缩ROM的方式就是使用波形对称法,具体就是基本的一个波形变化,最高两位作为象限值,将各个象限值一个一个对应到第一象限上完成输出。代码如下:

        

相位对称
                    2'b00:begin 
                                sin_addr_r <= iaddr_in;
                                cos_addr_r <= iaddr_in;
                           end
                    2'b01:begin
                                sin_addr_r <= 16'd32767-iaddr_in;
                                cos_addr_r <= 16'd32767-iaddr_in;
                          end
                    2'b10:begin
                                sin_addr_r <= iaddr_in-16'd32767;
                                cos_addr_r <= iaddr_in-16'd32767;
                          end
                    2'b11:begin
                                sin_addr_r <= 16'd65535-iaddr_in;
                                cos_addr_r <= 16'd65535-iaddr_in;
                          end
                    default:begin
                                sin_addr_r <= sin_addr_r;
                                cos_addr_r <= cos_addr_r;
                            end
幅值对称:
                2'b00: begin
                        sin_r1 <= dout_sin;
                        cos_r1 <= dout_cos;
                        end
                2'b01: begin
                        sin_r1 <= dout_sin;
                        cos_r1 <= ~(dout_cos) + 1'b1;
                        end
                2'b10: begin
                        sin_r1 <= ~(dout_sin) + 1'b1;
                        cos_r1 <= ~(dout_cos) + 1'b1;
                        end
                2'b11: begin
                        sin_r1 <=  ~(dout_sin) + 1'b1;
                        cos_r1 <= dout_cos;
                        end
                default:begin
                        sin_r1 <= sin_r1;
                        cos_r1 <= cos_r1;
                        end

其实写起来有想法了还是比较简单的,IC设计就是这样,脑子里面有想法,电路有个大概模样,编码还是不难的~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值