资源描述:
《4乘4位阵列乘法器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计报告课程设计题目:4乘4位阵列乘法器设计学生姓名:杨博闻学号:201120070115专业:计算机科学与技术班级:1120701指导教师:汪宇玲2014年1月4日-7-一、设计目的1.掌握乘法器的原理及其设计方法。2.熟练应用CPLD设计及EDA操作软件。二、设计设备1.TDN-CM+或TDN-CM++教学实验系统一套。2·PC微机一台。3·ispDesignEXPERT软件模型机数据通路结构框图三、设计原理本实验用CPLD来设计一个4×4位乘法器,相对于画电路图输入,用ABEL语言描述是比较方便的。其算式如下(其中括号中的数字表示在ABE
2、L源程序描述中的功能块调用编号):-7-a3a2a1a0×b3b2b1b0----------------------------------------------------------------------------------------------------------a3b0(10)a2b0(6)a1b0(3)a0b0(1)a3b1(13)a2b1(9)a1b1(5)a0b1(2)a3b2(15)a2b2(12)a1b2(8)a0b2(4)+a3b3(16)a2b3(14)a1b3(11)a0b3(7)--------------
3、---------------------------------------------------------------------------------------------p7p6p5p4p3p2p1p0四、设计步骤1.安装EDA软件打开计算机电源,进入Windows系统,安装上述ispDesignEXPERT软件。安装完成后,桌面和开始菜单中则建有ispDesignEXPERT软件图标。2.用ispDesignEXPERT软件根据上述乘法的逻辑原理用ABEL语言编写功能描述程序。其在1032芯片中对应的管脚如图:3.编辑、编译和下载
4、使用ispDesignEXPERT软件编辑源程序并进行编译,然后打开实验系统电源,将生成的JEDEC文件下载到ispLSI1032中去。4.连接实验电路按下图连接实验电路。5.给定操作数,观察乘法器输出将SWITCHUNIT单元中的SW-B、AR开关置为低电平状态。在INPUT-7-DEVICE单元中的8个开关的高4位为乘数A,低四位为被乘数B,而相乘的结果将在OUTPUTDEVICE单元中的数码管中以十六进制形式显示。给A和B置不同的数,观察相乘的结果。五、设计结果:输入信号输出K0(7)K0(6)K0(5)K0(4)K0(3)K0(2)K0(1
5、)K0(0)K2(1)K2(0)CS1010101000114001101100112-7-六、ABEL源码MODULEmultiplyTITLE'4bitmultiplier'"Inputsa3,a2,a1,a0pin34,35,36,37;b3,b2,b1,b0pin38,39,40,41;"Outputsp7,p6,p5,p4,p3,p2,p1,p0pin45,46,47,48,49,50,51,52istype'com,invert';"Setdeclarationsaset=[a3,a2,a1,a0];bset=[b3,b2,b1,b0]
6、;product=[p7,p6,p5,p4,p3,p2,p1,p0];"Sub-moduledeclarations,withdefaultinputvalues"Inthiscase,allinputsdefaultto0ifnotused.adderinterface(a=0,b=0,sin=0,cin=0->sum,carry);-7-"Sub-moduleinstancesablk1functional_blockadder;ablk2functional_blockadder;ablk3functional_blockadder;ablk
7、4functional_blockadder;ablk5functional_blockadder;ablk6functional_blockadder;ablk7functional_blockadder;ablk8functional_blockadder;ablk9functional_blockadder;ablk10functional_blockadder;ablk11functional_blockadder;ablk12functional_blockadder;ablk13functional_blockadder;ablk14f
8、unctional_blockadder;ablk15functional_blockadder;ablk16functi