9840|9

9

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

vga传输时遇到的时序问题 急求解决 [复制链接]

这是我的代码: module VGA(clk,rst_n,vgar,vgab,vgag,vga_vs,vga_hs) ;
   input  clk,rst_n;  //50Mhz
        output [3:0] vgar;
        output [3:0] vgag;
        output [3:0] vgab;
        output vga_vs;
        output vga_hs;
       
        reg [10:0]ths ;   //行坐标,11位计数器,计数Ta+Tb+Tc+Td+Te+Tf+Tg=96+40+8+640+8+8=800;
                         //Ta,Tb,Tc,Td,Te,Tf,Tg分别为
        reg [9:0]tvs ;//列坐标,10位计数器,计数Ta+Tb+Tc+Td+Te+Tf+Tg=2+25+8+480+8+2=525
       
  
  /*--------行扫描计数--------------------**/
    always @(posedge clk or negedge rst_n)
          if(!rst_n) ths<=11'd0;
            else if(ths==11'd1039) ths<=11'd0;
                  else if(ths<11'd1039) ths<=ths+11'd1;
       

  /*--------列扫描计数--------------------**/       
    always @(posedge clk or negedge rst_n)
          if(!rst_n) tvs<=10'd0;
            else if(tvs==10'd665) tvs<=10'd0;
                  else if(ths==11'd1039) tvs<=tvs+10'd1;
                  
/*---------------------------------------*/
/*--------------VGA时序产生模块---------------*/
  reg  hsync;
  reg  vsync;
    always @(posedge clk or negedge rst_n)
          if(!rst_n) hsync<=1'b1;
           else if(ths==11'd0) hsync<=1'b0;
                 else if(ths==11'd120) hsync<=1'b1 ; //此处可能为hsync<=10'h3ff
                  
  always @(posedge clk or negedge rst_n)
          if(!rst_n) vsync<=1'b1;
           else if(tvs==10'd0) vsync<=1'b0;
                 else if(ths==10'd6) vsync<=1'b1;
                 
          assign vga_hs=hsync;       
  assign vga_vs=vsync;
  
  
  /*------显示模块--------*/
  /*------确定显示位置模块--------*/
  
   wire [10:0]hs_pos;  //hsync的位置
        wire [9:0]vs_pos;  //vsync的位置

  wire valid;        //有效显示区域
  assign valid=(tvs>187)&&(tvs<987)&&(ths>31)&&(ths<631);  //确定显示区域
  assign hs_pos=ths-11'd187;
  assign vs_pos=tvs-10'd31;
   
        /*----------显示--------------*/
       
   //显示一个矩形框
         
         wire a_dis,b_dis,c_dis,d_dis;
         assign a_dis=(vs_pos>=324)&&(vs_pos<=354)&&(hs_pos>=268)&&(hs_pos<=568);
         assign b_dis=(vs_pos>=624)&&(vs_pos<=644)&&(hs_pos>=268)&&(hs_pos<=568);
         assign c_dis=(vs_pos>=354)&&(vs_pos<=624)&&(hs_pos>=268)&&(hs_pos<=298);
         assign d_dis=(vs_pos>=354)&&(vs_pos<=624)&&(hs_pos>=538)&&(hs_pos<=568);
         
         //reg [11:0] vga_rgb;
          reg [3:0] vga_r;
          reg [3:0] vga_g;
          reg [3:0] vga_b;
          
         always @(posedge clk )
           if(!valid) begin vga_r<=0;vga_g<=0;vga_b<=0;end //vga_rgb<=9'd0;
                 else if(valid==(a_dis|b_dis|c_dis|d_dis))  begin vga_r<=15;vga_g<=15;vga_b<=15;end  //vga_rgb<=9'd500;
                                else begin vga_r<=8;vga_g<=8;vga_b<=8;end //vga_rgb<=9'd138;
                                                                                                                       
    assign         vgar=        vga_r        ;
    assign         vgag=        vga_g        ;
    assign         vgab=        vga_b;                 
             
  //assign vgar=vga_rgb[11:8];                                                   
  //assign vgag=vga_rgb[7:4];
  //assign vgab=vga_rgb[3:0];
         
  
  
  
  endmodule
此帖出自FPGA/CPLD论坛

最新回复

这个的设置对程序运行的效果大嘛? 我的程序原本是想显示彩条,但是最后是花屏,不过能模糊的看到条状的?可能是我这个没有设置的原因吗   详情 回复 发表于 2014-7-24 17:08
点赞 关注
 

回复
举报

9

帖子

0

TA的资源

一粒金砂(中级)

推荐
 
增加了。sdc的文件,也做了testbench,但仍不好用。
如何设置CLK最大约束频率以及TSETUP,THOLD等等时间参数
此帖出自FPGA/CPLD论坛
 
 

回复

51

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
你的问题是什么啊?
此帖出自FPGA/CPLD论坛
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

补充问题是:警告 如下

Critical Warning (332012): Synopsys Design Constraints File file not found: 'VGA.sdc'. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.

Critical Warning (332148): Timing requirements not met
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

4
 
这个没关系。意思就是你没有设置CLK最大约束频率以及TSETUP,THOLD等等时间参数
此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

5
 
往Project里加一个SDC文件进去试试,内容如下:

create_clock -period 20.000 -name clk [get_ports {clk}]
derive_pll_clocks
derive_clock_uncertainty
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

7
 

在Q2下设置如下:

  1.  第一步:Q2主界面下菜单\\assignment\setting ,如图设置

 

第二部,参照下图设置即可

 

一般来说,tsu+tco+tpd+th<=1/f,即可!

此帖出自FPGA/CPLD论坛

点评

这个的设置对程序运行的效果大嘛? 我的程序原本是想显示彩条,但是最后是花屏,不过能模糊的看到条状的?可能是我这个没有设置的原因吗  详情 回复 发表于 2014-7-24 17:08
谢谢啊 学习了  详情 回复 发表于 2014-7-24 17:06
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

8
 
学习了,谢谢分享!!!
此帖出自FPGA/CPLD论坛
 
 
 

回复

186

帖子

0

TA的资源

一粒金砂(中级)

9
 
eeleader 发表于 2012-5-23 14:09
在Q2下设置如下:
  1.  第一步:Q2主界面下菜单\\assignment\setting ,如图设置


谢谢啊 学习了
此帖出自FPGA/CPLD论坛
 
 
 

回复

186

帖子

0

TA的资源

一粒金砂(中级)

10
 
eeleader 发表于 2012-5-23 14:09
在Q2下设置如下:
  1.  第一步:Q2主界面下菜单\\assignment\setting ,如图设置


这个的设置对程序运行的效果大嘛? 我的程序原本是想显示彩条,但是最后是花屏,不过能模糊的看到条状的?可能是我这个没有设置的原因吗
此帖出自FPGA/CPLD论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表