6923|9

732

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

FPGA起步_硬件电路设计之可测试性设计 [复制链接]

        昨天看了eeworld的fpga调试小结,写得很好,但是他是从调试的角度来谈,我今天就从如何设计FPGA硬件电路板来谈谈自己的一些体会,我将会着重关注于FPGA电路板的可测试性设计。

        所谓可测试性,很简单,就是在板级调试的时候,更方便调试,判决准则就是想看什么信号就可以看到什么信号,HOHO!

        我的个人经验:

        1. 电源电路设计
        电源电路,建议在电路的输出处增加一些跳线,在电源电路没有调通之前,可以确保电源不会输出到下一部分电路,保证后续电路的安全;
        电源电路部分,应该加上足够的测试点,包括反馈电压点、输出电源点以及地测试点,建议在PCB设计的时候,在电源输出测试点处就近放一个地测试点,个人不建议测量电压的时候,万用表的表笔直接点在电容或者电感上;
        同样建议,在每一个电源输出处,放上一个LED指示灯,电源OK后,LED点亮,所以整块板子有没有工作,一目了然。

        2. FPGA信号测试
        做过FPGA板级调试的朋友想必都有这样的体会,当项目调试不顺,输出结果不是想要的结果时,恨不得把FPGA给拆开,把逻辑分析仪或者数字示波器接入到内部信号通道的每个模块的输入输出端口处,看下波形,分析问题到底出在什么地方。
        虽然有chipscope/signaltap这样的辅助分析工具,但FPGA内部资源毕竟有限,不可能想看什么信号就看什么信号!
        建议如果FPGA设计有多的未用引脚的话,不妨在做FPGA电路设计的时候,引出8根或者16根线来,作为专用调试管脚,在PCB设计时连到一个排插上,用于调试,观察内部节点信号的波形,以下图为例,进行描述:


 
        如上图,在fpga内部电路设计时,可以添加如下测试代码:
        case(test_data_sel)
            n'h0:
                test_pin <= data_a_b;
            n'h1:
                test_pin <= data_b_c;
           default
               test_pin <= data;
        endcase

        这里的data_sel相对于FPGA来说是一个外部输入信号:
        在MCU  + FPGA的电路架构中,这个data_sel可以通过MCU来配置;
        如果是单块FPGA作为唯一处理芯片,可以考虑通过拨码开关来设置,比如一个4位的拨码开关,它将有16种状态,对应到FPGA内部的话,不用修改代码,仅仅拨动开关,就可以观察到16个中间节点信号,是不是对调试很有帮助?

        3. 多放置一些状态指示灯
        放置状态指示灯的目的也是用于调试,哪个模块正常工作或者调试到哪个模块就让哪个LED灯亮,在调试遇到问题的时候,也有助于分析问题到底出现在哪个模块或者出在哪一步,提高调试效率。

        4. MCU + FPGA架构电路设计
        MCU+FPGA这样的架构,在做设计的时候,可以考虑在FPGA内部多例化一些小的ram,有两个作用:
        4.1 ram可以保存一些FPGA内部运行的结果,MCU通过总线把数据读取出来,可以判断当前FPGA内部工作是否正常;
        4.2 在FPGA调试不顺利的时候,可以配置一些数据写入到ram中,并强行断开FPGA数据通路,如上图中,可以强行断开模块A和B之间的数据通路,配置模块B从ram中读取数据,用于判断后续模块B以后的数据链路是否正确。

        FPGA硬件设计、调试都非一朝一夕之功,重在积累!

        我这儿就简单扔几块砖头,期待更多美玉,大家一起探讨,提高设计水平,HOHO!




此帖出自FPGA/CPLD论坛

最新回复

好贴,收藏  详情 回复 发表于 2012-4-27 13:08
点赞 关注
个人签名学习的乐趣在于分享。
 

回复
举报

2万

帖子

71

TA的资源

管理员

沙发
 

回复 楼主 tx_xy 的帖子

很高的经验分享 期待大家的想法
此帖出自FPGA/CPLD论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

板凳
 
谢谢分享,喜欢这样原创的感悟。


前几天买了一块DE0    官方的板板就是好  
还没着手弄呢。
此帖出自FPGA/CPLD论坛
 
 
 

回复

42

帖子

0

TA的资源

一粒金砂(中级)

4
 

支持一下

虽然不搞FPGA,但是作者愿意与大家分享的态度,和写的内容还是非常有益的。呵呵。
此帖出自FPGA/CPLD论坛
个人签名相信自己,相信未来
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(中级)

5
 
我们公司要你这样的人才,来不?
此帖出自FPGA/CPLD论坛
 
 
 

回复

732

帖子

0

TA的资源

纯净的硅(高级)

6
 
原帖由 ablewen 于 2011-9-7 16:01 发表 我们公司要你这样的人才,来不?


哈 谢谢您的赏识 

只要合适 可以考虑哦 。。。
此帖出自FPGA/CPLD论坛
个人签名学习的乐趣在于分享。
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(中级)

7
 
感谢分享!下来看看。谢谢
此帖出自FPGA/CPLD论坛
个人签名我爱嵌入式
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

8
 

从FPGA方便调试的角度来讲:硬件设计必须要有两种接口

    1.  网络接口,可以大量数据上传到PC上观测!

    2.  普通IO接口可以观测内部信号。(比较高速信号,网络接口不能看的东西)。

此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(初级)

9
 
多谢楼主,受益匪浅
此帖出自FPGA/CPLD论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

10
 
好贴,收藏
此帖出自FPGA/CPLD论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表