88点阵实验报告江理工.docx

上传人:b****0 文档编号:12472590 上传时间:2023-04-19 格式:DOCX 页数:36 大小:147.18KB
下载 相关 举报
88点阵实验报告江理工.docx_第1页
第1页 / 共36页
88点阵实验报告江理工.docx_第2页
第2页 / 共36页
88点阵实验报告江理工.docx_第3页
第3页 / 共36页
88点阵实验报告江理工.docx_第4页
第4页 / 共36页
88点阵实验报告江理工.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

88点阵实验报告江理工.docx

《88点阵实验报告江理工.docx》由会员分享,可在线阅读,更多相关《88点阵实验报告江理工.docx(36页珍藏版)》请在冰豆网上搜索。

88点阵实验报告江理工.docx

88点阵实验报告江理工

JIANGSUUNIVERSITYOFTECHNOLOGY

数字电路课程设计报告

基于FPGA的8*8点阵设计

 

学院:

电信学院

专业:

电子信息工程

班级:

11电子1

姓名:

胡毅

学号:

11311103

指导教师:

李秋烨翟丽芳

设计时间:

2013年06月17日

 

序言……………………………………………………………

一、课题要求…………………………………………………………………

(1)技术要求………………………………………………………………………

(2)功能要求………………………………………………………………………

(3)本人的工作……………………………………………………………………

二、设计原理及其框图……………………………………………

(1)8*8点阵的工作原理和方案……………………………………………

(2)单元电路设计,仿真与分析……………………………………………

(3)顶层电路设计,仿真与分析……………………………………………

(4)硬件电路设计与安装图…………………………………………………

三、成品调试

(1)下载调试…………………………………………………………………

(2)收获及体会………………………………………………………………

 

序言

面对当今飞速发展的电子产品市场,设计师需要更加实用、快捷的EDA工具,使用统一的集成化设计环境,改变传统设计思路,将精力集中到设计构思、方案比较和寻找优化设计等方面,需要以最快的速度,开发出性能优良、质量一流的电子产品,对EDA技术提出了更高的要求。

未来的EDA技术将在仿真、时序分析、集成电路自动测试、高速印刷电路板设计及开发操作平台的扩展等方面取得新的突破,向着功能强大、简单易学、使用方便的方向发展。

可编程逻辑器件已经成为当今世界上最富吸引力的半导体器件,在现代电子系统设计中扮演着越来越重要的角色。

过去的几年里,可编程器件市场的增长主要来自大容量的可编程逻辑器件CPLD和FPGA。

本课程设计主要阐述基于FPGA和VHDL语言实现在8*8点阵上的汉字静态显示、一屏一屏显示以及滚动显示。

在实际学习中我们应该从应用的角度看待这门课程,初步掌握基本设计工具和设计方法,在课程实践中应锻炼自己的实际设计思想、创新思维和创造能力,力求提高自己的工程实践能力和自主创新能力。

一、课题要求

(1)技术要求

软件要求:

能够使用EDA编写程序及仿真设计,能够较为熟练的掌握Quartus软件并使用该软件进行编程、仿真和调试。

硬件要求:

FPGA(EP2C5T144C8)引脚识别和连接。

(2)功能要求

1.静态显示“正”字;

2.滚动显示“江理工”;

3.一屏一显示“10~1”

通过查阅资料,了解8*8点阵的工作原理和FPGA芯片的基本工作原理并负责软件的编写,仿真和调试。

二、设计原理及其框图

(1)8*8点阵的工作原理和方案

若要用点阵发光二极管显示汉字,首先要将汉字放在一个方块内,方格块分成8*8共64个小方格,在方块内写上汉字,在字笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了一个汉字二进制数据。

下图是一只8*8阵列的点阵发光显示器,该点阵发光显示器是由8*8阵列组成,共8行,每行8只发光二极管,共64只发光像素,每列的8只发光二极管的所有负极(阴极)相连。

每行发光管的正极相连,点阵发光显示器在同一时间只能点亮一列,每列点亮的情况是根据从显示器P1~P8送入的数据点亮,要使一个字符在显示器整屏显示,点阵发光显示器就必须通过快速逐列点亮,而且是周而复始的循环点亮,使人眼的暂留视觉效应形成一个全屏字符。

8*8点阵二极管示意图

原理框图:

 

(2)单元电路设计,仿真与分析

<1>:

静态显示“正”字

程序:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_Unsigned.all;

useieee.std_logic_ARITH.all;

ENTITYpengis

port(clk,en:

instd_logic;

lie:

outstd_logic_vector(7downto0);--列

com:

outstd_logic_vector(7downto0));--行

Endpeng;

Architectureaofpengis

signalst1:

std_logic_vector(7downto0);

signalosc:

std_logic;

signalosd:

std_logic;

signald_ff:

std_logic_vector(27downto0);

signaldata:

std_logic_vector(7downto0);

signald0,d1,d2,d3,d4,d5,d6,d7:

std_logic_vector(7downto0);

signallie0,lie1,lie2,lie3,lie4,lie5,lie6,lie7:

std_logic_vector(7downto0);

Begin

com<=data;

lie<=st1;

d0<="10000000";

d1<="10000001";

d2<="11110001";

d3<="10000001";

d4<="11111111";

d5<="10001001";

d6<="10001001";

d7<="10000000";--字库正

First:

process

begin

waituntilclk='1';

if(d_ff(27downto0)>=2e8)then

d_ff(27downto0)<="0000000000000000000000000000";

else

d_ff(27downto0)<=d_ff+1;

endif;

osc<=notd_ff(10);

endprocessfirst;

second:

process(osc)

begin

if(osc='1'andosc'eventanden='0')then

ifst1(7downto0)="00000000"orst1(7downto0)="01111111"then

st1(7downto0)<="11111110";data<=d0;

elsifst1(7downto0)="11111110"then

st1(7downto0)<="11111101";data<=d1;

elsifst1(7downto0)="11111101"then

st1(7downto0)<="11111011";data<=d2;

elsifst1(7downto0)="11111011"then

st1(7downto0)<="11110111";data<=d3;

elsifst1(7downto0)="11110111"then

st1(7downto0)<="11101111";data<=d4;

elsifst1(7downto0)="11101111"then

st1(7downto0)<="11011111";data<=d5;

elsifst1(7downto0)="11011111"then

st1(7downto0)<="10111111";data<=d6;

elsifst1(7downto0)="10111111"then

st1(7downto0)<="01111111";data<=d7;

endif;

endif;

endprocesssecond;

enda;

<2>:

.滚动显示“江理工”

程序:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

USEIEEE.STD_LOGIC_ARITH.ALL;

entitygdis

PORT(

clk,a,b,c:

INSTD_LOGIC;

lie:

outSTD_LOGIC_VECTOR(7DOWNTO0);--列

com:

outSTD_LOGIC_VECTOR(7DOWNTO0));--行

ENDgd;

ARCHITECTUREaOFgdIS

SIGNALst1,st2:

STD_LOGIC_VECTOR(7DOWNTO0);

SIGNALosc:

STD_LOGIC;

SIGNALosd:

STD_LOGIC;

SIGNALd_ff:

STD_LOGIC_VECTOR(27DOWNTO0);

SIGNALdata:

STD_LOGIC_VECTOR(7DOWNTO0);

SIGNALd0,d1,d2,d3,d4,d5,d6,d7:

STD_LOGIC_VECTOR(7DOWNTO0);

SIGNALlie0,lie1,lie2,lie3,lie4,lie5,lie6,lie7:

STD_LOGIC_VECTOR(6DOWNTO0);

Begin

Com<=data;

lie<=st1;

D0<=

"00000000"whenlie0="0000000"else--donghua1

"00000000"whenlie0="0000001"else--donghua2

"00000000"whenlie0="0000010"else--donghua3

"00000000"whenlie0="0000011"else--donghua4

"00000000"whenlie0="0000100"else--donghua5

"00000000"whenlie0="0000101"else--donghua6

"00000000"whenlie0="0000110"else--donghua7

"00000000"whenlie0="0000111"else--donghua8

"10001010"whenlie0="0001000"else--donghua9bbbbbbbbbbbbbbbbbbbbbbbb

"01001010"whenlie0="0001001"else--donghua10

"10000001"whenlie0="0001010"else--donghua11

"10000001"whenlie0="0001011"else--donghua12

"11111111"whenlie0="0001100"else--donghua13

"10000001"whenlie0="0001101"else--donghua14

"10000001"whenlie0="0001110"else--donghua15

"00000000"whenlie0="0001111"else--donghua16

"10010010"whenlie0="0010000"else--donghua17

"01111110"whenlie0="0010001"else--donghua18

"01001001"whenlie0="0010010"else--donghua19

"00000000"whenlie0="0010011"else--donghua20

"11011111"whenlie0="0010100"else--donghua21

"11010101"whenlie0="0010101"else--donghua22

"11111111"whenlie0="0010110"else--donghua23

"11010101"whenlie0="0010111"else--donghua24

"11011111"whenlie0="0011000"else--donghua25

"00000000"whenlie0="0011001"else--donghua26

"01000001"whenlie0="0011010"else--donghua27

"01000001"whenlie0="0011011"else--donghua28

"01000001"whenlie0="0011100"else--donghua29

"01111111"whenlie0="0011101"else--donghua30

"01000001"whenlie0="0011110"else--donghua31

"01000001"whenlie0="0011111"else--donghua32

"01000001"whenlie0="0100000"else--donghua33sssssssssssssssssssssssss

"00000000"whenlie0="0100001"else--donghua34

"00000000"whenlie0="0100010"else--donghua35

"00000000"whenlie0="0100011"else--donghua36

"00000000";--以上为第一列

--"00000000"whenlie0="0100100"else--donghua37

--"00000000"whenlie0="0100101"else--donghua38

--"00000000"whenlie0="0100110"else--donghua39

D1<=

"00000000"whenlie0="0000000"else--donghua1

"00000000"whenlie0="0000001"else--donghua2

"00000000"whenlie0="0000010"else--donghua3

"00000000"whenlie0="0000011"else--donghua4

"00000000"whenlie0="0000100"else--donghua5

"00000000"whenlie0="0000101"else--donghua6

"00000000"whenlie0="0000110"else--donghua7

"10001010"whenlie0="0000111"else--donghua8

"01001010"whenlie0="0001000"else--donghua9bbbbbbbbbbbbbbbbbbbbbbbb

"10000001"whenlie0="0001001"else--donghua10

"10000001"whenlie0="0001010"else--donghua11

"11111111"whenlie0="0001011"else--donghua12

"10000001"whenlie0="0001100"else--donghua13

"10000001"whenlie0="0001101"else--donghua14

"00000000"whenlie0="0001110"else--donghua15

"10010010"whenlie0="0001111"else--donghua16

"01111110"whenlie0="0010000"else--donghua17

"01001001"whenlie0="0010001"else--donghua18

"00000000"whenlie0="0010010"else--donghua19

"11011111"whenlie0="0010011"else--donghua20

"11010101"whenlie0="0010100"else--donghua21

"11111111"whenlie0="0010101"else--donghua22

"11010101"whenlie0="0010110"else--donghua23

"11011111"whenlie0="0010111"else--donghua24

"00000000"whenlie0="0011000"else--donghua25

"01000001"whenlie0="0011001"else--donghua26

"01000001"whenlie0="0011010"else--donghua27

"01000001"whenlie0="0011011"else--donghua28

"01111111"whenlie0="0011100"else--donghua29

"01000001"whenlie0="0011101"else--donghua30

"01000001"whenlie0="0011110"else--donghua31

"01000001"whenlie0="0011111"else--donghua32

"00000000"whenlie0="0100000"else--donghua33sssssssssssssssssssssssss

"00000000"whenlie0="0100001"else--donghua34

"00000000"whenlie0="0100010"else--donghua35

"00000000"whenlie0="0100011"else--donghua36

"00000000";--以上为第二列

D2<=

"00000000"whenlie0="0000000"else--donghua1

"00000000"whenlie0="0000001"else--donghua2

"00000000"whenlie0="0000010"else--donghua3

"00000000"whenlie0="0000011"else--donghua4

"00000000"whenlie0="0000100"else--donghua5

"00000000"whenlie0="0000101"else--donghua6

"10001010"whenlie0="0000110"else--donghua7

"01001010"whenlie0="0000111"else--donghua8

"10000001"whenlie0="0001000"else--donghua9bbbbbbbbbbbbbbbbbbbbbbbb

"10000001"whenlie0="0001001"else--donghua10

"11111111"whenlie0="0001010"else--donghua11

"10000001"whenlie0="0001011"else--donghua12

"10000001"whenlie0="0001100"else--donghua13

"00000000"whenlie0="0001101"else--donghua14

"10010010"whenlie0="0001110"else--donghua15

"01111110"whenlie0="0001111"else--donghua16

"01001001"whenlie0="0010000"else--donghua17

"00000000"whenlie0="0010001"else--donghua18

"11011111"whenlie0="0010010"else--donghua19

"11010101"whenlie0="0010011"else--donghua20

"11111111"whenlie0="0010100"else--donghua21

"11010101"whenlie0="0010101"else--donghua22

"11011111"whenlie0="0010110"else--donghua23

"00000000"whenlie0="0010111"else--donghua24

"01000001"whenlie0="0011000"else--donghua25

"01000001"whenlie0="0011001"else--donghua26

"01000001"whenlie0="0011010"else--donghua27

"01111111"whenlie0="0011011"else--donghua28

"01000001"whenlie0="0011100"else--donghua29

"01000001"whenlie0="0011101"else--donghua30

"01000001"whenlie0="0011110"else--donghua31

"00000000"whenlie0="0011111"else--donghua32

"00000000"whenlie0="0100000"else--donghua33sssssssssssssssssssssssss

"00000000"whenlie0="0100001"else--donghua34

"00000000"whenlie0="0100010"else--donghua35

"00000000"whenlie0="0100011"else--donghua36

"00000000";--以上为第三列

D3<=

"00000000"whenlie0="0000000"else--donghua1

"00000000"whenlie0="0000001"else--donghua2

"00000000"whenlie0="0000010"else--donghua3

"00000000"whenlie0="0000011"else--donghua4

"00000000"whenlie0="0000100"else--donghua5

"10001010"whenlie0="0000101"else--donghua6

"01001010"whenlie0="0000110"else--donghua7

"10000001"whenlie0="0000111"else--donghua8

"10000001"whenlie0="0001000"else--donghua9bbbbbbbbbbbbbbbbbbbbbbbb

"11111111"when

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1