EDA技术Verilog密码锁文档格式.docx

上传人:b****3 文档编号:7752192 上传时间:2023-05-09 格式:DOCX 页数:14 大小:148.81KB
下载 相关 举报
EDA技术Verilog密码锁文档格式.docx_第1页
第1页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第2页
第2页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第3页
第3页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第4页
第4页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第5页
第5页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第6页
第6页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第7页
第7页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第8页
第8页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第9页
第9页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第10页
第10页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第11页
第11页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第12页
第12页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第13页
第13页 / 共14页
EDA技术Verilog密码锁文档格式.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA技术Verilog密码锁文档格式.docx

《EDA技术Verilog密码锁文档格式.docx》由会员分享,可在线阅读,更多相关《EDA技术Verilog密码锁文档格式.docx(14页珍藏版)》请在冰点文库上搜索。

EDA技术Verilog密码锁文档格式.docx

如果密码错误,led[0]将亮起。

图1给出了设计的顶层模块。

当按下btn[0]、btn[1]、btn[2]

中任何一个按钮时,将会产生一个时钟脉冲。

当分别按下按钮

btn[0]、btn[1]、btn[2]时,锁模块对应的2位输入bn[1:

0]为“00”、

btn[0]btn[l]btn[2:

“01”和“10”。

输入的密码与拨位开关上设置的密码相比较,产生图2所示的状态转移图。

即使密码输入错误,也必须完成完整的4位密码输入,才能进入“fail”状态E4。

图1•门锁电路的顶层模块

图2•门锁电路的状态转移图

四、实验目的:

熟悉利用HDL代码输入方式进行组合逻辑电路的设计和仿

真的流程,掌握Verilog语言的基本语法。

并通过一个密码锁的设计把握利用EDA软件(XilinxISE10.1)进行HDL代码输入方式的电子线路设计与仿真的详细流程,熟悉摩尔状态机。

五、实验内容:

1)利用HDL代码输入方式在XilinxISE10.1平台上实现一个密码锁设计,可以设定密码并显示,输入密码以解锁;

2)设计密码锁的顶层模块,使用模块实例语句连接前面所设计的密码锁模块;

3)生成比特流文件下载到开发板上进行验证。

六、实验器材(设备、元器件):

1)计算机(安装XilinxISE10.1软件平台);

2)BASYS2FPGA开发板一套(带USB-MlniUSB下载线)。

七、实验步骤:

1、在XilinxISE10.1平台中,新建一个工程lock。

我们选用的BASYS2FPGA开发板采用的是Spartan3EXA3S100E芯片和CPG132封装,设置好器件属性,如图3所示。

\M目:

'

,ProjectWizard”Os’,cehoa凸诧百

Selectthedevianddgsiflowfortheproject

Propertylaae

V^Lue

ProductCategory

All

Family

Autoffl&

tiV*Sparlan3E

Device

XA3S100ET

Facka.ge

CFG132〒

Speed

7s

Top-LevelSourceType

HDL

SynthesisTod

XJT(V]U)L/y«

rilo£

)〒

Simulator

ISESim^Litor(YHDUVerily)寸

PreferredLanguage

Verilog寸

EnablsEnhancedDe-signSummtry疋

EnableFilt曹arixi哲

DisplayIncremental

2'

MoreInfo

<

B&

ckNext>

Cuicel

图3.设置器件属性

2、在工程管理区任意位置单击鼠标右键,在弹出的快捷菜单中选

择“NewSource”命令,弹出新建源代码对话框,这里我们选择“VerilogModule”类型,输入Verilog文件名“lock”。

ISE会自动创建一个Verilog的模板,并在源代码编辑区打开,接

下来的工作就是将代码编写完整。

完整代码如下:

modulelock(inputclk,inputclr,input[7:

0]sw,input[1:

0]bn,outputregpass,outputregfail);

reg[3:

0]pre_s,nex_s;

parameterS0=4'

b0000,S1=4'

b0001,S2=4'

b0010,S3=4'

b0011,S4=4'

b0100,E1=4'

b0101,E2=4'

b0110,E3=4'

b0111,E4=4'

b1000;

//stateregistersalways@(posedgeclkorposedgeclr)begin

if(clr==1)pre_s<

=S0;

elsepre_s<

=nex_s;

end

//C1always@(*)begincase(pre_s)

S0:

if(bn==sw[7:

6])

nex_s<

=S1;

else

=E1;

S1:

if(bn==sw[5:

4])

=S2;

=E2;

S2:

if(bn==sw[3:

2])

=S3;

=E3;

S3:

if(bn==sw[1:

0])

=S4;

=E4;

S4:

E1:

E2:

E3:

E4:

6])nex_s<

else

default:

endcase

//C2always@(*)beginif(pre_s==S4)pass=1;

elsepass=0;

if(pre_s==E4)fail=1;

fail=0;

endmodule

3、建立分频模块“clkdiv”,过程如上,代码如下:

moduleclkdiv(

inputmclk,

inputclr,outputclk190);

reg[24:

0]q;

always@(posedgemclkorposedgeclr)begin

if(clr==1)

q<

=0;

=q+1;

assignclk190=q[17];

//190Hz

4、建立时钟脉冲模块“clock_pulse”,代码如下:

moduleclock_pulse(

inputinp,

inputcclk,

inputclr,outputoutp);

regdelay1;

regdelay2;

regdelay3;

always@(posedgeclrorposedgecclk)begin

begin

delay1<

delay2<

delay3<

endelse

begindelay1<

=inp;

delay2<

=delay1;

delay3<

=delay2;

assignoutp=delay1&

delay2&

~delay3;

5、建立七段数码管复用模块“hex7seg‘,代码如下:

modulehex7seg(

input[15:

0]x,

inputclk,

inputclr,

outputreg[6:

0]a_to_g,

outputreg[3:

0]an,

outputdp

);

wire[1:

0]s;

0]digit;

wire[3:

0]aen;

reg[19:

0]clkdiv;

assigndp=1;

assigns=clkdiv[19:

18];

assignaen[3]=1;

assignaen[2]=1;

assignaen[1]=1;

assignaen[0]=1;

//四位四选一

always@(*)

case(s)

0:

digit=x[3:

0];

1:

digit=x[7:

4];

2:

digit=x[11:

8];

3:

digit=x[15:

12];

endcase//数码管显示

case(digit)

a_to_g=7'

b0000001;

b1001111;

b0010010;

b0000110;

4:

b1001100;

5:

b0100100;

6:

b0100000;

7:

b0001111;

8:

b0000000;

9:

b0000100;

hA:

b0001000;

hB:

b1100000;

hC:

b0110001;

hD:

b1000010;

hE:

b0110000;

hF:

b0111000;

default:

endcase//digitselectalways@(*)beginan=4'

b1111;

if(aen[s]==1)an[s]=0;

end//时钟分频器always@(posedgeclkorposedgeclr)begin

if(clr==1)clkdiv<

clkdiv<

=clkdiv+1;

endendmodule

6、顶层模块lock_top设计。

代码如下:

modulelock_top(

input[7:

0]sw,

input[3:

0]btn,

output[1:

0]led,

output[6:

0]seg,

output[3:

wireclr,clk190,clkp,btn012;

0]bn;

wire[15:

0]x;

assignx={2'

6],2'

4],2'

2],2'

0]};

assignclr=btn[3];

assignbtn012=btn[0]|btn[1]|btn[2];

assignbn[1]=btn[2];

assignbn[0]=btn[1];

clkdivU1(.mclk(mclk),

.clr(clr),.clk190(clk190));

clock_pulseU2(.inp(btn012),

.cclk(clk190),.clr(clr),.outp(clkp));

lockU3(.clk(clkp),

.clr(clr),.sw(sw),.bn(bn),.pass(led[1]),.fail(led[0]));

hex7segU4(.x(x),

.clk(mclk),.clr(btn[3]),.a_to_g(seg),.an(an),.dp(dp));

Endmodule

Sourcefor”中

7、将工程编译、综合与实现。

在工程管理区的

选取“Implementation”选项,然后在进程管理区双击“Synthesize-XST'

进行综合,如图4所示。

Sources

Frfor:

lock_tap

AddExistingSource

CreaiteNewSource

ViewDesignSummary

D电signUtilities

|>

UserCoiistraints

【t^Synthesire~XST

-&

丄环1ementD«

sign

-Jj\GentrateProgra/Mriin^File

fiConfigureTargetDevice

图4.综合进程与源程序结构

综合完成以后是实现,实现主要分为三个步骤:

翻译逻辑网表、映射到器件单元和布局布线,如图4所示。

注意的是,在实现前还必须为模块中的输入/输出信号添加引脚约束,即添加UCF文件。

开发板BASYS2的UCF文件可以在其网站上上下载,当然也可以自己编辑UCF文件。

实验所用的UCF文件如图5所示。

图5.BASYS2开发板所需的UCF文件

6、器件配置。

首先生成可以下载到硬件中的二进制比特文件。

双击图10中的“GenerateProgrammingFile”的选线,ISE就会为设计生成相应的二进制比特文件。

BASYS2开发板提供了非常方便的JTAG配置方案,使用USB-miniUSB线缆结合DigilentAdept软件实现FPGA的配置,配置界面如图6所示。

这里我们对FPGA进行配置,配置成功状态栏会显示“ProgrammingSuccessful信息,如图6所示。

然后可在器件上验证设计。

图6.DigilentAdept界面与配置

八、实验数据及结果分析:

CT

图7.设定密码为2012

BASYSa

beyondtheory

E抵Lfe>

[■S谡1严"

IGiLENTicjooco

&

>

:

图8.输入密码0000,led[0]亮,输入错误

j&

T

iOOrtHl

c>

®

:

UCLK[QQQG

rtXfiSSrJra,

Iu-m-bvW^s"

1—■

DIGILENTicdoooJ2

THEOIgp>

艰雜1脸怎Jte鼬口I!

图8.输入密码2012,led[1]亮,输入正确

九、实验结论:

由上面实验结果可得,实验仿真结果证明了设计的正确性,该

 

设计是合理的,能够满足实验所需的,完成了题设要求。

十、总结及心得体会:

此次实验结合了前几次的学习的成果,将七段数码管复用的部分结合进来,并通过分频电路和时钟脉冲电路来实现通过按键对时序系统的输入,而密码锁本身即是时序电路摩尔机的利用。

至此,我们完整的梳理了一遍这个学期的所学,组合电路设计,时序电路设计合为一体,更能深刻的理解Verilog语言和EDA,收获良多。

报告评分:

指导教师签字:

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2