batou 发表于 2012-4-28 13:35:50

FPGA芯片所有IO口不能同时用

前几天我做了个测试,因为使用的FPGA芯片有个别引脚坏的情况,为了验证引脚的好坏,我给所有引脚同时灌输一个波形,可没想到下载这个程序之后就再也下不进程序,芯片也不能工作了,
我又连续试了三块芯片,三块都出现了同样的情况,下载后每个引脚上都是这个波形(如下图),出现脉宽为415ns的低电平,幸好这些芯片我都是从公司其余废板子上拆下的,现在把源码跟
编译后的结果贴在下面,大家一起来研究下
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity test_pin is

        generic (n:natural:=8);

        port(
                clk:in std_logic;
                pin:buffer std_logic_vector(31 downto 0);
                pin1:buffer std_logic_vector(31 downto 0);
                pin2:buffer std_logic_vector(8 downto 0)
                );
end test_pin;

architecture rtl of test_pin is
begin
        process(clk)
        variable num:integer range 0 to n;
        begin
                if clk'event and clk='1'then
                        if num=n then
                        pin<=not pin;
                        pin1<=not pin1;
                        pin2<=not pin2;
                        num:=0;
                        else
                        num:=num+1;
                        end if;
                end if;
        end process;       

end rtl;



Design Summary:
   Number of PFU registers:    45
   Number of SLICEs:            24 out of   320 (8%)
      SLICEs(logic/ROM):      24 out of   128 (19%)
      SLICEs(logic/ROM/RAM):   0 out of   192 (0%)
          As RAM:            0
          As Logic/ROM:      0
   Number of logic LUT4s:      46
   Number of distributed RAM:   0 (0 LUT4s)
   Number of ripple logic:      0 (0 LUT4s)
   Number of shift registers:   0
   Total number of LUT4s:      46
   Number of external PIOs: 74 out of 74 (100%)
   Number of 3-state buffers:   0
   Number of GSRs:0 out of 1 (0%)
   JTAG used :      No
   Readback used :No
   Oscillator used :No
   Startup used :   No
   Number of TSALL: 0 out of 1 (0%)
   Notes:-
      1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of distributed RAMs) + 2*(Number of ripple logic)
      2. Number of logic LUT4s does not include count of distributed RAM and ripple logic.
   Number of clocks:1
   Net clk_c: 24 loads, 24 rising, 0 falling (Driver: PIO clk )

zkf0100007 发表于 2012-4-30 09:25:33

不要用buffer这种东西,用in/out/inout

wye11083 发表于 2012-4-30 11:44:01

知道为什么下不进去吗?你的程序把JTAG管脚给占了。你可以找找办法,据说加上高电压用一定时序是可以恢复为出厂状态的。

wangshaosh123 发表于 2012-4-30 11:46:08

wye11083 发表于 2012-4-30 11:44 static/image/common/back.gif
知道为什么下不进去吗?你的程序把JTAG管脚给占了。你可以找找办法,据说加上高电压用一定时序是可以恢复为 ...

请问什么情况下会出现把JTAG引脚占用的情况
这个我需要特别注意一下

h2feo4 发表于 2012-4-30 12:33:53

要注意SSO限度,手册上有说明各种情况下最多允许同时翻转多少IO。超过的话电源会撑不住,几百个IO同时翻转的话,电源能抖个1.5Vpp

wye11083 发表于 2012-4-30 12:39:42

应该是芯片配置的问题吧,但是JTAG应该不会自动占用的才对,除非你在管脚分配中把JTAG的脚给改成IO了。你可以试试断开配置芯片再重新编程,或者把JTAG直接连到配置芯片上,不要把两个芯片链起来(你的FPGA的JTAG已经失效了)。

pocker5200 发表于 2012-4-30 17:56:47

本帖最后由 pocker5200 于 2012-4-30 17:59 编辑

FPGA的电平同时翻转引脚数是有限制的,xilinx的话每个BANK好象是总引脚数的6%,多了有超负荷警告。

batou 发表于 2012-4-30 21:53:37

我这次用的是lattice公司的XO系列的芯片,之前用altera公司的EP1C8系列的芯片没出现这种情况,有点费解啊

苦行僧 发表于 2012-4-30 22:05:27

这个没试过,这样看来也不敢试,比较我们穷人烧不起,坐等实验结果{:lol:}

shangxf 发表于 2012-4-30 22:34:11

外围电路有关系吗

以前用CPLD时遇见过类似问题,断开某些IO口就可以以再写入,忘了什么原因了

batou 发表于 2012-8-28 19:38:29

h2feo4 发表于 2012-4-30 12:33 static/image/common/back.gif
要注意SSO限度,手册上有说明各种情况下最多允许同时翻转多少IO。超过的话电源会撑不住,几百个IO同时翻转 ...

你这话说的很对,这个实验没敢做下去了,但是我查阅了很多相关资料和问过一些专家,基本上都是你这个说法,
他们说下不进程序是因为内部的逻辑电路死掉了,这话我很怀疑,因为如果这样不可能每个IO都出现同样的情况,
一个程序有这么容易把内部逻辑烧死吗?如果这样的话编译环境是不是应该做下改进?

batou 发表于 2012-8-28 19:41:25

shangxf 发表于 2012-4-30 22:34 static/image/common/back.gif
外围电路有关系吗

以前用CPLD时遇见过类似问题,断开某些IO口就可以以再写入,忘了什么原因了 ...

你好好想想是断开那些引脚呀,我试过把部分IO的电源断掉,但还是不能写入{:dizzy:}

batou 发表于 2012-8-28 19:44:54

苦行僧 发表于 2012-4-30 22:05 static/image/common/back.gif
这个没试过,这样看来也不敢试,比较我们穷人烧不起,坐等实验结果

一来lattice的芯片比较便宜,二来公司一些废板子上有,所以我才敢试,不然我也烧不起啊

richards 发表于 2012-8-28 19:46:08

数字电路 不能这样用的哦。

batou 发表于 2012-8-28 19:48:27

richards 发表于 2012-8-28 19:46 static/image/common/back.gif
数字电路 不能这样用的哦。

之前有遇到某个IO坏了,我是想一次性测试引脚好坏,以后不敢这么用了

kebaojun305 发表于 2013-10-6 15:43:13

分开测试    电源带不动。

dongfo 发表于 2013-10-6 15:47:37

这玩意贵啊,玩不起

LVmcu 发表于 2013-10-24 16:42:43

记住!!!
页: [1]
查看完整版本: FPGA芯片所有IO口不能同时用