搜索
bottom↓
回复: 8

EPM240问题求助!

[复制链接]

出0入0汤圆

发表于 2013-10-20 17:04:48 | 显示全部楼层 |阅读模式
小弟最近弄了一VGA显示的代码,发现一奇怪问题,烧写到芯片中后,芯片内部会短路,已经有好几块板子出现这样的问题了,我检查过好多次,没有烧程序前芯片供电正常,把代码烧进去后,VCC与GND短路,请大虾们帮忙愁一愁!
/*Horizontal :
                ______________                 _____________
               |              |               |
_______________|  VIDEO       |_______________|  VIDEO (next line)

___________   _____________________   ______________________
           |_|                     |_|
            B C <------D-----><-E->
            <----------A---------->


Vertical :
                ______________                 _____________
               |              |               |           
_______________|  VIDEO       |_______________|  VIDEO (next frame)

___________   _____________________   ______________________
           |_|                     |_|
            P Q <------R-----><-S->
            <----------O---------->
For VESA 1024*768 @ 60Hz:
Fh (kHz) :48.54
A  (us)  :20.6
B  (us)  :2.09
C  (us)  :2.46
D  (us)  :15.7
E  (us)  :0.37

Fv (Hz)  :60.32
O  (ms)  :16.6
P  (ms)  :0.12
Q  (ms)  :0.599
R  (ms)  :15.87
S  (ms)  :0.062
*/
`timescale 1 ns/100ps

module EPM240_VGA(pclk,VTEST_S,disp_RGB,CPLD_HS,CPLD_VS,CPLD_LED);
//input
input             pclk; //48MHZ(20.833ns)
input            [2:0]  VTEST_S;
//output
output            [8:0]      disp_RGB;    //VGA
output        reg           CPLD_HS;
output        reg                CPLD_VS;

output            [2:0]        CPLD_LED;

wire              [2:0]  VTEST_S;
wire              [2:0]  CPLD_LED;

assign   CPLD_LED  =    VTEST_S;

//        Internal Registers
reg                        [10:0]        H_Cont;
reg                        [10:0]        V_Cont;

reg         [8:0]  data;
reg         [8:0]  h_dat;
reg         [8:0]  v_dat;

wire  dat_act;
always@(posedge pclk)
begin
  if(H_Cont==988)
    H_Cont<=0;
  else
     H_Cont<=H_Cont+1;
end

always@(posedge pclk)
begin
   if(V_Cont==806) V_Cont<=0;
   else if(H_Cont==988) V_Cont<=V_Cont+1;
end

always@(posedge pclk)
begin

  if(H_Cont==0)   CPLD_HS<=0;
  else if(H_Cont==100) CPLD_HS<=1;
  if(V_Cont==0)   CPLD_VS<=0;     
  else if(V_Cont==6)   CPLD_VS<=1;

end

//
assign dat_act =    ((H_Cont >= 218) && (H_Cont < 971))
     && ((V_Cont >= 34) && (V_Cont < 802));
assign disp_RGB = (dat_act) ?  data : 9'b000000000;               

always @(posedge pclk)
begin
case(VTEST_S[2:0])
  3'd7:
  begin
  data <= 9'b000000000;
  end
  3'd6: data <= (~v_dat ^ h_dat);      //???????
  3'd5: data <= (v_dat ^ h_dat); //???????
  3'd2: data <= 9'b111000000; //???????
  3'd3: data <= 9'b000111000; //??????
  3'd4: data <= 9'b000000111; //??????
  3'd1: data <= 9'b000000000; //???????
  3'd0: data <= 9'b111111111; //???
  endcase
end

always @(posedge pclk)  //???????
begin
if(H_Cont < 400)
  v_dat <= 9'b000000000;      //?  
else if(H_Cont < 788)
  v_dat <= 9'b111111111;   //?
else
  v_dat <= 9'b000000000;   //?
end

always @(posedge pclk)  //???????
begin
if(V_Cont < 226)
  h_dat <= 9'b111111111;        //?
else if(V_Cont < 606)
  h_dat <= 9'b000000000;   //?
else
  h_dat <= 9'b111111111;   //?
end

endmodule

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2013-10-20 19:48:55 | 显示全部楼层
单纯看逻辑的话没看出什么来,你把硬件原理和这个程序的那个几个输出端口说明一下,我再看一下

出20入186汤圆

发表于 2013-10-20 20:55:24 | 显示全部楼层
这个要看你硬件电路了,

出0入0汤圆

 楼主| 发表于 2013-10-22 13:24:05 | 显示全部楼层
今天附上电路原理图,请大虾们指教!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-10-22 13:35:37 | 显示全部楼层
电路端口说明:VTEST_S0-VTEST_S2 作为外部输入控引脚,用来选择VGA输出模式!CLED0-CLED2用来显示开控制引脚选通状态。代码中直接用 assign   CPLD_LED  =    VTEST_S; 语句是否妥当?至于HS和VS的输出应该没什么问题。其它引脚就是VGA的电平控制了。


出0入0汤圆

发表于 2013-10-22 22:45:46 来自手机 | 显示全部楼层
用软件仿真一下,再看一下编译综合后的report,看看有没有警告

出0入0汤圆

发表于 2013-10-23 11:30:21 | 显示全部楼层
quartus不会让CPLD内部程序短接的,LZ最好先检查下外部引脚。
比如:你在程序中赋值VCC然而外部引脚直连GND这样quartus就检查不出来了。





http://shop106094428.taobao.com/ ... 3479751109.2.OjlX0F

出0入0汤圆

发表于 2013-10-23 13:59:55 | 显示全部楼层
LZ查看下Quartus 中未使用引脚的配置,一般软件默认接地,这个是很多EDA工程师容易忽视的问题!







http://shop106094428.taobao.com/ ... 3479751109.2.OjlX0F

出0入0汤圆

发表于 2013-10-23 14:31:33 | 显示全部楼层
短路可能性不大吧,
你擦除以后还短不?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 05:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表