fpga8x8点阵.docx
- 文档编号:9479587
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:11
- 大小:63.63KB
fpga8x8点阵.docx
《fpga8x8点阵.docx》由会员分享,可在线阅读,更多相关《fpga8x8点阵.docx(11页珍藏版)》请在冰点文库上搜索。
fpga8x8点阵
课程设计报告
题目:
8X8LED点阵数字显示电路
院(系):
专业:
班级:
姓名:
设计日期:
报告书写要求
1、报告的撰写要求条理清晰、语言准确、表述简明。
报告中段首空两个字符,中文字体为宋体五号,数字、字符、字母为TimesNewRoman五号,且单倍行距。
2、报告中插图应与文字紧密配合,文图相符,技术容正确。
每个图都应配有图题(由图号和图名组成)。
图题(宋体小五号)置于图下居中,其中图号按顺序编排,图名在图号之后空一格排写。
图中若有分图时,分图号用(a)、(b)等置于分图之下。
注:
框图、流程图(矢量图)用专业画图软件。
3、报告中插表应与文字紧密配合,文表相符,技术容正确。
表格不加左、右边线,上、下线需加粗(1.5磅),每个表应配有表题(由表号和表名组成)。
表题(宋体小五号)置于表上居中,其中表号按顺序编排,表名在表号之后空一格排写。
4、报告中公式原则上居中书写。
注:
公式编辑器编写。
5、设计报告应按如下容和顺序A4纸打印、左侧装订成册。
一、设计目的
1.掌握数字系统的设计方法;
2.掌握硬件描述语言——VerilogHDL;
3.掌握模块化设计方法;
4.掌握开发软件的使用方法。
二、设计要求
1.用8X8LED点阵实现简单字符的显示。
2.LED共阳方式;
3.采用扫描的方式显示信息,信息容可存于文件;
4.显示方式:
自动滚动或者手动选择;
5.完成全部流程:
设计规文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。
三、设计环境
计算机、QuatusII开发软件
四、设计容(设计原理和方案、程序设计、仿真分析和适配)
4.1设计原理和方案
点阵显示器的设计原理为用一块FPGA芯片控制其显示字符。
将编好的控制程序下载到FPGA芯片,外接5V工作电压,其时钟信号由芯片板上自带晶振提供,外接开关输入控制信号到FPGA芯片,由FPGA具体执行输出点阵显示器各点的控制信号。
如下图1
图1总原理框图
图
(2)为8×8点阵LED外观及引脚图,其等效电路如图(3)所示,只要
其对应的X、Y轴顺向偏压,即可使LED发亮。
例如如果想使左上角LED点亮,则Y0=1,X0=0即可。
应用时限流电阻可以放在X轴或Y轴。
要使一个字符在显示器整屏显示,点阵点阵发光显示器就必须通过快速逐列点亮,而且是周而复始的循环点亮,使人眼的暂留视觉效应形成一个全屏字符。
4.2程序设计及仿真
4.2.1分频器模块程序设计及仿真
设计思路:
要输出4hz的信号,需要设计一个分频器来达到这个目的。
当K2、K3输入不同的高低电平时,来决定count和ccount的输出。
modulefenpin(clk_50Mhz,clk_4hz,k2,k3);
inputclk_50Mhz,k2,k3;//输入端口声明
outputclk_4hz;//输出端口声明
reg[24:
0]count,ccount;
regclk_4hz;
always(posedgeclk_50Mhz)//可以理解为状态机
begin
if((k2==0)&&(k3==0))
ccount<=500000000;
if((k2==0)&&(k3==1))
ccount<=100000000;
if((k2==1)&&(k3==0))
ccount<=50000000;
if((k2==1)&&(k3==1))
ccount<=10000000;
if(count begin count<=count+1'b1; clk_4hz<=0; end else begin count<=0; clk_4hz<=1; end end endmodule 仿真图: 仿真分析: 如图所示,输出信号对输入的时钟信号分频。 达到了预期效果。 4.2.2控制速度模块程序设计及仿真 设计思路: 要使一个字符在显示器整屏显示,点阵点阵发光显示器就必须通过快速逐列点亮,而且是周而复始的循环点亮,使人眼的暂留视觉效应形成一个全屏字符,所以设计了速度控制的模块。 modulesudu(clk,cnt); inputclk; outputt; regt; reg[7: 0]p; always(posedgeclk) begin if(p==8'b11111111) begin t<=1'b1; p<=8'b00000000; end else begin p<=p+8'b1; t<=1'b0; end end endmodule 仿真图: 仿真分析: 如上图所示,速度控制模块在一段时间后由0低电平变为1高电平,开始产生效果,速度控制模块开始工作,达到了预期效果。 4.2.3显示字符模块程序设计及仿真 设计思路: 此模块相当于一个ROM,存储“ILOVEYOU”字符。 8行8列分别给出2进制数来控制64个小灯的高低电平,就达到了点亮与熄灭led灯的目的,从而可以在点阵上显示字符。 modulelove(clk,rst,disp_out,en); inputclk,rst; output[7: 0]disp_out;//列8-14743494157515553 output[7: 0]en;//行H-A75-68D7-D0 reg[7: 0]disp_out; reg[7: 0]en; //rega; parameterb=15; reg[31: 0]t_scan; always(posedgeclkornegedgerst) begin if(! rst)begin cnt_scan<=0; end elsebegin cnt_scan<=cnt_scan+1; end end always(cnt_scan)//列使能 begin case(cnt_scan[15: 13])//case里面这些就是根据不同的cnt_scan值输出灯的高低电平 3'b000: en=8'b1111_1110; 3'b001: en=8'b1111_1101; 3'b010: en=8'b1111_1011; 3'b011: en=8'b1111_0111; 3'b100: en=8'b1110_1111; 3'b101: en=8'b1101_1111; 3'b110: en=8'b1011_1111; 3'b111: en=8'b0111_1111; endcase end always(cnt_scan)//字循环 if(cnt_scan[b+12: b+11]==2'b00) //begin//I case(cnt_scan[b: b-2]) 3'b000: disp_out=8'b1100_0011; 3'b001: disp_out=8'b1110_0111; 3'b010: disp_out=8'b1110_0111; 3'b011: disp_out=8'b1110_0111; 3'b100: disp_out=8'b1110_0111; 3'b101: disp_out=8'b1110_0111; 3'b110: disp_out=8'b1110_0111; 3'b111: disp_out=8'b1100_0011; endcase elseif(cnt_scan[b+12: b+11]==2'b01) //begin//xin case(cnt_scan[b: b-2]) 3'b000: disp_out=8'b11011011; 3'b001: disp_out=8'b10100101; 3'b010: disp_out=8'b01111110; 3'b011: disp_out=8'b01111110; 3'b100: disp_out=8'b01111110; 3'b101: disp_out=8'b10111101; 3'b110: disp_out=8'b11011011; 3'b111: disp_out=8'b11100111; endcase elseif(cnt_scan[b+12: b+11]==2'b10) //beginU case(cnt_scan[15: 13]) 3'b000: disp_out=8'b10011001; 3'b001: disp_out=8'b10011001; 3'b010: disp_out=8'b10011001; 3'b011: disp_out=8'b10011001; 3'b100: disp_out=8'b10011001; 3'b101: disp_out=8'b10011001; 3'b110: disp_out=8'b10011001; 3'b111: disp_out=8'b11000011; endcase else case(cnt_scan[15: 13]) 3'b000: disp_out=8'b11100111; 3'b001: disp_out=8'b11100111; 3'b010: disp_out=8'b11100111; 3'b011: disp_out=8'b11100111; 3'b100: disp_out=8'b11100111; 3'b101: disp_out=8'b11111111; 3'b110: disp_out=8'b11100111; 3'b111: disp_out=8'b11100111; endcase endmodule 仿真图: 仿真分析: 由仿真图可知,在速度控制模块和分频器控制下,disp_out和en分别输出了11000011、11111110等不同的二进制数,可使8*8点阵上的led灯分别点亮或者熄灭,达到了显示字符的目的。 4.2.4顶层设计及仿真 4.3适配 1.器件选择: 所选器件为CycloneIIEP2C8Q208C8 2.引脚分配如下表所示: NodeName Direction Location clk Input IOBANK_1 k2 Input PIN_E3 K3 Input PIN_F9 dis_out[0] Output PIN_A7 dis_out[1] Output PIN_A13 dis_out[2] Output PIN_A5 dis_out[3] Output PIN_B6 dis_out[4] Output PIN_C4 dis_out[5] Output PIN_A9 dis_out[6] Output PIN_A8 dis_out[7] Output PIN_A10 en[0] Output PIN_C11 en[1] Output PIN_B7 en[2] Output PIN_A14 en[3] Output PIN_B4 en[4] Output PIN_C14 en[5] Output PIN_D16 en[6] Output PIN_B10 en[7] Output PIN_A6 五、小结 通过本次EDA课程设计,我们加深了课上所学,在此次点阵数字显示电路设计过程中,进一步熟悉了quartus软件的使用,深入了解了芯片的结构及性能参数。 此次课程设计涉及到了配置管脚,这要求我们的代码、管脚号以及板上相应的位置一一对应好,只有这样才能做好本次实验。 因此,我们在开始时就走了一些弯路,花费了好多时间,但是真的学会了如何将自己所学过的知识和查找的资料有机的融合在一起,真是受益匪浅。 六、参考文献 [1]VerilogHDL数字系统设计入门与应用实例,王秀琴,夏洪洋,电子工业,2012; [2]VerilogHDL应用程序设计实例精讲,福奇,波,电子工业,2009; [3]精通VerilogHDL语言编程,波,电子工业,2007; [4]VerilogHDL数字控制系统设计实例,冼进,中国水利水电,2007; [5]EDA技术基础与实验教程,旭,清华大学,2010;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- fpga8x8 点阵