解方程如何检验在FPGA里解CRC检验

>> 这是一个在FPGA上实现CRC算法的程序,包含了CRC
这是一个在FPGA上实现CRC算法的程序,包含了CRC
所属分类:
下载地址:
crc_verilog_xilinx.r文件大小:10.35 kB
分享有礼! 》
请点击右侧的分享按钮,把本代码分享到各社交媒体。
通过您的分享链接访问Codeforge,每来2个新的IP,您将获得0.1 积分的奖励。
通过您的分享链接,每成功注册一个用户,该用户在Codeforge上所获得的每1个积分,您都将获得0.2 积分的分成奖励。
这是一个在FPGA上实现CRC算法的程序,包含了CRC-8,CRC-12,CRC-16,CRC-CCIT,CRC-32一共五种校验形式。-err
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
3.45 kB22-03-01 02:06
4.09 kB22-03-01 02:06
6.25 kB22-03-01 02:06
3.54 kB22-03-01 02:06
crcgen.pl10.33 kB22-03-01 02:08
3.97 kB22-03-01 02:06
2.26 kB22-03-01 02:21
2.33 kB22-03-01 02:21
&crc_verilog_xilinx&0.00 B02-07-08 13:28
(提交有效评论获得积分)
评论内容不能少于15个字,不要超出160个字。
评价成功,多谢!
下载crc_verilog_xilinx.r
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足,优惠套餐快速获取 30 积分
10积分 / ¥100
30积分 / ¥200原价 ¥300 元
100积分 / ¥500原价 ¥1000 元
订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
支付宝支付宝付款
微信钱包微信付款
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-3 runtime:Elapsed:ms - init:0.1;find:120.8;t:115.5;tags:0.5;related:168.6;comment:0.3; 27.69
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧后使用快捷导航没有帐号?
查看: 83|回复: 1
一种基于FPGA的快速CRC算法及实现
在数字通信 中, 循环冗余校验( Cy c l i c Re du nda n c y Ch e c k, CRC) 是一种常用的差错控制方法, 它具有差错检测 精确度高 、 效率高的特点 。在设计 中采用模拟人类 的思维方式 , 创建快速 、 性强 的串行循 环移位 异或运算 方式来 实现 CRC编解码 的算法 , 优 化了系统 电路 。硬件 测试表 明 , 其 在实 现效率 、 消耗 资源 等方 面取得 了较
14:01 上传
点击文件名下载附件.
192.71 KB, 下载次数: 0
获取手机验证码基于FPGA的串行通信实现与CRC校验
本文应用EDA技术,基于FPGA器件设计与实现UART,并采用CRC校验。主要工作如下:
1、在异步串行通信电路部分完全用FPGA来实现。选用Xilinx公司的SpartanⅢ系列的XC3S1000来实现异步串行通信的接收、发送和接口控制功能,利用FPGA集成度比较高,具有在线可编程能力,在其完成各种功能的同时,完全可以将串行通信接口构建其中,可根据实际需求分配资源。
2、利用VerilogHDL语言非常容易掌握,功能比VHDL更强大的特点,可以在设计时不断修改程序,来适用不同规模的应用,而且采用Verilog输入法与工艺性无关,利用系统设计时对芯片的要求,施加不同的约束条件...展开
本文应用EDA技术,基于FPGA器件设计与实现UART,并采用CRC校验。主要工作如下:
1、在异步串行通信电路部分完全用FPGA来实现。选用Xilinx公司的SpartanⅢ系列的XC3S1000来实现异步串行通信的接收、发送和接口控制功能,利用FPGA集成度比较高,具有在线可编程能力,在其完成各种功能的同时,完全可以将串行通信接口构建其中,可根据实际需求分配资源。
2、利用VerilogHDL语言非常容易掌握,功能比VHDL更强大的特点,可以在设计时不断修改程序,来适用不同规模的应用,而且采用Verilog输入法与工艺性无关,利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路。
3、利用ModelSim仿真工具对程序进行功能仿真和时序仿真,以验证设计是否能获得所期望的功能,确定设计程序配置到逻辑芯片之后是否可以运行,以及程序在目标器件中的时序关系。
4、为保证数据传输的正确性,采用循环冗余校验CRC(CyclicRedundancyCheck),该编码简单,误判概率低,为了减少硬件成本,降低硬件设计的复杂度,本设计通过CRC算法软件实现。
实验结果表明,基于EDA技术的现场可编程门阵列FPGA集成度高,结构灵活,设计方法多样,开发周期短,调试方便,修改容易,采用FPGA较好地实现了串行数据的通信功能,并对数据作了一定的处理,本设计中为CRC校验。另外,可以利用FPGA的在线可编程特性,对本设计电路进行功能扩展,以满足更高的要求。
学位授予单位
机标分类号
本文读者也读过
加载中,请稍候
.客服电话
&&8:00-11:30,13:00-17:00(工作日)关于fpga配置过程中的CRC校验的问题-电子产品世界论坛
关于fpga配置过程中的CRC校验的问题
请教各位,我用的是xilinx 的virtex2 FPGA,在测试中有这样一个问题:
给FPGA烧写一个正常的MCS文件,断电重启后,对电流监测是这样的,FPGA正常工作。
当我把MCS文件中任意改变一行数以后,重新下载后,电流是这样的,FPGA也不工作。我人为是FPGA在配置过程中CRC校验没通过,所以终止了配置,此时配置芯片的INIT信号也被拉低了。
当我在ISE中产生MCS文件时,不勾选CRC校验,产生一个新的MCS文件,并也改动里面的内容,此时下载后有时FPGA可以配置成功,有时却不行,配置不成功时电流是这样子的,此时配置芯片的INIT信号也被拉低了:
,比前一个多了一个台阶,
通过测试DONE信号,1、2台阶应该是配置时间,3台阶应该是工作时间,那么请问第二个台阶是CRC校验的时间吗,为什么取消CRC校验有的MCS能配置成功,有时却不行?
在手册上看到CRC有两次,这种情况是第二次CRC没通过吗?两次CRC有什么不同呢?
盼望高人指点啊
帮顶,楼主问的问题很高深?不晓得楼主研究这个干什么?难道要反编译么
你在生成的bit文件中,搜写CRC寄存器命令字段Ox,看CRC值是不是填的默认值Ox0000_DEFC。一共两次CRC校验,你看两次是不是都屏蔽掉了。
对了,你不能直接改MCS文件,你只能改bit文件,bit文件才是你真正配置的内容,MCS文件是一个ASCII码文件,包含有有效数据的烧写地址,你用二进制编辑器打开MCS会发现每一行末尾都会有校验码存在Ox0D和Ox0A两个字节。楼主是想做动态刷新验证么?
不懂,坐等大神现身说法。
太感谢了,我再去试试。
是这样,我们有个板子会出现上电后程序没跑起来的情况,有时好,有时坏,检测电流就是和前面最后一幅图一样,所以想研究下是不是配置过程出问题了,就查到CRC了。
再问一下请问有推荐的参考文献吗,谢谢啦
关于资料我都是看的Xilinx的文档,关于配置文件说明里面是有的。
上电加载不成功,有可能是电源峰值达不到导致,建议电源是否有设置限电流,或者把电流限小点看现象是不是出现更频繁。
加载不成功,你可以用示波器看看信号质量好不好,有可能是信号质量问题。
再如果你用主模式加载,主模式加载是用FPGA的时钟,这个时钟质量不是很好,工程应用不太推荐使用主模式加载。
受教了。电流也测了好多次,感觉没啥问题,负载能力也够。
再请教下如果INIT电平被拉低,就是因为CRC校验不过吧,不知还有别的原因吗,
另外autoCRC 与最后的CRC校验有区别吗,为啥要校验这么多次啊
CRC只会校验两次,上电你系统有个瞬态峰值电流,一般会很大 ,如果电源输出能力不够,是会出现FPGA加载不成功,换个好点电源试试。
加载过程中INIT拉低只会是CRC校验不过的原因,如果你能采到INIT下降沿且PROG为高的波形的话。
匿名不能发帖!请先 [
Copyright (C) 《电子产品世界》杂志社 版权所有技术小站:
地点:西安
时间:11月16日 14:00 - 17:00
地点:东莞
时间:11月9日 14:00 - 17:00
地点:深圳
时间:11月8日 13:00 - 17:30
地点:深圳
时间:11月2日 14:00 - 17:00
张飞电子工程师第一部
高速PCB设计指南进阶培训
韦东山linux驱动开发学习
了解RTOS操作系统开发流程
张飞硬件开发全套视频
讲师:孟瑞生
讲师:林超文
讲师:李述铜
讲师:郑振宇
移入鼠标可放大二维码
解决方案 - 利用CRC和其他类型的错误检测和纠正措施扩展FPGA的工作温度范围
来源:网络整理 作者:Arnaud Darmont Aphesa日 20:07
[导读] 部分应用要求电子产品运行的温度高于该器件规定的最高工作结温。油井摄像头设计就是一个很好的例证。 任何电子器件的使用寿命均取决于其工作温度。在较高温度下器件会加快老化,使用寿命会缩短。但某些应用要求电子产品工作在器件最大额定工作结温下。以石油天然气产业为例来说明这个问题以及解决方案。
多种解决方案
为克服我们的油井摄像头设计的各类难题,我们实施了多种解决方案。
其中最重要的决定之一是选择大小合适的器件。越大型的器件的静态功耗越大,但有利于器件的散热,避免形成热点。经认证用于汽车用途的器件即使在高温下也具有较长的使用寿命,因此对于使用寿命要求不高的工业应用而言,更是一款合适的解决方案。我们已经评估了 XA(车用)系列的 LX25 和 LX45 器件中的代码并测量了器件壳体的总功耗和温度。
有时如果峰值温度较低,提高器件平均温度也可接受。我们还在加速老化测试中评估了使用寿命。
我们的下一个设计选择是为器件使用设定限制。为减少器件耗散的热量,我们尽可能地避免使用逻辑单元和存储器。器件未使用得到部分会消耗静态功耗,但不会消耗动态功耗。
我们还可以将我们使用的 I/O 数量保持在最低水平。这样也可以降低 I/O 模块的功耗。
因此,通过把部分 I/O 用作虚地,我们缩短了器件内部电流的传输距离,从而降低了电源走线的焦耳效应。虚地也有助于把热量传递到地面。
因为我们不想使用所有的 I/O 和所有的逻辑单元,我们选择把这个设计分布到两个 FPGA 上(图 5)。这样就可以让热量在两个单独的位置耗散。
5 - 为避免使用所有的 I/O 和逻辑单元(上方),该设计使用两个 Spartan-6 FPGA
而非一个。这意味着热量可以在两个单独的地方耗散。
我们还使用多个接地面。这一技巧有助于把热量从温度较高的地方向温度较低的地方传递,并提供额外的热容量。为开发板的可靠性起见,在设计热平面时应考虑避免温度周期过程中发生板层分离问题。
另一个重要步骤是优化我们的代码以降低时钟速率。降低时钟速率可以降低功耗,但也可以让器件在更高的温度下运行。作为例子,我们评估了慢速并行设计和快速流水线化设计之间的权衡取舍。
为提升设计性能,我们确保在最终装配前干燥各个组件并覆盖一层能抵御湿气的保护层。
在高温下器件会老化得更快。可以使用产品认证来衡量设计的器件实际使用寿命随温度变化情况。
我们也在生产中采用老化流程来预老化器件,移除那些老化速度看似比其他部件更快的部件(早期失效),从而只保留下最好的部件。
对我们的设计流程同样重要的是使用以恢复或至少检测存储器单元中或通信中的位错误。如果状态机以未使用的状态结束,也可以恢复。
我们发现在开展我们的设计时使用赛灵思功耗估算器(XPE)是良好的开端。TVivado& Design Suite 为采用较新型的器件的设计提供功耗估算工具。不过测量真实器件上的功耗和比较不同版本的代码经证明是最理想、最准确的做法。
非热电冷却
综合运用上述技巧,循环冗余检查(CRC)和其他类型的错误检测和纠正措施。我们在设计里的各个位置使用这些技巧,我们得到了一款能够工作在125℃环境温度下且具备SDRAM管理、通信总线和图像处理能力的摄像头,虽然按规范其结温不得超过125℃。此外我们还努力做到了无需热电冷却也能在125℃下正常运行。
关注电子发烧友微信
有趣有料的资讯及技术干货
下载发烧友APP
打造属于您的人脉电子圈
关注发烧友课堂
锁定最新课程活动及技术直播
声明:电子发烧友网转载作品均尽可能注明出处,该作品所有人的一切权利均不因本站而转移。
作者如不同意转载,既请通知本站予以删除或改正。转载的作品可能在标题或内容上或许有所改动。
工作温度范围相关文章
工作温度范围相关下载
crc相关文章
crc相关下载
fpga相关文章
fpga相关下载
论坛精华干货
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-

我要回帖

更多关于 mcnemar检验如何理解 的文章

 

随机推荐