CPLD与Verilog简介(2)

2019-08-29 00:32

弹出如图8所示的新建执行文件对话框。选中左边栏内的Implementation Constraints File,然后在File栏内键入该文件的文件名JK产生ucf文件(此文件在后面程序与硬件联系的过程中必不可少)。然后点击“下一步”,在出现的对话框中依然点击“下一步”,在最后的对话框中点击“完成”按钮即可返回到WebPACK集成开发环境,这时在工程项目栏内多出了JK.ucf执行文件,同时在图7的编辑窗口已经出现了如图9所示的JK.v的基本结构框架。(input和output的管脚也可分别写在一行)

图8 新建执行文件对话框

6

图9 编程窗口

(9)在如图9所示的编程窗口中输入如下代码,完成整个VerilogHDL程序没汁,最后点击工具栏内的“保存”快捷图标保存整个工程项目。

reg Q; //寄存器输出,保存最新的过程性赋值 assign NQ=!Q; //定义NQ为Q反

always@(negedge Clk or negedge Clr) /*每次Clk或Clr下降沿来到,下面步骤顺 序发生,并且实现的是异步清零*/ begin if(Clr==0) Q=0; else

//若有Clr负脉冲,则清零 //否则实现JK触发器的基本方程

case ({J,K}) 0:Q=Q; 1:Q=0; 2:Q=1; 3:Q=NQ; endcase end

注意:输入的程序代码应该在module JK(Clk,J,K,Clr,Q,NQ);语句和endmodule语句之间。黑体字代表关键字(在编程窗口显示为蓝色);JK触发器的基本方程为Qn?1

?JQn?KQn,程序中实现的即为此方程。

(10)到此时程序已经完成,但它和实际的硬件还无任何联系,用户必须通过管脚锁定来确立它们之间 的关系。在进程窗口中单击Design Entry Utilities左边的+符号,层次展开后单击User Constraints左边的+符号再次展开,在出现的项目中选择Assign Package Pins命令并双击它,在程序无错误的情况下(若少了

7

图10 管脚锁定界面

第(8)步即忘了新建ucf文件,下面的过程都不能实现),会弹出如图10所示的管脚锁定界面(在这里用过ISE 5.2i版的人都会明显体会到6.1版本的先进之处!),然后按照实际的硬件要求分别锁定输入输出管脚。锁定方法是:在界面的Design Object List窗口中,在每个管脚对应的Loc一栏中分别填上所定义的引脚数,形式是大写P字母加引脚数,如图所示。若你不小心定义了已经使用过的管脚,聪明的ISE 6.1则不会显示,让你及时发现自己的错误。软件会自动与Function Block和Macrocell联系起来,并且在右边Package Pins for xc95108-PC84-10窗口中对应的管脚上作上标志(暗绿色),非常直观(而且也可以直接移动那些标志来改变引脚的锁定)。其中Package Pin Legend窗口让你更加清楚XC95108的一些特定管脚的定义。顺便也介绍一下ISE 5.2i版本的管脚锁定:首先在Signals栏内点击若所定的管脚如Clk,这时该信号Clk变成深蓝色,移动光标到芯片的相应管脚上并点击该管脚(可以点击工具栏中的放大符号放大管脚图),这时该管脚变成 绿色即表示Clk已经被锁成功,当然在Input栏内的Clk会被减去,然后依此方法锁定其它管脚——可以看出这样管脚锁定的方式比较麻烦。本例程的管脚锁定信息如表a所示,锁定完毕后保存退出即可重新返回到WebPACK集成开发环境。(在此过程中,进行了综合,若综合synthesize失败,在信息输出窗口可以看到显示,并且在进程窗口中可以看到相应的打×标记)

Pin 25 26 62 Node Name NQ Q Clk Pin 63 65 66 Node Name Clr J K 表a 管脚锁定信息

(11)然后在进程窗口中双击设计实现Implanment Design中的命令,运行相关进程。其中打对勾标记的

8

图11 默认设置

标示该进程已经成功运行;而打感叹号标记的则表示该进程已经运行,但是包含有系统给出的警告,有关警告的更多详细的信息可以在Transcipt窗口中获取。

(12)拿出JTAG电缆并将JTAG下载电缆的两端分别接到PC机和实验仪的JTAG口上,打开工作电源。然后在WebPACK集成开发环境的进程窗口中双击Configure Device(iMPACK)命令选项会弹出如图11所示的一系列窗口,依照默认设置点击“下一步”按钮直到“完成”。生成程序文件(JK.jed)并选择,稍后会弹出如图12所示下载程序接口,用鼠标左键点击芯片XC95108,此时芯片成深蓝色的突出标记,然后点击鼠标右键在出现的下载快捷菜单中选择GetDeviceID命令检查硬件和JTAG电缆是否连接正确,若检测成功则在信息提示窗口(图12的下半部分)将出现该器件的ID号及其相关信息。(使用iMPACT下载配置文件时,启动iMPACT之前,必须关掉先前开的iMPACT。否则,无法进行)

图12 下载程序窗口

(13)此时您就可以执行在上一步中出现的快捷菜单中的Program下载命令了,在出现如图13所示的下载选项窗口中根据需要选择相应的选项。其中Erase Before Programming选项表示在下载编程前先擦除芯片,Verify选项表示下载编程完毕后进行下载校验,Read Project选项表示读加密保护位,而Write Project选项表示对芯片加密保护。选中第一项和第二项,(注意任何已被加密写过的芯片必须先擦除后下载)点击OK命令按钮开始下载。

(14)稍后出现如图14所示的下载进度指示窗口,下载完毕弹出Programme Success!表示下载成功,至此您已经完成一个简单的CPLD开发。你可以在最后设计完成的实验仪上结合按键和发光二极管验证你所编的JK触发器的程序正确性:初始状态:D8亮D7灭(Q=0,NQ=1);摁一下S8,即来一个Clk负脉冲,状态改变D8灭,D7亮(此时实现的是T触发器,因为J=K=1);再摁一下S7,即来一个Clr负脉冲,Q清零:D8亮D7灭,由此实现了JK出发器的功能。

9

图13 下载选项窗口

图14 下载进度指示窗口

三、Verilog HDL简介

Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。

Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。

Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。

Verilog HDL语言最初是于1983年由Gateway Design Automation公司为其模拟器产品开发的硬件建模语言。那时它只是一种专用语言。由于他们的模拟、仿真器产品的广泛使用,Verilog HDL 作为一种便于使用且实用的语言逐渐为众多设计者所接受。在一次努力增加语言普及性的活动中,Verilog HDL语言于1990

10


CPLD与Verilog简介(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:收付清算岗位资格准入考试复习要点(修改)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: