您的当前位置:首页正文

十六进制七段数码显示译码器

来源:客趣旅游网


十六进制七段数码显示译码器

、实验目的:学习7段数码显示器的Verilog硬件设计 、实验原理:7段数码显示器是纯组合电路。通常的小规模专用

IC,如74

或4000系列的器件只能做十进制BCD码译码器(其真值表如图(1)所示),然而数字系 统中的数据处理和运算都是二进制的,所以输出表达式都是十六进制的,为了满足十六进制的 译码显示,最方便的方法就是

Verilog译码程序在

FPGA/CPL冲来实现。所以首先要设计一段程序。设输入的 4位码为A[3:0],输

出控制7段共阴数码管(如图(2)所示)的7位数据为LED7S[6:0]输出信号LED7S勺7位 接共阴数码管的7个段,高位在左,低位在右。例如当LED7S俞出为\"时,数码管7个段 g、f、e、d、c、b、a 分别接 1、1、0、1、1、0、1;

接有高电平的段发亮,于是数码管显示“5” o这里没有考虑表示小数点的发光管,如果要考 虑,需要增加段h,然后将LED7S改为8位输出。

利用

a D O・ { 卜

dM c I■ J

d c dp

ab

卜 C O

却id

图(1) 7段译码器真值表 输入码 代表数据 输入码 输入码 输入码 代表数据 0000 0 1 1000 0001 0010 0011 1001 8 9 A B 2 3 4 5 1010 1011 0100 1100 C D 0101 1101 1110 0110 6 7 E F 0111 s)引脚

1111 图(2) 7段共阴数码管

(b>共胡根

三、实验任务:将设计好的Verilog译码器程序在Quartusll±进行编辑、编译、

综合、适配、仿真,给出其所有信号的时序仿真波形图(注意仿真波形输入激励 信号的设 置)。提示:设定仿真激励信号是用输入总线的方式给出输入信号的仿

真数据。

四、实验步骤:

(一)、建立工作库文件和编辑设计文文件 任何一项设计都是一项

Project (工程),而把一个工程下的所有文件放在一

个文件夹内是一个非常好的习惯,以便于我们整理,利用和提取不同工程下的文 件,而此文件 夹将被EDA软件默认为Work Library (工作库),所以第一步先根 据自己的习惯,建立个新 的文件夹。

(1新建文件夹:我的习惯在D盘建立并保存工程,我将文件夹取名Test,

(2)输入源程序:打开 Quartus II,选择菜单 File->New->Desig n> VerilogHDL File- ->OK如图1所示)

A HOL < di

H

( Up “I

I ll —

EOIF F.l«

H Or-h|r>© | vl?

SvetorTF/t ilk Q HCI 咖 Tel Script FiM VHDL FiU

HexaiJecimJ |lrrte|.Forridi|

liNh.Me/n<«Lir > Fil*

一 Vrntir.-Mnrb^r) •■hi taawa 门I严乍

In Vem Source! Probes 卜 te Logia Aiialysc-r lrMertac«*「Hu Sac II Look Ar^avs*r File …Vector V/avefum Fiv

Ho

-00 ef TMes

•- AH DI nchid- F4 日 lock Spnbol Fih? ■

Clu Ocixr.rt»»ljn |

匸Oo -.iyr> C< f h -代码如下:

module DECL7S(A丄ED7S);

in put[3:0] A; output[6:0] LED7S; reg[6:0] LED7S; always@(A) case(A)

4W000 :LED7S<=7*bO111111; 4'b0001 :LED7S<=7*b0000110; 4*b0010 :LED7S<=7*b1011011; 4'b0011 :LED7S<=7*b1001111; 4W100 :LED7S<=7*b1100110; 4*b0101 :LED7S<=7'b1101101; 4'b0110 :LED7Sv=7'b1111101; 4'b0111 :LED7S<=7*b0000111; 4'b1000 :LED7S<=7'b1111111; 4*b1001 :LED7S<=7,b1101111; 4® 010 :LED7S<=7,b1110111; 4^1011 :LED7Sv=7'b1111100; 4*b1100 :LED7S<=7*bO111001; 4'b1101 :LED7S<=7'b1011110;

4fb1110 :LED7S<=7,b1111001; 4'b1111 :LED7S<=7*b1110001; default:LED7S<=7'bO111111; endcase en dmodule

保存文件:完成一步就保存一步是一个好习惯,这样

即使出现意外情况,也不至于以前的努力付诸东流。选择File->Save as,选择保存路径,即刚 才新建 的文件夹Test文件名应与实体名保持一致,即DECL7S点击保存后会跳出“Do you want to create a

new project with this file?选择 是”,贝 u 进入如下界面

F fwr Nr«v Fyw. W sd hvtn vou «»w • newcrwrc^ .00 ptvArvrw^ 謬Pgd rwM odtiMcto^

N・・・ or C2 !QP*eM|l 童・5 F\" Roect Mttt attdb・3 Twl •ntidrm. EDA tool 用691

the

YetjftmcMMW MHbr>oi Im f z4g mRCt r•hr : r*><^ MiwrMrrHAj^bye : cwrv』/c^r ir^b*«^4wr^i p-wy*t(・• *1 c -4try< <4.^rg t» IO “ *uni^«jri^My t he :

II* 点击Next,进入 工程设置”对话框,如图所示

Me/; 'A L re^ory Narw. Ig£ntty oace 1 of

X^hil» \"■ sk 些 cr^^orj'talh: pcj»d? 卜.八'Xfe^tzZqa/le^ Wh v is g r trr^ 才 L n pOfecP fDEQTS

Wh* e ^9 lc;-^ dc^gr &#/ Iw 肝? ZK郴IM narv n caw :erxw rdmu^ ••卽-Nrt 冷 *・irwr¥rmm -*p:i-n t

:DEX

UxExAig

1 Sick

s >

Fnu止

第一行表示工程所在的文件夹,第二行为工程名,可以与顶层文件的实体名保持一致,也可以

另取别的名字,第三行为当前工程顶层文件的实体名。

点击next,进入ADD FILE对话框,如图所示,单击Add All按钮,将工程相关的所有

VHDL文件加进工程,也可以单击“Add..选择性加入,按此步骤建立工程,工程已经自动将 所有文件加进去

了,可以直接点击next,当先直接建立工程时,需要自己添加

New

W 哄 AddF 沁 M5]

Se cct Nhc nfesg-i fX A-jir to inAhj = r 也亡旳川 t Ckx Atd Al to arid dl de-ygn rikAs rn M k|Ek1 *UI t f /LW I: Mctr. HHW dikJ k¥ lu 1 d-d

Add\" 亠00氷3

(4) 选择目标芯片:我们选用的是Cyclonelll系列的EP3C55F484C8,在Family 栏选择芯片系列一一 CycloneHI,在窗口右边的三个下拉列表框选择过滤条件,

分别选择 Package 为 FBGA > Pin count 为 484 和 Speed grade 为 8,点击 Next, 如图所示

New Prqjnt. Wildi d: IF iti 1 次 Device Writings [page 3 広 S

I b JBVBJe'r./

&evb& larwA

Fwnb I gone: III

T tfQgr 曲*

L AJID 1

\\ |4M

F>

• 5C TCIflj tv Ihc Ffcls: •

5xcec gaJ?

0 5fror> sdvmrrd ch .m

・ 5ZEI JH: drvice- sete-clE n Aufli=bb dercn I si

M vnr

|・・・■ ..... . ...... .. . ..... .......... ..

2 7

芥一 \"呗 弓叭刚

MC

'■ MU 豐亍 twnna

v?

PLl

PS

332 1161216

23SE1S0

1 - :

EFSCCFWIS ErXAJWMCO 12V

1.2V EF t eOF tif «p mica

12/

III

(5) 工具设置:进入EDAT

具设置窗口,有三个选项,分别是选择输入的HDL类型和 综合工具、选择仿真工具、选择时序分析工具,这是除Quartusll自含的所有设计工具以 外的外加的工具,如果不作选择的,表示仅选择

Quartus II自含 的所有设计工具,本次不需要其他的设计工具,可以直接点击 Next

(NEW PAojert Wizard EDA Tool Settir-gs 4 of 5]

5 pccifjf th? r

v Vst > Fimih I 舉消 I

(6) 结束设置:进入 工程设置统计”窗口,列出了与此工程相关的设置情况,设置 完成,点击Finish

(二) 、编译

配置好后就可以进行编译了,点击 全程编译

Processing Start Compilation命令启动

编译成功后的界面如图所示

Alhy in ■■\" vjic Un KLH- Kin

HI

K~F

.Wl

3旨

n.t解z v

(三) 时序仿真

(1 )打开波形编辑器:File->New->Verification/Debugging >Vector Waveform->OK,即出现空白的波形编辑器,如图所示

CFC 2

A 9 f

f “ C 0 Q

D CC1.7Q v

f »«•!

zn rr.rw

■■

JJ

⑵设置仿真时间区域:Edit->End Time在Time栏中输入50,单位选择u us”点波形文件

击确定并保存

End T me

DLALJ exk?ns;on 二phon?・

r、小用 ;d^ClT« K pel »<'n

E rtd le ae

wn per i»_n4

Rdd>

| 匸 >eer±ien gue?

dsnb Narie I Dreeton

\"rtnee?

(3 )将工程DECL7S的端口信号名选入波形编辑器中:View—>Utility windows- ->Node

Finder,在Filter框中选Pins : all (通常是默认选项),然后点击List,贝U显 示出了所有引脚,如图

所示

P 1

Ldak fiT.

h Ede-» Fo na

1 «ir ii -g

2 Indude

Tycfl ffj LF*CM S

Irica

iti 叭 口 I

A^n-wrij

S

b«1 2«M1|

11慣

UN Nt 金亏 nad 昨

111a i

U (J

U 辺.firtaiftl

■J enifliodl 1J Bf priAipil Ug ±rAeiecl U m fintaisd !J «■ Uw?f H r:

• ■ I LED 兀

LED?E.|Q| \"LEO75| 1

IlnilFigniwj Inp f

Llrz. i:i i nod ii iJpiJGn] UH

Un G雋初

UiJpa

Oi-RpiJ1

Q L£Li/&|.JI

LEQZSRI It L=W5 i»j •LED 細

Ur«*-a5«gne>± n L¥L£

U * Qfi 型 Una-signed

D uRpj

IJ enieie-d U efitelKI

IJ EQI BHIaiBCi

将重要的端口名拖进波形编辑器后关闭窗口

(4)编辑输入波形:

A的左边的+号,能

展开此总线中的所有信号;如果双击此+号左边的信号标记,将弹出对该信号数 据格式 设置的Node Properties对话框,在该对话框的Radix下拉列表中有四种 选择,这里可 选择十六进制Hxadecimal表达方式。

首先进行总线数据格式设置和参数设置:点击输入数据信号

Node Properties

GeTLeral |

Marne: Typo: prjpuT Value t^pe: g 升■从 Radin:

I Hexadecimal

Bus width

I- Display gray code counl as binary count

确定 取

其次输入波形数据:由于A是4位待加载的输入数据,需要设置输入数据。用鼠标在图 所示信号名A的某一数据区拖拉出来一块蓝色区域,然后单击左侧工具栏的问号(?)按 钮,在弹出窗口输入数据,如

0•继而在不同区域设置不同数据。

这里为方便观察,输入的数据依次是

0、1、2、3、4、5、6、7、8 9、MB、C、

D Eo如图所示

Value i r * I

⑹0 u

120 D

日A OrL K2 KO KO 山】 •1[2] rz ■ FJ JVM mi m M KO 3 io ns tlKLU .6) 讨 ••5] Y B -.<1 B ■ A B0 99 3 a 砂 HLI ⑴“B 剧K 8 tM2

(5)仿真

仿真器参数仿真:选择Assignment Settings命令,在Settings窗口下选择 Category

Simulator Settingso 在右侧的 Simulation mode 下拉列表中选择 Timing, 即选择时序仿真,并选择仿真激励文件名DECL7S.vwfo选择Simulation Period 确认选中了 “ Run simulation

55

until all vector stimuli are used 。

• ■ * - ■ I E ■

•>itt «|・・iia-r • • «!«r

f E•-«WTon et 4U- HhfTccr FPA r?'* Trw1 nrCua JITkt!U<4 rl Luwi*町

FdPb・亠

口 d?LfMHBU«T.

I all Mj-i AnrilMr L-*C mM^thcn

■ ISEMIV1 la -

Krl ! Mv/rxV Ffw iw fAar Sathn^a

竟hz

O

启动仿真器:Processing->Start Simulation ,直至出现 Simulation was successful,仿真结束,然后会自动弹出

^Simulation Report点击输出信号

展开总线中的所有信号,可以更利于我们观察和分析波形,女口图

LED7S '旁边的“

所示

(四)应用RTL电路图观察器

ToolsNetlist Viewers->RTL Viewer,结果如图所示

尸.”

r«M> |

五、实验总结

经过几周的学习,我觉得FPGA的学习应该做好预习工作,最好提前安装一下 提前练习程序编写应该有很大帮助。

Quartusll,

因篇幅问题不能全部显示,请点此查看更多更全内容