FPGA 4位全加器的设计.docx

上传人:b****5 文档编号:7263473 上传时间:2023-01-22 格式:DOCX 页数:13 大小:351.17KB
下载 相关 举报
FPGA 4位全加器的设计.docx_第1页
第1页 / 共13页
FPGA 4位全加器的设计.docx_第2页
第2页 / 共13页
FPGA 4位全加器的设计.docx_第3页
第3页 / 共13页
FPGA 4位全加器的设计.docx_第4页
第4页 / 共13页
FPGA 4位全加器的设计.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

FPGA 4位全加器的设计.docx

《FPGA 4位全加器的设计.docx》由会员分享,可在线阅读,更多相关《FPGA 4位全加器的设计.docx(13页珍藏版)》请在冰豆网上搜索。

FPGA 4位全加器的设计.docx

FPGA4位全加器的设计

 

4位全加器设计报告

一、设计原理

全加器是指能进行加数、被加数和低位来的进位信号相加,并根据求和结果给出该位的进位。

4位加法器可以采用4个以为全加器级连成串行进位加法器,如下图所示,其中CSA为一位全加器。

显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算无法胜任。

A和B为加法器的输入位串,对于4位加法器其位宽为4位,S为加法器输出位串,与输入位串相同,C为进位输入(CI)或输出(CO)。

实现代码为:

全加器真值表如下:

输入

输出

Xi

Yi

Ci-1

Si

Ci

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

moduleadder4(cout,sum,ina,inb,cin);

output[3:

0]sum;

outputcout;

input[3:

0]ina,inb;

inputcin;

assign{count,sum}=ina+inb+cin;

endmodule

二、设计目的

⑴熟悉ISE9.1开发环境,掌握工程的生成方法。

⑵熟悉SEED-XDTKXUPV2Pro实验环境。

⑶了解VerilogHDL语言在FPGA中的使用。

⑷了解4位全加器的VerilogHDL语言实现。

三、设计内容

用VerilogHDL语言设计4位全加器,进行功能仿真演示。

四、设计步骤

1、创建工程及设计输入。

⑴在E:

\progect\目录下,新建名为count8的新工程。

⑵器件族类型(DeviceFamily)选择“Virtex2P”

器件型号(Device)选“XC2VP30ff896-7”

综合工具(SynthesisTool)选“XST(VHDL/Verilog)”

仿真器(Simulator)选“ISESimulator”

⑶下面一直next和确定。

⑷设计输入:

在源代码窗口中单击右键,在弹出的菜单中选择“NewSource”,在弹出的对话框中选择“VerilogMoudle”,在右端的“Filename”中输入源文件名adder4,下面各步单击“Next”按钮。

⑸在弹出的源代码编辑框内输入源代码并保存。

2、功能仿真

⑴在source窗口“sourcesfor”中选择“BehavioralSimulation”。

由“TestBenchWaveForm”添加激励源。

点击Finish。

⑵出现波形激励编辑窗口。

给ina和inb赋初始值。

⑶在processes窗口中单击“simulaterbehavioralmodel”即开始仿真,仿真结果如下。

从仿真的结果可以看出,sum=ina+inb+cin。

仿真结果正确。

3、用ChipScope进行在线调试。

⑴生成ChipScope核。

代码比较简单,这里只需要ICON和VIO两个核即可。

打开“ChipScopeprocoregenerator”

首先是生成ICON核的过程。

在outputnetlist位置指向adder4所在的路径,在devicefamily里选virtex2p器件。

由于只用了VIO核,所以ICON的控制端口数设置为1。

之后就是就是一直确定就行,直到出现生成新的核的界面。

其次就是生成VIO核的过程。

在输入输出端口设置过程中选定异步输入端口和异步输出端口。

异步输入端口宽度根据sum(4位)、cout(1位)的总位数设定,异步输出端口根据ina(4位)、inb(4位)、cin(1位)的总位数设定。

之后也是一直确定,这样VIO核也就生成了。

⑵添加ICON核与VIO核到工程。

点击“File—Open”,在adder4所在位置找到icon_xst_example.v和vio_xst_example.v文件并打开,将ICON和VIO核的模块例化语句加到adder4.v相应的位置,并进行修改,最后得到的代码如下:

moduleadder4(cout,sum);

output[3:

0]sum;

outputcout;

wire[3:

0]ina,inb;

wirecin;

wire[35:

0]control0;

wire[13:

0]async_in;

wire[8:

0]async_out;

iconi_icon

.control0(control0)

);

vioi_vio

.control(control0),

.async_in(async_in),

.async_out(async_out)

);

assignasync_in[3:

0]=ina[3:

0];

assignasync_in[7:

4]=inb[3:

0];

assignasync_in[8]=cin;

assignasync_in[12:

9]=sum[3:

0];

assignasync_in[13]=cout;

assignina[3:

0]=async_out[3:

0];

assigninb[3:

0]=async_out[7:

4];

assigncin=async_out[8];

assign{cout,sum}=ina+inb+cin;

endmodule

moduleicon

control0

);

output[35:

0]control0;

endmodule

modulevio

control,

async_in,

async_out

);

input[35:

0]control;

input[13:

0]async_in;

output[8:

0]async_out;

endmodule

进行保存,然后在ISE里进行综合,具体操作步骤:

单击“adder4.v”,在processes窗口中双击“Synthesize—XST”;如果综合没有出错,再实现,双击“ImplementDesign”,最后生成bit文件,双击“GenerateProgrammingFile”。

过程图为:

⑶在ChipScope里观测调试

单击“adder4.v”,在Processes窗口中选择双击“AnalyzeDesignUsingChipscope”进入ChipScopeProAnalyzer窗口,点击

图标检查连接情况,然后下载bit文件。

由于我们没有板子只能做到这一步了。

五、总结与体会

通过这学期对FPGA应用技术的学习,我对FPGA这项技术也有了一定的了解。

最后通过这个大作业也是我对整个的设计过程有了更进一步的认识。

我觉得我在这次的课程设计大作业中我在以下几点收获很大。

⑴加深了对全加器的认识;

⑵了解了4位并行相加串行进位全加器的组成原理和组成框图;

⑶掌握了工程的生成方法,以及如何创建HDL资源文件;

⑷对VerilogHDL语言的用法有了一定的了解;

⑸了解了如何进行功能仿真,如何添加激励源;

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1