ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:83.54KB ,
资源ID:3990289      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3990289.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(电子设计自动化课程设计报告.doc)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

电子设计自动化课程设计报告.doc

1、电子设计自动化课程设计报告学生姓名: 学 号: 课设题目: VGA彩条信号显示控制器设计 同组人: 电子设计自动化课程设计报告郝欣欣一、课程设计内容1、 使用Verilog语言和Modelsim仿真器完成可显示横彩条、竖彩条、棋盘格相间的VGA控制器的设计和验证2、 设计并验证可显示英语单词”HIT的VGA控制器3、 使用Quartus II和SOPC实验箱验证设计的正确性4、 Verilog代码要符合微电子中心编码标准二、FPGA原理CPLD、FPGA是在PAL、GAL等基础上发展起来的一种具有丰富的可编程I/O引脚、逻辑宏单元、门电路以及RAM空间的可编程逻辑器件,几乎所有应用门阵列、PL

2、D和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。CPLD的设计是基于乘积项选择矩阵来实现的,而FPGA基于查找表来设计的.查找表就是实现将输入信号的各种组合功能以一定的次序写入RAM中,然后在输入信号的作用下,输出特定的函数运算结果。其结构图如图1所示:图1. FPGA查找表单元一个N输入查找表 (LUT,Look Up Table)可以实现N个输入变量的任何逻辑功能,如 N输入“与”、 N输入“异或”等。输入多于N个的函数、方程必须分开用几个查找表( LUT)实现(如图2所示)。图2 FPGA查找表单元内部结构该系统设计中,FPGA芯片用的是ALTERA公司的EP1K30Q

3、C208-2,它的系统结构如图3所示.它由若干个逻辑单元和中央布线池加I/O端口构成图3 EP1K30QC208内部结构三、VGA接口VGA的全称为Video Graphic Array,即显示绘图阵列.在PC行业发展的初期,VGA以其支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,同时在320X240分辨率下可以同时显示256种颜色的良好特性得到广泛支持。后来,厂商们纷纷在VGA基础上加以扩充,如将显存提高至1M并使其支持更高分辨率如800X600或1024X768,这些扩充的模式就称之为VESA(Video Electronics Standards Associati

4、on,视频电子标准协会)的Super VGA模式,简称SVGA,现在的显卡和显示器都支持SVGA模式.图4 VGA接口VGA接口就是显卡上输出模拟信号的接口,也叫D-Sub接口。VGA接口是一种D型接口,上面共有15针空,分成三排,每排五个。VGA接口是显卡上应用最为广泛的接口类型,绝大多数的显卡都带有此种接口。表1 VGA管脚定义管脚定义1红基色 red 2绿基色 green 3蓝基色 blue4地址码 ID Bit5自测试 (各家定义不同)6红地7绿地8蓝地9保留(各家定义不同)10数字地11地址码12地址码13行同步14场同步15地址码 (各家定义不同)通过模拟VGA接口和计算机连接的显

5、示器的工作原理,是计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。对于模拟显示设备,如模拟CRT显示器,信号被直接送到相应的处理电路,驱动控制显像管生成图像。而对于LCD、DLP等数字显示设备,显示设备中需配置相应的A/D(模拟/数字)转换器,将模拟信号转变为数字信号。在经过D/A和A/D2次转换后,不可避免地造成了一些图像细节的损失。VGA接口应用于CRT显示器无可厚非,但用于连接液晶之类的显示设备,则转换过程的图像损失会使显示效果略微下降。CRT显示器因为设计制造上的原因,只能接受模拟信号输入,也就

6、是我们为什么在CRT显示器上只看到VGA接口的原因。四、VGA显示接口原理计算机显示器的显示有许多标准,常见的有VGA、SVGA等.本系统采用FPGA来实现图像显示控制器,这在产品开发设计中有许多实际应用.常见的彩色显示器,一般由CRT(阴极射线管)构成,彩色是由G、R、B(绿:Green,红:Red,蓝:Blue)三基色组成.显示是用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB三基色,合成一个彩色像素.扫描从屏幕的左上方开始,从左到右,从上到下,进行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信

7、号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫描。对于普通的VGA显示器,其引出线共含5个信号:G、R、B:三基色信号;HS:行同步信号;VS:场同步信号。对于5个信号的时序驱动,对于VGA显示器要严格遵循“VGA工业标准”,即64048060Hz模式。通常我们用的显示器都满足工业标准,因此我们设计VGA控制器时要参考显示器的技术规格。图5是VGA行扫描、场扫描的时序图:图5 VGA行扫描、场扫描时序图表2 VGA参考时序设计VGA工业标准所要求的频率:时钟频率(Clock frequency):25。175MHz(像素输出的频率)

8、;行频(Line frequency):31469Hz;场频(Field frequency):59。94Hz(每秒图像刷新频率)。五、FPGA的设计实现设计VGA图像显示控制需要注意两个问题:一个是时序的驱动,这是完成设计的关键,时序稍有偏差,显示必然不正常,甚至会损坏彩色显示器;另一个是VGA信号的电平驱动。显示控制器设计提示:显示器的技术规格提供的行频一般都满足在3045KHz(保守数据),场频一般满足在5075Hz(保守数据),针对以上保守数据,我们以30KHz的行频进行扫描时所需时钟频率为:30KHz800(行周期)=24MHz,则场频为:30KHz525(场周期)=57.14Hz,

9、针对实验箱的条件,可以用12MHz的信号经过倍频(EP1K30QC208-2芯片特有的功能,在MaxPlusII软件中调用参数可设置兆功能元件库mega_lpm的CLKLOCK元件来倍频)来产生24MHz的时钟频率,参考设计的顶层文件如下图所示:图6。VGA接口实现顶视图VGACORE模块包含了扫描时序产生模块、图像描述模块.时序产生模块的设计可参考图5所示来设计,图像描述模块主要通过640480个像素点来描述图像。如本项设计的彩条信号发生器可通过图像描述模块产生如下表所示的3种显示模式,共6种显示变化的图像。表3 VGA图形编码1行彩条1:白黄青绿品红蓝黑2:黑蓝红品绿青黄白2竖彩条1:白黄

10、青绿品红蓝黑2:黑蓝红品绿青黄白3棋盘格1:棋盘格显示模式12:棋盘格显示模式2上表颜色对应的编码为:表4 VGA颜色编码颜 色黑蓝红品绿青黄白G00001111R00110011B01010101在设计完彩条信号发生器的基础上很容易完成汉字/图像的设计。由于本设计是对视频数据进行处理,用普通的设计方法(不使用专用芯片),在单芯片上实现是不可思议的,而在此用FPGA设计,轻松地达到了面积和速度上的要求。六、程序及仿真(一)、管脚分配本设计采用主板上的VGA接口实验模式:模式5时钟及控制clk-pin_29 clock9 实验要求采用12M的时钟rst-pin_240 键8,低电平有效,作为使能

11、信号MD -pin_233 键1,模式选择信号,共有6种模式显示器输出R -pin_180 PIO29G -pin_181 PIO30B -pin_182 PIO31HS -pin_183 PIO32VS -pin_185 PIO34(二)、彩条发生器程序实现及仿真1、主程序module vga(clk_25m,rst_n,/系统控制hsync,vsync,vga_rgb,MD/ VGA控制);input clk_25m;/ 25MHzinput rst_n;/低电平复位input MD;/ FPGA与VGA接口信号output hsync;/行同步信号output vsync;/场同步信号o

12、utput2:0 vga_rgb;/-/ 坐标计数reg9:0 x_cnt;/行坐标reg9:0 y_cnt;/列坐标always (posedge clk_25m or negedge rst_n)if(!rst_n) x_cnt = 10d0;else if(x_cnt = 10d799) x_cnt = 10d0;else x_cnt = x_cnt+1b1;always (posedge clk_25m or negedge rst_n)if(!rst_n) y_cnt = 10d0;else if(y_cnt = 10d524) y_cnt = 10d0;else if(x_cnt

13、= 10d799) y_cnt = y_cnt+1b1;/-/ 产生VGA场同步,行同步信号reg hsync_r,vsync_r;always (posedge clk_25m or negedge rst_n)if(!rst_n) hsync_r = 1b1;else if(x_cnt = 10d0) hsync_r = 1b0;/产生hsync信号else if(x_cnt = 10d96) hsync_r = 1b1;always (posedge clk_25m or negedge rst_n)if(!rst_n) vsync_r = 1b1; else if(y_cnt = 10

14、d0) vsync_r = 1b0;/产生vsync信号else if(y_cnt = 10d2) vsync_r = 1b1;assign hsync = hsync_r;assign vsync = vsync_r;/-/有效显示标志位产生reg valid_yr;/行显示有效信号always (posedge clk_25m or negedge rst_n)if(!rst_n) valid_yr = 1b0;else if(y_cnt = 10d32) valid_yr = 1b1;else if(y_cnt = 10d512) valid_yr = 1b0;wire valid_y

15、= valid_yr;reg valid_r;/ VGA有效显示区标志位always (posedge clk_25m or negedge rst_n)if(!rst_n) valid_r = 1b0;else if(x_cnt = 10d141) valid_y) valid_r = 1b1;else if(x_cnt = 10d781) & valid_y) valid_r = 1b0;wire valid = valid_r;wire9:0 x_dis;/横坐标显示有效区域相对坐标值0639wire9:0 y_dis;/竖坐标显示有效区域相对坐标值0-479assign x_dis =

16、 x_cnt - 10d142;assign y_dis = y_cnt - 10d33;/-/-reg2:0 cnt;always (posedge MD or negedge rst_n) beginif(!rst_n)cnt = 3d0;else if(cnt=3d5)cnt=3d0;elsecnt=cnt+3d1;end/- / VGA色彩信号产生/*RGB = 000 黑色 RGB = 100 红色 = 001 蓝色 = 101紫色 = 010 绿色 = 110黄色 = 011 青色 = 111白色/-reg2:0 vga_rgb;always( posedge clk_25m)be

17、ginif(!valid) vga_rgb = 10d0 & x_dis 10d80) vga_rgb = 3d0; else if(x_dis = 10d80 x_dis = 10d160 & x_dis 10d240) vga_rgb = 3d2; else if(x_dis = 10d240 & x_dis 10d320) vga_rgb = 3d3; else if(x_dis = 10d320 x_dis 10d400) vga_rgb = 3d4; else if(x_dis = 10d400 & x_dis = 10d480 & x_dis 10d560) vga_rgb = 1

18、0d0 x_dis = 10d80 x_dis 10d160) vga_rgb = 3d6; else if(x_dis = 10d160 & x_dis 10d240) vga_rgb = 3d5; else if(x_dis = 10d240 x_dis = 10d320 x_dis 10d400) vga_rgb = 3d3; else if(x_dis = 10d400 & x_dis 10d480) vga_rgb =3d2; else if(x_dis = 10d480 & x_dis 10d560) vga_rgb = 3d1; else if(x_dis = 10d560 &

19、x_dis 10d640) vga_rgb = 10d0 & y_dis 10d60) vga_rgb = 3d0; else if(y_dis = 10d60 & y_dis 10d120) vga_rgb = 3d1; else if(y_dis = 10d120 & y_dis 10d180) vga_rgb = 10d180 y_dis 10d240) vga_rgb = 10d240 & y_dis 10d300) vga_rgb = 10d300 y_dis 10d360) vga_rgb = 3d5; else if(y_dis = 10d360 & y_dis = 10d420

20、 & y_dis 10d480) vga_rgb =3d7; endif(cnt=3d3)begin /横彩条模式 if(y_dis = 10d0 & y_dis = 10d120 & y_dis 10d180) vga_rgb = 3d5; else if(y_dis = 10d180 & y_dis 10d240) vga_rgb = 10d240 & y_dis 10d300) vga_rgb = 3d3; else if(y_dis = 10d300 y_dis 10d360) vga_rgb = 3d2; else if(y_dis = 10d360 y_dis 10d420) vg

21、a_rgb = 3d1; else if(y_dis = 10d420 & y_dis = 10d0 & y_dis 10d60) vga_rgb = 3d0; else if(y_dis = 10d60 & y_dis 10d120) vga_rgb = 10d120 & y_dis 10d180) vga_rgb = 3d2; else if(y_dis = 10d180 y_dis 10d240) vga_rgb = 3d3; else if(y_dis = 10d240 y_dis 10d300) vga_rgb = 10d300 & y_dis = 10d360 & y_dis 10

22、d420) vga_rgb = 10d420 y_dis 10d480) vga_rgb = 3d7; end 10d80,10d160,10d240,10d320,10d400,10d480,10d560,10d640: vga_rgb = vga_rgb+3d1; /每80个横坐标像素点后显示色彩数据增1变化 default: ; endcaseendif(cnt=3d5)begin /棋盘格模式 case(x_dis) 10d0: begin if(y_dis = 10d0 y_dis 10d60) vga_rgb = 10d60 & y_dis 10d120) vga_rgb = 3d

23、6; else if(y_dis = 10d120 & y_dis 10d180) vga_rgb = 3d5; else if(y_dis = 10d180 y_dis 10d240) vga_rgb = 3d4; else if(y_dis = 10d240 & y_dis 10d300) vga_rgb = 10d300 y_dis 10d360) vga_rgb = 3d2; else if(y_dis = 10d360 & y_dis 10d420) vga_rgb = 3d1; else if(y_dis = 10d420 & y_dis 10d480) vga_rgb = 3d0

24、; end 10d80,10d160,10d240,10d320,10d400,10d480,10d560,10d640: vga_rgb = vga_rgb+3d1; /每80个横坐标像素点后显示色彩数据增1变化 default: ; endcaseendendendendmodule2、验证程序timescale 1 ns/ 1 psmodule tb_vga ();reg t_clk_25m;reg t_rst_n; wire t_hsync;wire 2:0 t_vga_rgb;wire t_vsync; wire t_MD; vgahct dut( .clk_25m(t_clk_25

25、m), .hsync(t_hsync), 。rst_n(t_rst_n), 。vga_rgb(t_vga_rgb), 。vsync(t_vsync), .MD(t_MD));initial begin t_clk_25m=0;t_rst_n=1;t)MD=0;20;t_rst_n=0; 50; t_rst_n=1; $display(Running testbench); 10000000000 stop; endalways #0。04 t_clk_25m=t_clk_25m; always #200 t_MD=t_MD; endmodule3、仿真波形(三)、字符显示程序及仿真1、主程序t

26、imescale 1ns / 1psmodule vga_char(clk_25m,rst_n,/系统控制hsync,vsync,vga_rgb/ VGA控制);input clk_25m;/ 25MHzinput rst_n;/低电平复位/ FPGA与VGA接口信号output hsync;/行同步信号output vsync;/场同步信号output2:0 vga_rgb;/-/ 坐标计数reg9:0 x_cnt;/行坐标reg9:0 y_cnt;/列坐标always (posedge clk_25m or negedge rst_n)if(!rst_n) x_cnt = 10d0;els

27、e if(x_cnt = 10d799) x_cnt = 10d0;else x_cnt = x_cnt+1b1;always (posedge clk_25m or negedge rst_n)if(!rst_n) y_cnt = 10d0;else if(y_cnt = 10d524) y_cnt = 10d0;else if(x_cnt = 10d799) y_cnt = y_cnt+1b1;/-/ VGA场同步,行同步信号reg hsync_r,vsync_r;/同步信号always (posedge clk_25m or negedge rst_n)if(!rst_n) hsync_

28、r = 1b1;else if(x_cnt = 10d0) hsync_r = 1b0;/产生hsync信号else if(x_cnt = 10d96) hsync_r = 1b1;always (posedge clk_25m or negedge rst_n)if(!rst_n) vsync_r = 1b1; else if(y_cnt = 10d0) vsync_r = 1b0;/产生vsync信号else if(y_cnt = 10d2) vsync_r = 1b1;assign hsync = hsync_r;assign vsync = vsync_r;/-/有效显示标志位产生re

29、g valid_yr;/行显示有效信号always (posedge clk_25m or negedge rst_n)if(!rst_n) valid_yr = 1b0;else if(y_cnt = 10d32) valid_yr = 1b1;else if(y_cnt = 10d512) valid_yr = 1b0;wire valid_y = valid_yr;reg valid_r;/ VGA有效显示区标志位always (posedge clk_25m or negedge rst_n)if(!rst_n) valid_r = 1b0;else if(x_cnt = 10d141

30、) & valid_y) valid_r = 1b1;else if(x_cnt = 10d781) & valid_y) valid_r = 1b0;wire valid = valid_r;/wire9:0 x_dis;/横坐标显示有效区域相对坐标值0639wire9:0 y_dis;/竖坐标显示有效区域相对坐标值0479/assign x_dis = x_cnt - 10d142;assign y_dis = y_cnt - 10d33;/-/- / VGA色彩信号产生/RGB = 000 黑色RGB = 100红色= 001 蓝色= 101紫色= 010绿色= 110黄色= 011青色

31、= 111白色/*HIT字模参数*/parameter char_line0=24h000000, char_line1=24h000000, char_line2=24h000000, char_line3=24he77cfe, char_line4=24h421092, char_line5=24h421010, char_line6=24h421010, char_line7=24h421010, char_line8=24h7e1010, char_line9=24h421010, char_linea=24h421010, char_lineb=24h421010, char_lin

32、ec=24h421010, char_lined=24he77c38, char_linee=24h000000, char_linef=24h000000;reg4:0 char_bit;/显示位计算always (posedge clk_25m or negedge rst_n)if(!rst_n) char_bit = 5h1f;else if(x_cnt = 10d442) char_bit 10d442 & x_cnt 10d466) char_bit = char_bit1b1;/依次显示后面的数据reg2:0 vga_rgb;/ VGA色彩显示寄存器always (posedge

33、 clk_25m)if(!valid) vga_rgb = 3d0;else if(x_cnt 10d442 & x_cnt 10d467) begincase(y_dis)10d231: if(char_line0char_bit) vga_rgb = 3b100;/红色 else vga_rgb = 3b010;/绿色10d232: if(char_line1char_bit) vga_rgb = 3b100;/红色 else vga_rgb = 3b010;/绿色10d233: if(char_line2char_bit) vga_rgb = 3b100;/红色 else vga_rgb

34、 = 3b010;/绿色10d234: if(char_line3char_bit) vga_rgb = 3b100;/红色 else vga_rgb = 3b010;/绿色10d235: if(char_line4char_bit) vga_rgb = 3b100;/红色 else vga_rgb = 3b010;/绿色10d236: if(char_line5char_bit) vga_rgb = 3b100;/红色 else vga_rgb = 3b010;/绿色10d237: if(char_line6char_bit) vga_rgb = 3b100;/红色 else vga_rgb

35、 = 3b010;/绿色10d238: if(char_line7char_bit) vga_rgb = 3b100;/红色 else vga_rgb = 3b010;/绿色10d239: if(char_line8char_bit) vga_rgb = 3b100;/红色 else vga_rgb = 3b010;/绿色10d240: if(char_line9char_bit) vga_rgb = 3b100;/红色 else vga_rgb = 3b010;/绿色10d241: if(char_lineachar_bit) vga_rgb = 3b100;/红色 else vga_rgb = 3b010;/绿色 10d242: if(char_linebchar_bit)vga_rgb = 3b100;/红色 else vga_rgb = 3b010;/绿色 10d243: if(char_linecchar_bit)vga_rgb = 3b100;/

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服