在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 2414|回复: 6

[求助] 1bit输入和多比特输出的的sigma-detla ADC中的CIC滤波器如何敲代码呢。

[复制链接]
发表于 2024-9-7 07:03:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 uzljuljz 于 2024-9-7 08:36 编辑

第一次做数字CIC滤波器。之前也没有积累。
网上找了一些资料,CIC滤波器基本都是多比特输入,然后多比特输出。
我的因为调制器是单比特输出的,后面的CIC滤波器理想情况下也要单比特输入,这样才接口匹配。
尝试用matlab的fdatool生成CIC滤波器的代码,但报错了,报1bit的输入不被允许,至少得2bit往上。
还有一种说法是,干脆做一个多比特输入的CIC滤波器,然后通过一种映射关系,将调制器输出的1bit接到多bit的CIC滤波器输入中去。

还有就是调制器1bit的输出,也不好在verdi转成模拟波形来观察是不是脉宽调制波形,大伙有解决的思路吗。

想问问大家有遇到类似的问题。怎么解决呢。
微信图片_20240907083554.png

微信图片_20240907083604.png

下面是找的一些代码,可以看到Xin是多比特的输入:
module MultCIC (
rst,clk,Xin,
Yout,rdy);

input                rst;   //复位信号,高电平有效
input                clk;   //FPGA系统时钟,频率为2kHz
input          [9:0]        Xin;  //数据输入频率为2kHZ
output  [16:0]        Yout; //滤波后的输出数据
output rdy;        //数据有效指示信号


 楼主| 发表于 2024-9-7 07:07:43 | 显示全部楼层
给一个参考链接:Verilog CIC 滤波器设计 | 菜鸟教程: https://www.runoob.com/w3cnote/verilog-cic.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-22 10:04:09 | 显示全部楼层
buffer填充就好了。
回复 支持 反对

使用道具 举报

发表于 2025-1-8 22:08:37 | 显示全部楼层
请问楼主解决了吗 我也遇到了单比特输入无法生成HDL的问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-1-9 08:58:53 | 显示全部楼层
生成2bit就好了。自己再把位宽改成1bit。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-1-9 08:59:42 | 显示全部楼层
应该是程序的bug。它只考虑有符号数。
回复 支持 反对

使用道具 举报

发表于 2025-8-8 16:56:38 | 显示全部楼层
CIC输入是需要带符号位的,ADC虽然是单比特,但对应的数据其实是+1和-1,转换成二进制补码就是01和11,其实就是{ADC_OUT,1'b1},所以CIC输入最低是2位数
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-8-29 19:12 , Processed in 0.017369 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表