计算机组成原理课程设计定点原码一位乘法器的设计_第1页
计算机组成原理课程设计定点原码一位乘法器的设计_第2页
计算机组成原理课程设计定点原码一位乘法器的设计_第3页
计算机组成原理课程设计定点原码一位乘法器的设计_第4页
计算机组成原理课程设计定点原码一位乘法器的设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课课 程程 设设 计计 报报 告告 课程设计名称:计算机组成原理课程设计计算机组成原理课程设计 课程设计题目:定点原码一位乘法器的设计定点原码一位乘法器的设计 院(系):计算机学院 专 业: 班 级:4401102 学 号:208 姓 名: 指导教师: 完成日期: 目目 录录 第第 1 章章 总体设计方案总体设计方案.1 1.1 设计原理 .1 1.2 设计环境 .2 第第 2 章章 详细设计方案详细设计方案.3 2.1 顶层方案图的设计与实现 .3 2.1.1 创建顶层图形设计文件.3 2.1.2 器件的选择与引脚锁定.4 2.2第二层模块的设计与实现.5 2.3 功能模块的设计与实现 .5

2、 2.3.1 移位模块的设计与实现.5 2.3.2 乘数移位模块的设计与实现.7 2.3.3 选择模块的设计与实现.9 2.3.4 控制模块的设计与实现.11 2.3.5 其他模块的设计与实现.13 2.4 仿真调试 .13 第第 3 章章 编程下载与硬件测试编程下载与硬件测试.16 3.1 编程下载 .16 3.2硬件测试及结果分析.16 参考文献参考文献.17 附附 录(电路原理图)录(电路原理图).18 第 1 章 总体设计方案 1.1 设计原理设计原理 原码一位乘,两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数 值则为两数绝对值之积。 例:x=0.1100,y=0.1110,计

3、算乘积 x*y。 0.1100 * 0.1110 0000 1100 1100 1100 0.10101000 在计算时,逐次按乘数每 1 位上的值是 1 还是 0,决定相加数取被乘数的值 还是取零值,而且相加数逐次向左偏移 1 位,最后一起求积。 由于在计算机内多个数据一般不能同时相加,一次加法操作只能求出两数之 和,因此每求得一个相加数,就与上次部分积相加每次计算时,相加数逐次向左 偏移一位,由于最后的乘积位数是乘数(被乘数)的两倍,因此加法器也需增到 两倍。部分积右移时,乘数寄存器同时右移一位,所以用乘数寄存器的最低位来 控制相加数取被乘数或零,同时乘数寄存器接收部分积右移出来的一位,完

4、成运 算后,部分积寄存器保存乘积的高位部分,乘数寄存器中保存乘积的低位部分。 根据人工算法可以知道,原码一位乘法的整体设计应包括乘数寄存器,被乘 数寄存器,移位电路,控制器,部分积五大模块,包含一个输入、输出、控制器 模块,并作为顶层设计,以上五大模块作为底层设计,采用硬件器件设计实现。 因此,可以得出以下原理框图设计如图 1.1 所示: 图图 1.1 原码一位乘的逻辑电路框图原码一位乘的逻辑电路框图 如上逻辑框图 1.1 中所示,其中 b 为被乘数寄存器,用来存放被乘数,c 为 乘数寄存器,用来存放乘数并且移位,a 为部分积寄存器,存放每次相加并移位 后的数据,alu 加法器实现加法操作,移

5、位电路用来对相加后的数据作移位处理, 计数器控制移位次数和输出结果。 1.2 设计环境设计环境 硬件环境:伟福 cop2000 型计算机组成原理实验仪、xcv200 实验板、微 机; eda 环境:foundation f3.1 设计软件。该设计由设计入口工具,设计实现工 具,验证工具三大部分组成.入口工具包括原理图设计,有限状态编辑器,硬件描述语 言编辑器等。 第 2 章 详细设计方案 2.1 顶层方案图的设计与实现顶层方案图的设计与实现 顶层方案图实现原码一位乘的逻辑功能,采用原理图设计输入方式完成,电 路实现基于 xcv200 可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出 信号

6、安排到 xcv200 指定的引脚上去,实现芯片的引脚锁定。 2.1.1 创建顶层图形设计文件创建顶层图形设计文件 顶层图形文件由一个运算器模块组成,乘数 x7:0,被乘数 y7:0,符号 位 xa,ya,脉冲 clk,清零端 clr,打入端 load,结果 out16:0,顶层 图设计如下: 图图 2.1 原码一位乘顶层图形文件结构原码一位乘顶层图形文件结构 2.1.2 器件的选择与引脚锁定器件的选择与引脚锁定 (1)器件的选择)器件的选择 由于硬件设计环境是基于伟福 cop2000 型计算机组成原理实验仪和 xcv200 实验板,故采用的目标芯片为 xlinx xcv200 可编程逻辑芯片。

7、另外,在这次的 设计中还有的涉及 verilog 语言编程。 (2)引脚锁定)引脚锁定 把顶层图形文件中的输入/输出信号安排到 xlinx xcv200 芯片指定的引脚上 去,实现芯片的引脚锁定,各信号及 xlinx xcv200 芯片引脚对应关系如表 2.1 所 示。 表表 2.1 信号和芯片引脚对应关系信号和芯片引脚对应关系 图形文件中的输入图形文件中的输入/输出信号输出信号xcv200芯片引脚芯片引脚 x0p47 x1p48 x2p49 x3p50 x4p53 x5p54 x6p55 x7p56 y0p41 y1p40 y2p39 y3p38 y4p36 y5p35 y6p34 y7p3

8、3 clkp98 clrrp94 loadp97 xap96 yap95 out0p213 out1p215 out2p216 out3p217 out4p218 out5p220 out6p221 out7p222 out8p223 out9p224 out10p228 out11p229 out12p230 out13p231 out14p232 out15p234 out16p235 2.2第二层模块的设计与实现第二层模块的设计与实现 根据以上原理设计分析与大概框图,可得出以下的第二层模块的设计,其中 各大模块实现各部分功能。 图图 2.2 第二层模块框图第二层模块框图 2.3 功能模块

9、的设计与实现功能模块的设计与实现 根据第二层模块设计可知,整体设计由乘数寄存器,被乘数寄存器,移位电 路,控制器,部分积五大模块,以下介绍各个模块的具体实现。 2.3.1 移位模块的设计与实现移位模块的设计与实现 为了简化设计,采用了 verilog 语言设计,用语言实现移位功能,xx7:0 表示输入,co 表示加法器的进位,ce 表示使能端,clr 表示清零端,yy7:0表 示移位后的输出,ci 标记移出去的那一位,其设计过程如下。 (1)创建)创建 verilog 源文件源文件 module yiweidianlu (yy, xx, ce, co,ci,clr) ; output 7:0y

10、y ; reg7:0yy ; input 7:0xx ; input ce ; input clr ; input co; output ci; reg ci; always(clr) begin if(clr) yy=0; else begin yy7=co; yy6=xx7; yy5=xx6; yy4=xx5; yy3=xx4; yy2=xx3; yy1=xx2; yy0=xx1; ci=xx0; end end endmodule (2)创建元件图形符号)创建元件图形符号 图形符号如下: (3)功能仿真)功能仿真 对创建的移位器件 yiweidianlu 进行功能仿真,验证其功能的正确性

11、。可 用 xilinx foundation f3.1 编译器的 simulator 模块实现。 功能仿真图如下: 表表 2.3.1 移位器件功能表描述移位器件功能表描述 xx7:0yy7:0cicoceclr 0f07101 0 0f87111 0 0f00001 1 从以上表中数据可以看出,当 clr 为 1 时,该器件清零,输出 yy7:0为 零,为零时,有移位功能,co 为移位后高位的补充值。ci 标记移出的那一位, 用来送往乘数寄存器中移位的高位补充,ce 为此器件的使能端,保证该器件工 作,该器件成功创建。 2.3.2 乘数移位模块的设计与实现乘数移位模块的设计与实现 为了标记乘数

12、移位前的最低位,设计 cheng 寄存器,输入分别用 din7:0表 示,移位后结果用 q7:0表示,高位补充用 sin 表示,移出的一位用 kin 表示, 其设计过程如下。 (1)创建)创建 verilog 源文件源文件 module cheng (load, sin, din, clk, clr, q, kin) ; input load ; input sin ; input 7:0 din ; input clk ; input clr ; output 7:0 q ; reg 7:0 q ; output kin ; reg kin ; always(posedge clk or p

13、osedge clr) begin if(clr) q =0; else if(load) q=din; else begin kin=q0; q 1; q7=sin; end end endmodule (2)创建元件图形符号)创建元件图形符号 元件符号如下: (3)功能仿真)功能仿真 对创建的乘数移位寄存器(cheng)进行功能仿真,验证其功能的正确性, 可用 xilinx foundation f3.1 编译器的 simulator 模块实现。 功能仿真图如下: 表表 2.3.2 乘数移位寄存器功能表描述乘数移位寄存器功能表描述 dinsinloadclkclrkinq7 0901上升沿

14、1100 0911上升沿0109 0900上升沿0104 0910上升沿0184 从以上表中数据可以看出,当 clr 为 1 时,该器件清零,输出 q7:0为零, clr 为零时,有移位功能,sin 为移位后高位的补充值。kin 标记移出的那一位, 用来判断下次加法加零还是被乘数,clk 上升沿有效,保证该器件工作,该器件 成功创建。 2.3.3 选择模块的设计与实现选择模块的设计与实现 选择器 xuan2 的输入分别用 0,b7:0表示,选择后结果输出用 qout7:0表示,选择信号用 so 表示,其设计过程如下。 (1)创建)创建 verilog 源文件源文件 module xuan2 (

15、b, so, qout) ; input 7:0 b ; input so ; output 7:0 qout ; reg 7:0 qout ; always(so ) begin if(so) qout=b; else qout=0; end endmodule (2)创建元件图形符号)创建元件图形符号 元件图形符号: (3)功能仿真)功能仿真 对创建的选择器元件(xuan2)进行功能仿真,验证其功能的正确性,可用 xilinx foundation f3.1 编译器的 simulator 模块实现。 功能仿真图如下: 表表 2.3.3 选择器功能表描述选择器功能表描述 b7:0soqout

16、7:0 0e10e 0e000 从以上表中数据可以看出,当选择信号为 1 时,该器件输出 qout7:0为 输入值 b7:0,当选择信号为 0 时,该器件输出 00,由功能表知,该器件成功 创建。 2.3.4 控制模块的设计与实现控制模块的设计与实现 设计为 6 位原码一位乘,计数器为模 9 计数器,上升沿计数,有清零功能, 其设计过程如下。 (1)创建)创建 verilog 源文件源文件 module jishu (clk, clr, qout, co) ; input clk ; input clr ; output 3:0 qout ; reg 3:0 qout ; output co

17、; reg co ; always (posedge clk or posedge clr) begin if(clr) begin qout=0; co=1; end else if(qout=9) begin qout=0; co=1; end else begin qout=qout+1; co=0; end end endmodule (2)创建元件图形符号)创建元件图形符号 元件图形符号如下: (3)功能仿真)功能仿真 对创建的计数器元件(jishu)进行功能仿真,验证其功能的正确性,可用 xilinx foundation f3.1 编译器的 simulator 模块实现。 功能仿

18、真图如下: 表表 2.3.4 计数器功能表描述计数器功能表描述 clk clr coqout(次数) 上升沿有效1008 上升沿有效019 从以上表中数据可以看出,当脉冲信号为上升沿时,该器件输出 qout7:0记 录次数从 0 到 9,当记满 9 次时,该器件 co 输出 1,其余 co 输出都为 0,由功 能表知,该器件是一个模 9 的计数器,成功创建。 2.3.5 其他模块的设计与实现其他模块的设计与实现 采用原有的 xcv200 可编程逻辑芯片加法器件 add8 实现电路中的加法,采 用 fd8ce 8 位寄存器存放部分积。 add8:为 8 位的加法器,其中 a7:0,b7:0为两个

19、输入端口,co 为向 后一位的进位标志,ci 为前一位向加法器的进位,ofl 为溢出,s7:0为结果 输出。 fd8ce:为 8 位寄存器,其中 d7:0为数据输入端口,ce 为该器件的使能 端,控制该器件工作,c 为脉冲控制端,clr 为清零端,clr 为 1 时该器件清零, q7:0为数据输出端口,当脉冲有效,clr 无效,输出等于输入。 2.4 仿真调试仿真调试 仿真调试主要验证设计电路逻辑功能、时序的正确性,本次设计为原码一位 乘法,设计完成主要采用功能仿真方法对设计的电路进行仿真从而验证其电路功 能的正确性。 (1)建立仿真波形文件及仿真信号选择)建立仿真波形文件及仿真信号选择 功能

20、仿真时,首先建立仿真波形文件,选择仿真信号 clk,clr,load, 数据输入 x7:0,y7:0,符号位输入 xa,ya,结果输出 out16:0,对 以上选定的输入信号设置参数,验证输出信号的正确性,选定仿真信号和设置的 参数如表 2.2 所示。 表表 2.4 仿真信号选择和参数设置仿真信号选择和参数设置 输入信号输入信号 输出输出 信号信号 clkclrloadx7:0y7:0xaya out 16:0 上升沿1100 上升沿0100 上升沿 0000 上升沿0000 上升沿0010 上升沿0001 上升沿0001 上升沿0000 0 0 (2)功能仿真结果与分析)功能仿真结果与分析

21、功能仿真波形结果如图 2.2 所示,仿真数据结果如表 2.3 所示。对表 2.3 与表 1.1 的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正 确 图图 2.4 功能仿真波形结果功能仿真波形结果 表表 2.4 仿真数据结果仿真数据结果 输入信号输入信号 输出输出 信号信号 clkclrloadx7:0y7:0xaya out 16:0 上升沿1100 上升沿0100 上升沿 0000 上升沿0000 上升沿0010 上升沿0001 上升沿0001 上升沿0000 0 0 0 0 0 3 0 第 3 章 编程下载与硬件测试 3.1 编程下载编程下载 功能仿真通过以后,经过编译

22、,若成功,则编程下载功能,将得到的*.bit 文 件,然后下载到 xcv200 实验板的 xcv200 可编程逻辑芯片中。由于此次设计编 译有点问题,不能通过,最终没能成功下载,试验没能完美的完成,有点遗憾, 分析其原因,可能是由于 verilog 语言设计不太成熟,编译虽然没有什么问题, 可下载时要求比较严格,没能通过。 3.2硬件测试及结果分析硬件测试及结果分析 xcv200 实验板信号对应关系实验板信号对应关系 xcv200芯片引脚信号芯片引脚信号xcv200实验板实验板 x7:0k0 y7:0k1 xak2(0) yak2(1) loadk2(2) clrrk2(3) clkk2(4) out7:0d0 利用表中的参数作为输入数据,逐个测试输出结果,即用 xcv200 实验 板的开关输入数据,观察输出 out16:0。 参考文献 1 曹昕燕. eda 技术实验与课程设计m.北京:清华大学出版社,2006 2 范延滨

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论