实验01加法器(7)

2019-04-08 22:54

(b)

图1-37 设置编程方式步骤

连接硬件:

把并口延长电缆线的一端连接到计算机并行口,另一端连接“ByteBlasterII”下载器,然后连接10针排线,再连接到实验箱的核心板上的“JTAG”下载口。注意:在JTAG下载口(10针双排阵)的上方位置的丝印层标有连接方向提示,即10针排线的凸出部分在左边。

连接电源线,打开实验箱的电源开关。

勾选编程配置的文件,点击“Start”按钮,在配置进度提示栏会显示配置完成情况。如图1-38所示。

配置进度提示栏勾选配置文件图1-38 编程配置选择界面

注意:如果编程失败,分别检查系统是否上电;计算机是否和并口延长电缆线正确连接;10针排线方向是否正确;是否勾选合适的配置文件;配置方式是否正确;实验箱重新上电等。在下载配置过程中,禁止插拔下载线。

观察结果是否正确。实验箱的按键和LED的电路图如图1-39所示。需要强调的是:从电路原理图上我们可以看出,在按下按键时,相应的FPGA管脚为低电平,松开按键时为高电平;FPGA管脚为高电平时,相应的LED灭,而FPGA管脚为低电平时,相应的LED亮。在观察时注意这个现象。

图1-39 按键和LED连线原理图(不清楚)

提示:实验箱打开电源后,会核心板的EPSC串行配置器件会自动将其存储的配置数据对FPGA进行配置,这种自动配置在脱机情况下运行,一旦进行核心板重新上电或按下核心板上的“RE_CONFIG”

31

按键时,都将启动一次FPGA的自动配置。在脱机之前,要事先将配置数据通过编程器写入EPCS中。一旦用户配置后,FPGA里的原配置信息会自动清空而重新配置。可以拔下实验箱上相应的跳线而断开相应模块的输出,如:把JP7拔下,即使自动配置,也没有蜂鸣器的“自动演奏”声音了。 注意:如果在编译后,有重新锁定了管脚编号或改变了设计的功能,一定要重新编译,重新生成下载文件。 步骤8:元件封装

所谓封装,就是我们对已经完成的具有一定功能的元器件封装成一个元器件符号,我们可以在其更高一层的文件中调用。例如,我们已经做好了半加器,封装成元器件后,就像我们已经“生产”出了半加器,可以在设计中使用了。这个类似其它编程语言中的子程序或子函数一样,在其它程序中可以调用,而不需每次都要该子程序或函数重新写一遍。

并不是每次设计都需要进行元件封装这一步。

可以对原理图输入的电路进行元器件封装,也可以对硬件描述语言设计的文件进行元器件封装。二者的方法基本相同。对于对原理图输入的电路,方法如下:

在工程控制面板,打开文件选项卡,选择待封装的文件,执行菜单“File”→“Create/Update”→“Create Symbol Files for Current File”,在弹出的对话框选择默认设置,即保存为与该文件同名的bsf格式的文件。

说明:如果半加器原理图有错误,需要纠错才能封装成元器件。 步骤9:全加器的设计

为了对封装的元器件有深入的了解,我们这里使用半加器进行设计全加器。如何使用半加器组成全加器呢?

半加器就是两个数相加,全加器就是三个数相加,设全加器的结果为CoSo。加上3个输入信号为A、B、C,首先我们使用半加器算出 A+B,结果记为C1S1,再把计算S1+C结果记为C2S2,S2即为全加器结果的最低位So,而进位C1和C2只要有1个为1(最多只可能1个为1),则全加器的结果就有进位,就是“或”的关系,即Co = C1 or C2。

在该工程下新建一个原理图文件,在该文件原理图空白区域双击鼠标,弹出输入元件对话框,这时我们可以看出,在“元件库”栏多出了“Project”项,该项是用户的元件库,里面的“h_adder”元件就是我们上步封装生成的半加器元器件,在元件预览区,我们可以看到封装后的元件符号。如图1-40所示。

32

图1-40 封装生成的半加器元件图

按图1-41所示的电路图连接电路。然后保存文件,文件名默认为和工程名同名,我们根据功能保存为full_adder。

注意:绝对不要和以前设计的文件同名,否则会把原来的文件覆盖而造成错误。初学者经常出现这个错误。

h_adderBDINPUTVCCINPUTVCCABCOSOinstOR2OUTPUTCOh_adderACINPUTVCCinst5COSOOUTPUTBSOinst1 图1-41 全加器原理图

把该文件设为顶层文件,进行锁定管脚(见说明)、编译、仿真、下载配置。 说明:

33

如果不把全加器设为顶层文件,编译时还是原来指定的半加器文件。如果在管脚锁定时,发现“应该”出现的管脚为出现,就要看看设置的顶层文件是否为设计者的本意。

半加器封装后,其原理图文件中的锁定管脚信息将不影响全加器的管脚编号的设置,但在全加器锁定管脚时,可能会出现原来锁定管脚的编号,是因为半加器编译生成的管脚信息文件未更新而已。比较方便的方法是在图1-16所示的分配引脚对话框,在管脚顺序变化栏选中全部管脚,点击鼠标右键,在弹出的浮动菜单选择选择Delete,如图1-42所示。这里还可能还会存在未能删除的部分管脚,是因为全加器新的管脚。在“From”或“To”栏点击鼠标,在弹出的浮动菜单选择选择“Node Finder…”选择添加管脚,同时删除重复管脚。或在锁定管脚时直接执行菜单“Assignments”→“Pin Planner”,进行管脚锁定。

半加器元器件的输入输出管脚名分别为A、B、CO和SO,这和全加器的输入输出管脚尽管重名,但不冲突。类似局部变量和“全局”变量。

半加器元件符号的输入输出管脚的排列顺序可能不同,这和设计半加器原理图管脚的顺序有关,本质上没有区别,注意连线要正确,这里也体现了输入管脚命名的重要性,如果在设计半加器时,对输入输出管脚任意命名,在全加器原理图连线时可能会造成误解。

现在许多设计都是“由下向上”或“由上向下”设计的理念,QuartusII软件也是基于此理念的。我们这里体现的是“由下向上”设计。相对而言,半加器是低层,全加器为高一级层,当然全加器也可以当作八位加法器的低层设计。

在全加器原理图文件中,双击半加器符号,则会直接弹出半加器的设计文件即低层文件。 如果在以后的设计中,低层文件的输入输出管脚没变,只是更改了其中的功能设计内容,不需要重新编译低层文件,只需编译顶层文件即可,即顶层原理图文件中显示的只是一个符号图标而已。这和其他软件类似。例如:如果本设计的半加器原理图中,把其中的或门改为与门(这里功能就不对了,只是举例),在只需编译顶层全加器原理图文件即可。

如果顶层文件调用低层文件后而又改变低层文件的输入输出管脚信息,需要进行如下处理:在低层文件中重新封装生成元器件符号文件,覆盖原来的符号文件。在顶层原理图文件中,右键点击低层文件的原符号文件,在弹出的浮动菜单中选择“Update Symbol or Block…”,在弹出的更新符号对话框里选择“All symbols or blocks in the file”,如图 所示。更新后,可能需要重新对元件进行连线。

(a)

34

(b)

图 1-42 删除、添加管脚示意图

图1-43 更新低层元件符号对话框

四. 实验内容

1. 根据上面的设计向导,完成半加器的设计,并仿真、配置验证;

2. 在半加器的基础上,利用生成的半加器元件,组成一个1位全加器adder_1.gdf,并封装为

元件; 3. 在1位全加器的基础上,利用上步生成的全加器元件,设计一个8位全加器adder_8.gdf,

并仿真。

五. 实验报告

1. 锁定管脚的含义

2. 一位全加器的gdf文件

3. 8位全加器的gdf文件,仿真波形文件。

35


实验01加法器(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《送电线路工》第二版题库

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

马上注册会员

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