FPGA4位全加器设计.docxVIP

  • 22
  • 0
  • 约3.16千字
  • 约 12页
  • 2021-01-05 发布于山东
  • 举报
目录 一、设计原理 1 二、设计目的 1 三、设计内容 2 四、设计步骤 2 五、总结与体会 6 位全加器设计报告 一、设计原理 全加器是指能进行加数、被加数和低位来的进位信号相加,并根据求和结果给出该位的进位。 4 位加法器可以采用 4 个以为全加器级连成串行进位加法器,如下图所示,其中 CSA为一位全加器。 显然,对于这种方式, 因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算无法胜任。 A 和 B 为加法器的输入位串,对于 4 位加法器其位宽为 4 位, S 为加法器输出位串,与输入位串相同, C为进位输入( CI)或输出( CO)。 实现代码为: 全加器真值表如下: module adder4(cout,sum,ina,inb,cin); output[3:0]sum; output cout; input[3:0]ina,inb; input cin; assign {count,sum}=ina+inb+cin; endmodule  输 入 输 出 Xi Yi Si Ci Ci-1 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 二、设计目的 ⑴熟悉 ISE9.1 开发环境,掌握工程的生成方法。 ⑵熟悉 SEED-XDTK XUPV2Pro实验环境。 ⑶了解 Verilog HDL 语言在 FPGA中的使用。 ⑷了解 4 位全加器的 Verilog HDL 语言实现。 三、设计内容 用 Verilog HDL 语言设计 4 位全加器,进行功能仿真演示。 四、设计步骤 1、创建工程及设计输入。 ⑴在 E: 目录下,新建名为 count8 的新工程。 ⑵器件族类型( Device Family )选择“ Virtex2P ” 器件型号( Device )选“ XC2VP30 ff896-7 ” 综合工具( Synthesis Tool )选“ XST(VHDL/Verilog) ” 仿真器( Simulator )选“ ISE Simulator ” ⑶下面一直 next 和确定。 ⑷设计输入:在源代码窗口中单击右键,在弹出的菜单中选择“ New Source”, 在弹出的对话框中选择“ Verilog Moudle”,在右端的“ File name”中输入源文件名 adder4 ,下面各步单击“ Next”按钮。 ⑸在弹出的源代码编辑框内输入源代码并保存。 2、功能仿真 ⑴在 source 窗口“ sources for ”中选择“ Behavioral Simulation ”。由“ Test Bench WaveForm”添加激励源。 点击 Finish 。 ⑵出现波形激励编辑窗口。给 ina 和 inb 赋初始值。 ⑶在 processes 窗口中单击“ simulater behavioral model”即开始仿真,仿真结果如下。 从仿真的结果可以看出, sum=ina+inb+cin 。仿真结果正确。 3、用 ChipScope 进行在线调试。 ⑴生成 ChipScope 核。代码比较简单,这里只需要 开“ ChipScope pro core generator ” 首先是生成 ICON核的过程。  ICON和  VIO 两个核即可。打 在 output netlist 位置指向 adder4 所在的路径,在 device family 里选 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 相应的位置,并进行修改,最后得到的代码如下: module adder4(cout,sum); output[3:0] sum; output cout; wire [3:0] ina,inb; wire cin; wire [35:0] control0; wire [13:0] asyn

文档评论(0)

1亿VIP精品文档

相关文档