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板制作调试过程记录的更多相关文章

  1. ZCU板级调试Bug记录

    本帖用以记录在ZCU102板级调试间遇到的Bug. 1.PL端的AXI总线在读取DDR中的数据的时候,在一个burst内不能跨越page boundary.跨越page boundary会在该burs ...

  2. PCIE 调试过程记录

    遇到的问题 PCIE link不稳定 配置空间读写正常,Memory mapping空间读写异常 缘由 之前对PCIE的认识一直停留在概念的阶段,只知道是一个高速通讯协议,主要用于板内.板间的高速BU ...

  3. 用fluent模拟内循环床气化燃烧(调试过程记录)

    模拟对象为文献Combined gasification of coal and biomass in internal circulating fluidized bed[1]中的内循环气化炉.[1]h ...

  4. SpringMVC中的java.lang.ClassNotFoundException: org.aspectj.weaver.BCException 调试过程记录

    报错原因 上文本描述 java.lang.NoClassDefFoundError: org/aspectj/weaver/BCException at java.lang.Class.getDecl ...

  5. 开源项目weiciyuan运行前gradle调试过程记录

    折腾了几个小时,终于能成功运行了,由于该项目使用的gradle版本过旧,需要做一些调整,具体如下 1.将使用gradle版本号改为你现在用的 2.将build tools版本号改为同上 3.将defa ...

  6. usb鼠标制作调试记录

    2010-07-26 20:07:00 制作调试过程 1,串口通信硬件设计.焊接了串口通信电路实验.由于我的usb转串口线是不能配max232的.而是要配一个反向器.于是自己焊接了74ls00.并且把 ...

  7. 升级Windows 10 正式版过程记录与经验

    升级Windows 10 正式版过程记录与经验 [多图预警]共50张,约4.6MB 系统概要: 预装Windows 8.1中文版 64位 C盘Users 文件夹已经挪动到D盘,并在原处建立了符号链接. ...

  8. 双系统Ubuntu分区扩容过程记录

    本人电脑上安装了Win10 + Ubuntu 12.04双系统.前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了.于是,从硬盘又分出来一部分空间,分给Ubu ...

  9. xp硬盘安装Fedora14 过程记录及心得体会(fedora14 live版本680M 和fedora14 DVD版本3.2G的选择)

    这次电脑奔溃了,奇怪的是直接ghost覆盖c盘竟然不中.之前电脑上硬盘安装的fedora14操作系统,也是双系统.不知道是不是这个问题,记得同学说过,在硬盘装fedora之后,要手动修改c盘隐藏的那个 ...

随机推荐

  1. laravel5.8笔记六:公共函数和常量设置

    公共函数 创建bootstrap/common.php <?php // 发送短信 function sendSMS($mobile){ } // 发送邮件 function sendMail( ...

  2. nohup 部署springboot 使用命令

    启动jar包:nohup java -jar news-0.0.1-SNAPSHOT.jar 查看进程:netstat -nap|grep  [3389]3389  为需要查看的端口号 关闭进程:ki ...

  3. 使用PsExec获取shell执行命令

    PsExec PsExec是pstools工具组套件的一部分,确成为了渗透利器,下载地址:点击这里下载 连接shell 我的Windows Server 2012默认打开域网络防火墙的时候,是不能连接 ...

  4. CSS设置浏览器滚动条样式

    /*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 5px; height: 110px; background-color: #F5 ...

  5. js中的运算符优先级

    运算符有何很多,基本的可能都比较熟,单有些优先级很难记住.建议使用“()”将复杂的运算表达式区分好优先级. 我给运算符优先级做了一首小打油诗. 括号成员new函数 直new后置累计数 单目幂算乘除模 ...

  6. PCB画板总结

    最近几天完成了第一个PCB电路板.虽然器件不是很多,手动布线了4次才达到自己理想的效果. 但是还是有很多细节只有亲自拿到了自己做的板子,亲自焊接之后,才知道自己哪里不合适. 这是修改了4次之后的最终的 ...

  7. 有趣的JavaScript隐式类型转换

    JavaScript的数据类型是非常弱的(不然不会叫它做弱类型语言了)!在使用算术运算符时,运算符两边的数据类型可以是任意的,比如,一个字符串可以和数字相加.之所以不同的数据类型之间可以做运算,是因为 ...

  8. ruby 基础知识 - Class 与 Module

    原文 1. 因為 Ruby 並沒有「屬性」(property/attribute)這樣的設計,要取用實體變數,需要另外定義的方法才行: class Cat def initialize(name, g ...

  9. mysql拿webshell总结

    1.select '<?php eval($_POST[jumbo]) ?>' into outfile '/var/www/jumbo.php'; 2.select '<?php ...

  10. 用js实现二维数组的旋转

    我最近因为做了几个小游戏,用到了二维数组,其中有需求将这个二维数组正翻转 90°,-90°,180°. 本人是笨人,写下了存起来. 定义的基本二位数组渲染出来是这种效果. 现在想实现的结果是下面的效果 ...