完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
是640*480的60Hz显示,请教为何会这样?谢谢!代码如下
顶层模块module vga_rgb( input clk, input rstn, output vsyn, output hsyn, output red, output green, output blue ); /********************************/ wire redq; wire greenq; wire blueq; wire romad; //syn模块 syn syn( .clk(clk), .rstn(rstn), .redin(redq), .greenin(greenq), .bluein(blueq), .vsyn(vsyn), .hsyn(hsyn), .romaddr(romad), .redout(red), .greenout(green), .blueout(blue) ); //red red red_inst ( .address ( romad), .clock ( clk ), .q ( redq ) ); //green green green_inst ( .address ( romad), .clock ( clk ), .q ( greenq ) ); //blue blue blue_inst ( .address ( romad), .clock ( clk ), .q ( blueq ) ); endmodule 时间同步模块 module syn( input clk, input rstn, input redin, input greenin, input bluein, output vsyn, output hsyn, /* output ready, output[15:0] hhaddr, //h 行 v场 output[15:0] vvaddr, */ output[15:0] romaddr, output redout, output greenout, output blueout );/********************************************/ reg[15:0] hcnt; always@(posedge clk or negedge rstn) if(!rstn) hcnt<=15'd0; else if(hcnt==15'd799) hcnt<=15'd0; else hcnt<=hcnt+1'b1; /**********************************************/ reg[15:0] vcnt; always@(posedge clk or negedge rstn) if(!rstn) vcnt<=15'd0; else if(vcnt==15'd524) vcnt<=15'd0; else if(hcnt==15'd799) vcnt<=vcnt+1'b1; /***********************************************/ reg isready; always@(posedge clk or negedge rstn) if(!rstn) isready<=1'b0; else if((hcnt>=15'd144 && hcnt<15'd764)&&(vcnt>=15'd35 && vcnt<15'd515)) isready<=1'b1; else isready<=1'b0; /***********************************************/ assign vsyn=(vcnt<=15'd2)?1'b0:1'b1; assign hsyn=(hcnt<=15'd96)?1'b0:1'b1; /***********************************************以上输出行场同步和准备信号*/reg[15:0]n; always@(posedge isready or negedge rstn)if(!rstn) n<=16'b0;else if(n==55380)n<=16'b0;else n<=n+1'b1;/****************************************************/ assign romaddr=n; /**************************************************以上是rom的地址信号*/ assign redout=isready?redin:1'b0;assign greenout=isready?greenin:1'b0;assign blueout=isready?bluein:1'b0; endmodule |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1559 浏览 1 评论
1335 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1544 浏览 0 评论
927 浏览 0 评论
2341 浏览 0 评论
1464 浏览 35 评论
5676 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 04:10 , Processed in 0.539064 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号