fpga板制作调试过程记录
2010-09-11 22:49:00
昨天淘宝准备买块fpga核心板学习,为了练习焊接,我让老板给我散料及pcb板自己焊接。
一,在物料到之前的准备:
我先设计了一下焊接测试计划
1,检查电路板:特别是TQFP-144芯片引脚引出线。
2,研究原理图,一块一块看懂。如果有些外围测试电路就可以不用焊接了。
3,决定焊接顺序。先焊接焊接稳压ic,3.3v及外围。便于测量及时发现问题。再焊接1.2v稳压外围,进行并进行测量。
4,焊接TQFP-144芯片。并进行电压、GND及相邻引脚间短路测试。
5,焊接下载配置外围。便于连接电脑下载测试。
二,实际测试结果
对应计划3:
3.3V稳压芯片没有问题正常输出。1.2V稳压芯片也没有问题正常输出。
对应计划4:
TQFP-144的ic焊接完后通过万用表进行短路测试发现如下引脚短路:
68(GND).69(IO)短路
66(VCCIO),67(IO)短路
61(GND),62(VCCINT)短路-----
135(IO),136(IO)短路
呵呵!相关引脚弄了点松香拉一下就ok了。
对应计划5:
下载测试
第1次用jtag下载程序,怎么回事,没反应?
到网上搜类似情况。有个人说首先看nce片选是否为低电平,低电平则工作,我就测了下我的nce(16
脚),发现怎么和clk(17脚)的波形一样,结果一测,发现16,17脚短路。在放大镜下怎么也看不出
短路,还查了是否其他引脚短路导致它们短路,但是查不出为什么短路,最后死马当活马医,放了点
松香拉了一下,就好了,他们之间不短路了,原来真的是这2脚短路了,但是阻值为154ohm。不管了,
不短路就ok。
第2次用jtag下载程序,还是没有反应。怎么回事。我的nce是接个10k啦到地的。但是测了此脚出现的
是一个clk的波形,虽然已经不短路了,但是波形还是和晶振(17脚)类似,只不过电压小了。这个引
脚应该不是地电平就是高电平,怎么会是一个正弦波。难道是电磁干扰?接着,查了网上多个fpga的
jtag电路配置,第一个nce要接地,最后一个nce要悬空。那么我就一个fpga怎么办?到altera网站下
载ep2c5t资料看,发现nce直接短路到低这样的参考电路,于是把10k电阻去掉,直接短路。
第3次下载,终于是配置成功了,我设置的输出脚有反应了。同时又仔细的了解了.nSTATUS(82脚)和
CONF_DONE(83脚)在配置过程(复位、配置和初始化)中的电平状况,并且进行了验证,完全符合。
但是问题又出来了。我用之前做的分频器作为测试电路程序,输入为50m,输出为3分频,结果输出脚
有反应但是它是100m,接着我改成5分频,输出也差不多100m。怎么回这样呢?我不是已经配置成功了
吗?而且输出都是正弦信号,不是方波。可能输入电压即输出电压,而且我也没在fpga中加数字门电
路。但是总体感觉硬件是没有问题,jtag配置也没有问题,可能是程序设置有问题。
今天不测量好,我是不会死心的,至少我要知道我的硬件焊接到底有没有问题。
我还是静下心来重新写一个程序吧!越简单越好的那种。
`timescale 1 ps/ 1 ps
module fpgatest(
input clk,
output testpin
);
reg[0:0] regtestpin;
assign testpin=regtestpin;
initial
regtestpin=0;
always @ (posedge clk)
regtestpin<=~regtestpin; //2分频
endmodule
软件引脚配置,综合,写testbench,分配其他引脚为三态输入,设置时序约束,管脚电流限制等,再用modelsim做function test。一切软件上的事情都完成了。
第4次下载。查看我分配的testpin引脚波形。非常成功了进行了2分频,后来又改为4分频,16分频。都
非常成功。于是又改了引脚分配,在4个bank中分别选了个别用户引脚作输出,也如愿输出设计了波形。
fpga核心板硬件测试画上了一个完美的句号。(as配置下我先不测,因为程序下载到配置芯片后如何
清空我不会,并且用as下载我暂时还用不到)自己焊了一块板,而且还调试成功,很有成就感,一定要记录一笔
,夜深了,我可以做一个美梦了,明天还要上一天的课,早点休息了。
fpga板制作调试过程记录的更多相关文章
- ZCU板级调试Bug记录
本帖用以记录在ZCU102板级调试间遇到的Bug. 1.PL端的AXI总线在读取DDR中的数据的时候,在一个burst内不能跨越page boundary.跨越page boundary会在该burs ...
- PCIE 调试过程记录
遇到的问题 PCIE link不稳定 配置空间读写正常,Memory mapping空间读写异常 缘由 之前对PCIE的认识一直停留在概念的阶段,只知道是一个高速通讯协议,主要用于板内.板间的高速BU ...
- 用fluent模拟内循环床气化燃烧(调试过程记录)
模拟对象为文献Combined gasification of coal and biomass in internal circulating fluidized bed[1]中的内循环气化炉.[1]h ...
- SpringMVC中的java.lang.ClassNotFoundException: org.aspectj.weaver.BCException 调试过程记录
报错原因 上文本描述 java.lang.NoClassDefFoundError: org/aspectj/weaver/BCException at java.lang.Class.getDecl ...
- 开源项目weiciyuan运行前gradle调试过程记录
折腾了几个小时,终于能成功运行了,由于该项目使用的gradle版本过旧,需要做一些调整,具体如下 1.将使用gradle版本号改为你现在用的 2.将build tools版本号改为同上 3.将defa ...
- usb鼠标制作调试记录
2010-07-26 20:07:00 制作调试过程 1,串口通信硬件设计.焊接了串口通信电路实验.由于我的usb转串口线是不能配max232的.而是要配一个反向器.于是自己焊接了74ls00.并且把 ...
- 升级Windows 10 正式版过程记录与经验
升级Windows 10 正式版过程记录与经验 [多图预警]共50张,约4.6MB 系统概要: 预装Windows 8.1中文版 64位 C盘Users 文件夹已经挪动到D盘,并在原处建立了符号链接. ...
- 双系统Ubuntu分区扩容过程记录
本人电脑上安装了Win10 + Ubuntu 12.04双系统.前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了.于是,从硬盘又分出来一部分空间,分给Ubu ...
- xp硬盘安装Fedora14 过程记录及心得体会(fedora14 live版本680M 和fedora14 DVD版本3.2G的选择)
这次电脑奔溃了,奇怪的是直接ghost覆盖c盘竟然不中.之前电脑上硬盘安装的fedora14操作系统,也是双系统.不知道是不是这个问题,记得同学说过,在硬盘装fedora之后,要手动修改c盘隐藏的那个 ...
随机推荐
- Maven项目错误解决小结
http://blog.csdn.net/typa01_kk/article/details/49185759 Maven项目错误解决小结 注:整理错误,不喜欢为了一个小问题,占篇幅,所以请Ctrl+ ...
- ABBYY PDF Transformer+功能概述
ABBYY PDF Transformer+是一个新的.全面的巧妙解决PDF文档的工具,它将泰比的光学字符识别(OCR)技术和Adobe®PDF技术完美结合,以确保实现便捷地处理任何类型的PDF文件, ...
- SpringMVC Controller单例和多例
对于SpringMVC Controller单例和多例,下面举了个例子说明下. 第一次:类是多例,一个普通属性和一个静态属性. 结果:普通属性:0.............静态属性:0 普通属性:0. ...
- mysql安装过程mysql本地环境变量的配置
配置环境变量 前面步骤完成后安装好MySQL,为MySQL配置环境变量.MySQL默认安装在C:\Program Files下. 1)新建MYSQL_HOME变量,并配置:C:\Program Fil ...
- 【2019年03月29日】股票的滚动市盈率PE最低排名
仅根据最新的市盈率计算公式进行排名,无法对未来的业绩做出预测. 深康佳A(SZ000016) - 滚动市盈率PE:2.51 - 滚动市净率PB:1.68 - 滚动年化股息收益率:2.9% - - - ...
- [原]Docker-issue(1) image name 显示为 <none>
问题:今天发现重新上传新的image的时候覆盖了原来的镜像后,REPOSITORY 就变为了 <none> ,如下图 解决办法: 使用tag重新命名image 问题解决:
- 清理docker容器的日志大小
Docker容器日志清理 date :2019-04-08 13:57:40 1. 问题 docker容器日志导致主机磁盘空间满了.docker logs -f container_name 发现大 ...
- 【CF480D】Parcels DP
[CF480D]Parcels 题意:有一个栈,有n个物品,每个物品可以选或不选.如果选了第i个物品,则获得$v_i$的收益,且第i个物品必须在$in_i$时刻入栈,$out_i$时刻出栈.每个物品还 ...
- [转]常见的JavaScript内存泄露
什么是内存泄露 内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存.内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制, ...
- WordCount扩展
码云地址:https://gitee.com/xjtsh/ExpandedWordCount 功能实现: wc.exe -c file.c //返回文件 file.c 的字符数 wc.exe ...