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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8329|回复: 13

[求助] CRC最後產生結果要顛倒

[复制链接]
发表于 2013-6-27 22:28:28 | 显示全部楼层 |阅读模式

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

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

x
各位前輩....

這邊有個棘手的問題.....我已經可以產生並行CRC的verilog code,

而且也和其他站上的是生成出來的code是一樣

但是接下來的問題是我的需求是要最後出來的CRC結果要順序顛倒:
EX: 1100_0111==>1110_0011

查了相關的文件也沒有人有說到要怎麼做.....其他crc產生code的網站也產生都是順向的....沒看到有反向的

可否提供相關文件可以參考.....謝了大家
发表于 2013-6-28 08:34:43 | 显示全部楼层
这个有难度吗?
 楼主| 发表于 2013-6-28 09:43:59 | 显示全部楼层
我的需求是並行CRC直接算出高低位順序顛倒的結果(LSB.....MSB)

我自己根網路上的都是CRC算出結果都是(MSB.....LSB)
當然也可以CRC的(MSB.....LSB)出來後我再顛倒拉線就好......
但是當輸入資料&CRC poly.變動時我就要在手動去改.....很沒效率

可否請教樓上大神如何做?
发表于 2013-6-28 09:45:34 | 显示全部楼层
回复 1# ffsher100

用verilog写的话,直接bit相连就好了。以crc5为例,swap_crc5为Msb和Lsb顺序调整后的结果。



  1. assign swap_crc5[4] = crc5[0];
  2. assign swap_crc5[3] = crc5[1];
  3. assign swap_crc5[2] = crc5[2];
  4. assign swap_crc5[1] = crc5[3];
  5. assign swap_crc5[0] = crc5[4];


复制代码

如果是software处理,过程倒是复杂一些,因为程序不支持bit操作。

P.S. 是否方便提供一下你使用的并行CRC的参考文献。
 楼主| 发表于 2013-6-28 10:10:22 | 显示全部楼层
樓上的....我的做法就很笨
先用手算推導....
再將推導過程中的規則性寫程式去生成可任意資料寬度& CRC poly.

我目前做的都要生成verilog
发表于 2013-6-28 10:59:33 | 显示全部楼层
学习学习。哈啊哈哈哈
发表于 2013-6-28 11:35:38 | 显示全部楼层
没看懂楼主的意思:
如果是并行CRC
crc[0]=xxx
crc[1]=xxx
直接把0和1倒序不行?
 楼主| 发表于 2013-6-28 15:47:55 | 显示全部楼层
xiaojia102003:
直接顛倒我試過是好像不行.....

當然前面的建議
做到crc結果出來最後在顛倒當然可以....
但是我的需求就是一邊算一邊顛倒.....等全部算完結果就是顛倒的
 楼主| 发表于 2013-6-28 16:06:41 | 显示全部楼层
hi xiaojia102003,
我弒過了....應該不行

當然我也可以一般CRC算到最後......結果再高低位順序顛倒
但是我的需求就是CRC一邊在算的時後就一邊顛倒了.....最後結果出來就是顛倒值
而不需要再做其他動作
发表于 2013-6-28 17:57:49 | 显示全部楼层
楼主想做什么?多项式可配置的CRC?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-15 16:45 , Processed in 0.023531 second(s), 9 queries , Gzip On, Redis On.

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