高速硬件除法器设计.docx

上传人:b****6 文档编号:12664745 上传时间:2023-06-07 格式:DOCX 页数:15 大小:235.58KB
下载 相关 举报
高速硬件除法器设计.docx_第1页
第1页 / 共15页
高速硬件除法器设计.docx_第2页
第2页 / 共15页
高速硬件除法器设计.docx_第3页
第3页 / 共15页
高速硬件除法器设计.docx_第4页
第4页 / 共15页
高速硬件除法器设计.docx_第5页
第5页 / 共15页
高速硬件除法器设计.docx_第6页
第6页 / 共15页
高速硬件除法器设计.docx_第7页
第7页 / 共15页
高速硬件除法器设计.docx_第8页
第8页 / 共15页
高速硬件除法器设计.docx_第9页
第9页 / 共15页
高速硬件除法器设计.docx_第10页
第10页 / 共15页
高速硬件除法器设计.docx_第11页
第11页 / 共15页
高速硬件除法器设计.docx_第12页
第12页 / 共15页
高速硬件除法器设计.docx_第13页
第13页 / 共15页
高速硬件除法器设计.docx_第14页
第14页 / 共15页
高速硬件除法器设计.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

高速硬件除法器设计.docx

《高速硬件除法器设计.docx》由会员分享,可在线阅读,更多相关《高速硬件除法器设计.docx(15页珍藏版)》请在冰点文库上搜索。

高速硬件除法器设计.docx

高速硬件除法器设计

高速硬件除法器设计

一、实验目的:

了解和掌握硬件除法器的结构和工作原理,分析除法器的仿真波形和工作时序。

二、实验原理:

除法器算法的思路和手写除法基本一致。

假设除法a/b,a、b是输入的

两个位数都为n的二进制数。

如果位数小于n,可以在位数较少的数的前面添加0来满足

这种位数要求。

商和余数是n位标准矢量类型的二进制数。

在过程中,算法也是按顺序执

行的,但是综合后系统将会由组合逻辑电路组成,进程中的每一步都和系统构建的不同级别

的逻辑电路相对应。

首先,从输入信号中创建变量A和B,A=a,B=b,其中a,b都是n位二进制数。

果A大于等于B,则商为1,余数为A-B,否则商为0,余数为A。

这是算法开始的第一次循环,如果小于B,结果商位是0,A的值不做变化并保留其值。

否则,结果商位为1,

则把相减后的余数插入变量A中。

不管比较结果如何,变量A都要右移一位(左边添加0),接着开始下一次循环。

循环n次之后,n位结果赋给商,最后A剩余的值就是余数。

三、实验任务:

用VerilogHDL设计除法器。

除法器的参考程序如下:

moduleDIV16(inputCLK,input[15:

0]A,B,outputreg[15:

0]QU,RE);

reg[15:

0]AT,BT,P,Q;integeri;

always@(posedgeCLK)begin

AT=A;BT=B;P=16'H0000;Q=16'H0000;

for(i=15;i>=0;i=i-1)

begin

P={P[14:

0],AT[15]};

AT={AT[14:

0],1'B0};P=P-BT;

if(P[15]==1)beginQ[i]=0;P=P+BT;endelseQ[i]=1;

end

end

always@(*)beginQU=Q;RE=P;endendmodule

其中A和B是除法器输入端的两个16位数据,它们分别为被除数和除数,输出结果分成两

部分:

QU是商,RE是余数。

给出仿真时序波形图。

四、实验步骤:

实验步骤大致分为三大步。

(一)、建立工作库文件和编辑设计文文件

任何一项设计都是一项Project(工程),我们一般把一个工程下的所有文件放在一个文件

夹内,这样方便我们整理,利用和提取不同工程下的文件,而此文件夹将被EDA软件默认

为WorkLibrary(工作库),所以第一步先建立一个新的文件夹。

(1)新建文件夹:

在F盘建立并保存工程,文件夹取名homework。

(2)输入源程序:

打开QuartusII,选择菜单File-->New-->Design

在打开的空白处工作框处输入任务要求中所列出的代码。

(3)保存文件:

选择File-->Saveas,选择保存路径,即刚才新建的文件夹homework

文件名应与实体名保持一致,即DIV16,点击保存后会跳出“Doyouwanttocreateanewprojectwiththisfile?

”选择"是”,则进入如下界面

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

第一行表示工程所在的文件夹,第二行为工程名,可以与顶层文件的实体名保持一致,也可以另取别的名字,第三行为当前工程顶层文件的实体名。

点击next,进入ADDFILE对话框,如图所示,单击AddAll按钮,将工程相关的所有VHDL文件加进工程,也可以单击“Add…”选择性加入,按此步骤建立工程,工程已

经自动将所有文件加进去了,可以直接点击next,当先直接建立工程时,需要自己添加

 

(4)选择目标芯片:

这里选用的是

CycloneHI系列的EP3C55F484C8,在Family栏选择

为FBGA、Pincount为484和Speedgrade为8,点击Next,如图所示

尸吐怔

[^―

二]

Is

r-*ewhr

(7Shew-srh-s-EJKldr«-fcH

.:

.8r:

zzc□-1:

1-Je.■:

c_rt:

rz:

.:

-_.

仙”|fviseIII

1-SfflilSFWW

占uhjde*«M-bitedbri>iwFiriei

■*ipe:

fKse*:

le^:

mdftd«El

1SMH3E0Q

;1XI

I£88

丽上I"r■!

.r■;235&1&I

LEtIE"

3r

z?

E0EH%Noilrr

■曲亡

EPKIWWOE旳祥期曲

EPX5^«fl4G5EPX^FH曲EF3CIZTJIEJ.EE

'Zi>S'iccfc、]4"ll

 

合工具、选择仿真工具、选择时序分析工具,这是除QuartusII自含的所有设计工具以外

的外加的工具,如果不作选择的,表示仅选择

QuartusII自含的所有设计工具,本次不需

 

要其他的设计工具,可以直接点击Next

1/4冋EF'I^■XiLin3申d-rl忙IInX巾咅二口・川

&«iEQri百口3

伽rWtt*皿咼V

 

Tmng4>rriiJ|Mi

l4i>|FLCiiO^

(6)结束设置:

进入

“工程设置统计”窗口,列出了与此工程相关的设置情况,设置完

成,点击Finish

(二八编译

配置好后就可以进行编译了,点击ProcessingStartCompilation命令启动全程编译

(三)时序仿真

⑵设置仿真时间区域:

Edit-->EndTime在Time栏中输入50,单位选择“us”,点击确

定并保存波形文件

 

View-->Utilitywindows-->Node

(3)将工程DIV16的端口信号名选入波形编辑器中:

Finder,在Filter框中选Pins:

all(通常是默认选项),然后点击List,则显示出了所有引脚,如图所示

Fincwr

r3伽pm

7片M丘suKrttei

UolsFuind

I勁恻祢

[[-^1IL-IL^—L

_Q1AJL345HQ7—Auou~1111WMlrlrlr,AIr*

Uru^uvil

Uuurkifcd

1iij1

Igl

llieifl

LI"唏尸ii

kfui

E*tfri

UrirBfbncd

knji

七Ed

Llrfssiqreil

Inpul

□teiwVftffd

Urv^jqrEtl

IrtUl

iJhElfflelTtl

Inpjl

Uc««^md

Urecsi^ed

|「EAJ|

Utdvisni

Urc.^Eii

Iruul

g兰记=3

Ur

lr|Ail

Ujd^-ki=J

Ur吧也”d

Igl

刊沪d

llnr-rij'prl

Irpjl

iiIm*VppH

Urr-i^ii

krui

畑-ttcrd

IJrr£:

sigred

Ir-pul

LheiwVet-d

'UreESigred

Igl

Ll油

□MF

jjxiti.|^Hj£■|_

 

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

 

首先进行总线数据格式设置和参数设置:

点击输入数据信号A的左边的+号,能展开此

总线中的所有信号;如果双击此+号左边的信号标记,将弹出对该信号数据格式设置的Node

Properties对话框,在该对话框的Radix下拉列表中有四种选择,这里可选择十进制表达

方式,将A、B均设置为十进制表达方式。

设置时钟信号

其次输入波形数据:

由于A、B需要设置输入数据。

用鼠标在图所示信号名A、B的某

一数据区拖拉出来一块蓝色区域,然后单击左侧工具栏的问号(?

)按钮,在弹出窗口输入

数据,如0.继而在不同区域设置不同数据。

这里为方便观察,A中输入的数据依次是4、5、

7、10、22、25、32、40、47、122、200。

对应B中输入的数据依次是1、3、4、5、7、

10、7、5、6、11、15。

如图所示

(5)仿真

仿真器参数仿真:

选择AssignmentSettings命令,在Settings窗口下选择CategorySimulatorSettings。

在右侧的Simulationmode下拉列表中选择Timing,即选择时序仿真,并选择仿真激励文件名DIV16.vwf。

选择SimulationPeriod栏,确认选中了“Runsimulationuntilallvectorstimuliareused”。

Processing-->StartSimulation,

真结束,然后会自动弹出“SimulationReport”,注意这里点击输出信号“DIV16”旁边的“+”,展开总线中的所有信号,可以更利于我们观察和分析波形。

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

操作方法步骤为:

Tools-->NetlistViewers-->RTLViewer

五、实验总结

编写代码时要注意用规范的语言,尽量避免严重警告现象的出现。

在最后编辑波形时,要选择合适的数值,使波形一目了然。

在学习FPGA时,要有一定的提前量,自己在课下要多钻研,尝试去编写代码,利用Quartusll软件自己进行实验操作,找出错误分析错误原因,这样才能不断进行,从而更熟

练得掌握这门语言。

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

当前位置:首页 > 考试认证 > 公务员考试

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

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