基于FPGA的乘法器设计_第1页
基于FPGA的乘法器设计_第2页
基于FPGA的乘法器设计_第3页
基于FPGA的乘法器设计_第4页
基于FPGA的乘法器设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

草鱼草鱼草鱼信息科学与技术学院草鱼电子EDA技术草鱼课程设计草鱼草鱼草鱼草鱼课草鱼程草鱼题草鱼目PORK草鱼草鱼基于FPGA的乘法器设计草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼目草鱼草鱼录草鱼中文摘要2草鱼外文摘要2草鱼1绪论3草鱼11概述3草鱼1草鱼2草鱼VHDL简介草鱼3草鱼113草鱼实验平台5草鱼2乘法器初步设计6草鱼21设计思想6草鱼22乘法器原理6草鱼23草鱼乘法器设计流程草鱼7草鱼3草鱼乘法器具体设计9草鱼31右移寄存器的设计9草鱼32草鱼加法器模块的设计草鱼草鱼9草鱼33草鱼乘1模块设计草鱼10草鱼34锁存器模块设计11草鱼4草鱼乘法器仿真13草鱼41草鱼8位加法器仿真13草鱼42草鱼乘1模块仿真13草鱼43草鱼锁存器模块仿真14草鱼44草鱼草鱼8位乘法器仿真14草鱼45草鱼草鱼总仿真图草鱼草鱼15草鱼参考文献16草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼摘要草鱼在微处理器芯片中,鲤鱼乘法器是进行数字信号处理的核心,鲤鱼同时也是微处理器中进行数据处理的关键部件,鲤鱼它已经是现代计算机必不可少的一部分。草鱼本文主要是在于如何运用标准硬件描述语言(VHDL)完成十六位乘法器,鲤鱼以及如何做二2进制位相乘的运算过程。草鱼该乘法器是由十六位加法器构成的以时序方式设计十六位乘法器,鲤鱼通过逐项移位相加来实现乘法功能,鲤鱼并以QUARTUS_II91软件工具进行模拟,鲤鱼仿真并予以显示。草鱼草鱼草鱼关键字PORK乘法器;PORK标准硬件描述语言(VHDL);PORK移位相加;PORKQUARTUS_II91草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼ABSTRACT草鱼草鱼IN草鱼THE草鱼MICROPROCESSOR草鱼CHIP,草鱼THE草鱼MULTIPLIER草鱼IS草鱼A草鱼DIGITAL草鱼SIGNAL草鱼PROCESSING草鱼CORE草鱼MICROPROCESSOR草鱼IS草鱼ALSO草鱼A草鱼KEY草鱼COMPONENT草鱼OF草鱼DATA草鱼PROCESSING,草鱼IT草鱼IS草鱼ALREADY草鱼AN草鱼ESSENTIAL草鱼PART草鱼OF草鱼THE草鱼MODERN草鱼COMPUTER草鱼THIS草鱼ARTICLE草鱼IS草鱼ON草鱼HOW草鱼TO草鱼USE草鱼STANDARD草鱼HARDWARE草鱼DESCRIPTION草鱼LANGUAGE草鱼VHDL草鱼TO草鱼COMPLETE草鱼EIGHT草鱼MULTIPLIERS,草鱼AS草鱼WELL草鱼AS草鱼HOW草鱼TO草鱼MAKE草鱼THE草鱼PROCESS草鱼OF草鱼A草鱼BINARY草鱼BIT草鱼MULTIPLICATION草鱼OPERATION草鱼THE草鱼MULTIPLIER草鱼IS草鱼COMPOSED草鱼OF草鱼EIGHT草鱼ADDER草鱼TO草鱼TIMING草鱼APPROACH草鱼IN草鱼DESIGNING草鱼EIGHT草鱼MULTIPLIER,草鱼ACHIEVED草鱼BY草鱼ADDING草鱼THE草鱼MULTIPLICATIONBYSHIFT草鱼FUNCTION,草鱼AND草鱼IN草鱼QUARTUS_II91草鱼SOFTWARE草鱼TOOLS草鱼FOR草鱼SIMULATION,草鱼EMULATION草鱼AND草鱼BE草鱼DISPLAYED草鱼草鱼KEYWORDS草鱼MULTIPLIERPORK草鱼STANDARD草鱼HARDWARE草鱼DESCRIPTION草鱼LANGUAGE草鱼VHDLPORK草鱼SHIFT草鱼SUMPORK草鱼QUARTUS_II91草鱼草鱼1绪论草鱼11概述草鱼本课题的设计来源是基于标准硬件描述语言(VERY草鱼HIGH草鱼SPEED草鱼INTEGRATED草鱼CIRCUIT草鱼HARDWARE草鱼DESCRIPTION草鱼LANGUAGE,VHDL)及QUARTUS_II91软件开发3工具的进行模拟仿真的16位乘法器,鲤鱼用于实现32位移位相加乘法器的乘法运算功能。草鱼草鱼本课题的研究现状PORK乘法器是定点处理器的主要组成部分,鲤鱼其速度是影响CPU速度的关键因素。草鱼乘法器也是数字信号处理(DSP、PORK系统级芯片(SOC的关键部件。草鱼在最新的处理器中乘法器除了直接作为运算部件外,鲤鱼还用于加速地址转换、PORK数组寻址和其他整数操作。草鱼随着科研生产地运算速度要求的提高,鲤鱼对乘法器性能的要求也在不断地提升。草鱼BOOTH算法、PORKWALLACE树、PORKCLA等技术的出现也使得乘法器设计的技术日益成熟。草鱼而不同的应用背景又要求在不同的算法和实现之间进行选择,鲤鱼权衡电路鬼名模和性能,鲤鱼达到特定条件下的最优设计。草鱼草鱼本次设计的目的就是在掌握移位相加十六位乘法器的工作原理,鲤鱼了解并学习掌握VHDL硬件描述语言的设计方法和思想,鲤鱼通过自己学习的VHDL语言结合以前电子电路的设计知识理论联系实际,鲤鱼掌握所学的课程知识,鲤鱼学习VHDL基本单元电路的综合设计应用。草鱼通过对十六位二进制乘法器的设计,鲤鱼巩固和综合运用所学课程,鲤鱼加深对数字电路和VHDL基本单元的理解,鲤鱼并借助QUARTUS_II91软件开发工具这个平台进行仿真,鲤鱼理论联系实际,鲤鱼提高设计能力,鲤鱼提高分析、PORK解决计算机技术实际问题的独立工作能力。草鱼通过课程设计深入理解VHDL语言的精髓,鲤鱼达到课程设计的目标,鲤鱼加法器的设计可以加深对门电路的理解,鲤鱼乘法器的设计可以使对计算机怎样工作有了更深了解。草鱼草鱼本设计的主要难点包括PORK草鱼1)通过分析算术逻辑单元(ALU)的硬件结构工作过程的分析,鲤鱼深入理解ALU的工作原理和设计方法,鲤鱼进而确定ALU的总体结构,鲤鱼以及各层次模块的功能和结构,鲤鱼并了解。草鱼草鱼2)根据设计的功能要求,鲤鱼使用标准硬件描述语言(VHDL)设计出移位相加16位乘法器草鱼3)利用QUARTUS_II91软件工具完成16位乘法器的仿真。草鱼草鱼12草鱼VHDL简介草鱼草鱼VHDL(VERY草鱼HIGH草鱼SPEED草鱼INTEGRATED草鱼CIRCUIT草鱼HARDWARE草鱼DESCRIPTION草鱼LANGUAGE是超高速集成电路硬件描述语言的中文缩写,鲤鱼它是电子系统硬件行为描述、PORK结构描述、PORK数据流描述的高级语言。草鱼它是在20世纪80年代的后期出现。4草鱼最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言草鱼,鲤鱼并于1987年成为IEEE的一种标准语言,1993年VHDL重新修订,鲤鱼变得更加完备,鲤鱼形成新的标准。草鱼草鱼该语言设计技术齐全、PORK方法灵活、PORK功能强大、PORK与制作工艺无关、PORK编程易于共享,鲤鱼所以成为硬件描述语言的主流,鲤鱼成为标准硬件描述语言。草鱼VHDL作为EDA的重要组成部分,鲤鱼提供了借助计算机进行数字系统设计的一种很好的手段。草鱼用VHDL进行有很多优点,鲤鱼VHDL的硬件描述很强,鲤鱼可以用于从门级、PORK电路级直至系统级的描述、PORK仿真、PORK综合和调试。草鱼利用VHDL丰富的仿真语句和库函数,鲤鱼对大系统的早期设计,鲤鱼可在远离门级的高层次上进行模拟,鲤鱼以利于设计者确定整个设计结构和功能的可行性。草鱼VHDL强大的描述能力和程序结构,鲤鱼使其具有支持多大规模设计进行分解,鲤鱼以及对已有的设计进行再利用的功能。草鱼VHDL标准、PORK规范、PORK语法较为严格,鲤鱼便于重复利用和交流,鲤鱼它所具有的类属描述语句和子程序调用等功能,鲤鱼使设计者对完成的设计不必改变程序,鲤鱼只需改变类属于参数或函数,鲤鱼就可改变设计的规模和结构。草鱼从ASIC的设计到PCB系统的设计,鲤鱼VHDL语言都能派上用场,鲤鱼都能够轻易地达成设计供者的要求。草鱼目前,鲤鱼VHDL语言已经成为FPGD/CPLD编程最常用的工具。草鱼草鱼草鱼13实验平台草鱼仿真软件PORKQUARTUS_II91草鱼草鱼草鱼草鱼2乘法器初步设计草鱼21设计思想草鱼草鱼草鱼草鱼草鱼草鱼本设计首先要了解乘法器的基本原理草鱼,鲤鱼我所设计的16位乘法器采用移位和加法来实现,鲤鱼主要用到原码一位乘运算规则。草鱼然后对乘法器的进行顶层设计,鲤鱼把乘法器的设计分成几个功能模块,鲤鱼并逐步细化,鲤鱼因此需要了解各个模块的引脚含义以及它们的内部构造,鲤鱼并对各个模块的实现功能进行分析,鲤鱼通过标准硬件描述语言对它们模块进行编程,鲤鱼调试。草鱼最后在QUARTUS_II90应用软件进行5模拟仿真,鲤鱼得出正确的运行结果。草鱼草鱼22乘法器原理草鱼16位乘法器可用移位和加法来实现,鲤鱼两个16位数相乘,鲤鱼总共需要执行16次加法运算和16次移位运算,鲤鱼由乘数的末位值确定被乘数是否与原部分积相加,鲤鱼从乘数的最低位开始,鲤鱼若乘数为1,鲤鱼加被乘数,鲤鱼然后右移一位,鲤鱼形成新的部分积,鲤鱼乘数同时右移一位;PORK若乘数为0,鲤鱼加上零值,鲤鱼然后右移一位,鲤鱼形成新的部分积,鲤鱼乘数同时右移一位,鲤鱼直到乘数的最高位为止,鲤鱼从而得出最终的乘积结果。草鱼草鱼实现原码一位乘法的硬件逻辑结构图如下图所示。草鱼用寄存器R0存放部分积;PORKR1存放乘数Y,并且最低位YN作判断为PORKR0和R1都具有右移功能并且是连通的;PORK寄存器R2存放被乘数X,加法器完成部分积与位积求和,鲤鱼计数器记录相加移位的操作次数。草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼16位乘法器的顶层设计主要分成四大功能模块草鱼,鲤鱼并可根据分解的层次进行设计,鲤鱼草鱼各个功能模块作用介绍如下PORK草鱼草鱼右移寄存器模块PORK是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移,鲤鱼本设计采用的一个16位寄存器,鲤鱼能存放16位二进制代码,鲤鱼需用16个触发器来构成,鲤鱼它可将乘法运算中的被乘数加载于其中,鲤鱼同时进行乘法运算的移位操作。草鱼草鱼加法器PORK本设计用到一个16位加法器,鲤鱼主要进行操作数的加法运算。草鱼草鱼乘1模块PORK主要实现16位与1位的乘法运算。草鱼草鱼锁存器它所实现的功能是把当前的状态锁存起来,鲤鱼使CPU送出的数据在接口电路的输出端保持一段时间锁存后状态不再发生变化,鲤鱼直到解除锁定。草鱼本次设计采用32位锁存器,鲤鱼同时也是一个右移寄存器,鲤鱼在时钟信号作用下,鲤鱼进行输入值加法器控制门R2X0被乘数XR0部分积R1乘数YYN计数器控制电路移位控制6的移位与锁存。草鱼草鱼23乘法器设计流程草鱼草鱼草鱼草鱼草鱼草鱼本设计采用移位和加法来实现两个16位二进制数相乘。草鱼由乘数的末尾值来确定被乘数是否与原部分积相加,鲤鱼然后右移一位,鲤鱼形成新的部分积;PORK同时,鲤鱼乘数也右移一位,鲤鱼由次低位作新的末位,鲤鱼空出最高位放部分积的最高位。草鱼例如被乘数为00000101,鲤鱼乘数为01101111,鲤鱼初始条件下,鲤鱼部分积为0,鲤鱼乘数最低位为1,鲤鱼加被乘数,鲤鱼和为00000101,鲤鱼使其右移一位,鲤鱼形成新的部分积为00000010,鲤鱼乘数同时右移一位,鲤鱼原和最低位1被放到乘数的最高位,鲤鱼此时,鲤鱼乘数最低位为1,鲤鱼加00000101,鲤鱼和为00000111,鲤鱼使其右移一位,鲤鱼形成新的部分积为0000011,鲤鱼依次类推,鲤鱼循环16次,鲤鱼总共需要进行16次相加和16次移位操作,鲤鱼最终得出乘积结果。草鱼其设计流程图所如下所示PORK草鱼草鱼草鱼草鱼草鱼草鱼7开始检查乘数数将乘积寄存器右移1位将乘数寄存器右移1位是否已循环执行了16次完成将被乘数寄存器与乘积寄存器的左半部分相加,并将结果写回乘积寄存器的左半部分乘数00乘数01少于16次是已循环16次83乘法器设计模块草鱼31右移寄存器的设计草鱼16位右移寄存器是当时钟信号CLK处于上升沿时,鲤鱼当LOAD1时,鲤鱼将16位被乘送达分数加载进去;PORK而当LOAD0时,鲤鱼数据进行移位操作;PORK同时定义一个信号REG8用来装载新数据及移位后的操作数,鲤鱼在完成这些操作后,鲤鱼寄存器的最低位REG8(0)传送给QB输出。草鱼该模块的VHDL程序设计如下所示。草鱼草鱼草鱼草鱼草鱼LIBRARY草鱼IEEEPORK草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼16位右移寄存器草鱼USE草鱼IEEESTD_LOGIC_1164ALLPORK草鱼ENTITY草鱼SREG16B草鱼IS草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼PORT草鱼草鱼草鱼CLK草鱼,LOAD草鱼草鱼IN草鱼STD_LOGICPORK草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼DIN草鱼草鱼IN草鱼STD_LOGIC_VECTOR15草鱼DOWNTO草鱼0PORK草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼QB草鱼草鱼OUT草鱼STD_LOGIC草鱼草鱼PORK草鱼END草鱼SREG16BPORK草鱼ARCHITECTURE草鱼BEHAV草鱼OF草鱼SREG16B草鱼IS草鱼草鱼草鱼草鱼草鱼SIGNAL草鱼REG16草鱼草鱼STD_LOGIC_VECTOR15草鱼DOWNTO草鱼0PORK草鱼BEGIN草鱼草鱼草鱼草鱼草鱼PROCESS草鱼CLK,草鱼LOAD草鱼草鱼草鱼草鱼草鱼BEGIN草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼IF草鱼草鱼LOAD草鱼草鱼1草鱼THEN草鱼草鱼REG16草鱼0草鱼PORK草鱼草鱼草鱼清零信号草鱼ELSIF草鱼CLKEVENT草鱼AND草鱼CLK草鱼草鱼1草鱼THEN草鱼时钟到来时,鲤鱼锁存输入值,鲤鱼并右移低8草鱼R32S14草鱼DOWNTO草鱼0草鱼草鱼草鱼R32S15草鱼DOWNTO草鱼1PORK草鱼草鱼草鱼草鱼右移低8位草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼R32S31草鱼DOWNTO草鱼15草鱼草鱼DPORK草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼将输入锁到高8位草鱼草鱼草鱼草鱼草鱼草鱼END草鱼IFPORK草鱼草鱼草鱼草鱼草鱼END草鱼PROCESSPORK草鱼草鱼草鱼草鱼草鱼Q草鱼草鱼R32SPORK草鱼草鱼草鱼草鱼草鱼END草鱼BEHAVPORK草鱼草鱼4乘法器仿真草鱼12草鱼草鱼41草鱼草鱼16位加法器仿真草鱼草鱼草鱼草鱼CIN作为输入信号,鲤鱼赋值时钟周期初值为0,鲤鱼以50NS为一个时钟周期,鲤鱼当CIN0时,鲤鱼说明A,B两个加数所得出的和S不需要加1,鲤鱼反之就要加上进位CINCOUT作为输出信号,鲤鱼它表示的当两个加数最高位有进位时,鲤鱼输出为1例如将两个加数A,B赋值十六进制数分别为16、PORK18运行后草鱼,鲤鱼和S在CIN0的时钟下输出值为2E,鲤鱼在CIN1的时钟下输出和为2F由于没有最高进位草鱼,鲤鱼COUT0PORK草鱼42草鱼草鱼乘1模块仿真草鱼草鱼乘1模块包括3个引脚分别为ABIN、PORKDIN、PORKDOUT草鱼草鱼它主要是实现8位二进制数DIN分别和1位二进制数ABIN做与运算,鲤鱼当输入信号ABIN0时,鲤鱼DOUT0当ABIN1时,鲤鱼DOUT等于DIN例如草鱼在运行波形图之前,鲤鱼将DIN赋初值为56,鲤鱼运行后,鲤鱼当ABIN为0时,鲤鱼其DOUT输出值为00,鲤鱼当ABIN为1时,鲤鱼其DOUT输出值为56。草鱼草鱼43草鱼草鱼锁存器模块仿真草鱼草鱼草鱼锁存器模块包括4个引脚,鲤鱼分别为PORKCLR、PORKCLK、PORKD、PORKQ。草鱼草鱼草鱼草鱼CLR为清零信号,鲤鱼当CLR1时,鲤鱼Q输出值为0当CLR0时,鲤鱼仅当CLK有效在上升沿作用下且CLK1时,鲤鱼D输入数据右移低8位,鲤鱼并赋给输出信号Q。草鱼例如在下图中,鲤鱼给D赋初值十进制1,鲤鱼在CLR0的信号下,鲤鱼当CLR上升沿到来时,鲤鱼Q的值从0草鱼,128,192逐步右移。草鱼草鱼草鱼44草鱼16位乘法器仿真草鱼草鱼草鱼草鱼草鱼16草鱼位乘法器包括START,CLKK,A,B,DOUT五个引脚,鲤鱼当START0时,鲤鱼被乘数A向移位寄存器SREG8B加载数据,鲤鱼当START1时,鲤鱼16位寄存器清0CLK为乘法时钟信号

温馨提示

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

评论

0/150

提交评论