【创新实验】基于VHDL二进制与十进制之间相互转换

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《创新实验》——可编程逻辑设计基础实验题目:二进制与十进制之间的相互转换指导教师:周克峰小组成员:摘要十进制-二进制转换的编码器是将十进制数0、1、2、3、4、5、6、7、8、9等十个信号编成二进制代码的电路。它的输入是代表0~9这个10个数符的状态信号,有效信号为1,输出是响应的BCD码,其特点是任何时刻只允许输入一个有效信号。二进制-十进制转换的编码器是十-二进制转换的逆过程,它的功能是将输入的一位BCD码译成10个高、低电平输出信号。当输入一个BCD码时,就会在它所表示的十进制数的对应输出端产生一个低电平有效信号。在本次的实验中,主要使用开发软件ISE和芯片XilinxSpartan-II来实现二进制与十进制之间的相互转换。目录一、概述........................................................................................51、PLD/FPGA结构与原理........................................................51)PLD/FPGA原理2)查找表(Look-Up-Table)的原理与结构2、开发软件与芯片..................................................................51)开发软件2)芯片介绍二、算法设计原理..........................................................................61、十进制-二进制的转换2、二(BCD)-十进制的转换三、工程开发流程..........................................................................7(一)工程开发流程....................................................................71、设计输入2、综合3、实现4、验证5、下载(二)实际运用过程....................................................................91、设计输入.............................................................................91)建立源文件2)输入原理图3)行为仿真2、设计实现............................................................................151)时序仿真2)产生报告并修改设计3、配置或编程........................................................................171)编程器件2)验证电路3)下载四、实验总结.................................................................................20五、参考文献................................................................................21一、概述1、PLD/FPGA结构与原理1)PLD/FPGA原理:PLD是可编程逻辑器件(ProgramableLogicDevice)的简称,FPGA是现场可编程门阵列(FieldProgramableGateArray)的简称,两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或PLD/FPGA。FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。FPGA可做其它全定制或半定制ASIC电路的中试样片。FPGA内部有丰富的触发器和I/O引脚。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。2)查找表(Look-Up-Table)的原理与结构查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。2、开发软件与芯片1)开发软件许多PLD公司都提供免费试用版或演示版,如:Altera公司提供的QuartusII(web版),Xilinx公司提供的免费软件ISEWebPack,Lattice提供的ispleverBase版下载,Actel等公司也都有类似的免费软件提供。本次实验中,使用的软件为Xilinx公司提供的ISE软件。2)芯片介绍FPGA的主要生产产商有Altera、Xilinx、Actel、Lattice等,其中Altera和Xilinx主要生产一般用途FPGA,其主要产品采用RAM工艺。Actel主要提供非易失性FPGA,产品主要基于反熔丝工艺和FLASH工艺。Xilinx的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Spartan系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Virtex系列,用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。本次实验中,使用的芯片为Xilinx公司生产的Spartan-II芯片,它的内部结构主要包括CLBs,I/O块,RAM块和可编程连线(未表示出)。在spartan-II中,一个CLB包括2个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。xilinxSpartan-II的内部结构,如下图所示:图1XilinxSpartan-II的内部结构二、算法设计原理1.十-二进制的转换将十进制数0、1、2、3、4、5、6、7、8、9等10个信号编成二进制代码,它的输入是代表0~9这10个数符的状态信号,有效信号为1(即某信号为1时,则表示要对它进行编码),输出是相应的BCD码,因此也10线-4线编码器,任何时刻只允许输入一个有效信号,0Y的编码是隐含的。表达式为:D=98YY98YYC=45674567YYYYYYYYB=76327632YYYYYYYYA=97531YYYYY97531YYYYY表1十-二进制转换真值表十进制数DCBA0(0Y)00001(1Y)00012(2Y)00103(3Y)00114(4Y)01005(5Y)01016(6Y)01107(7Y)01118(8Y)10009(9Y)10012.二(BCD)-十进制的转换将输入的一位BCD码(四位二元符号)译成10个高、低电平输出信号。当输入一个BCD码时,就会在它所表示的十进制数的对应输出端产生一个低电平有效信号。)()(321032100AAAAAAAAY)()(321032101AAAAAAAAY)()(321032102AAAAAAAAY)()(321032103AAAAAAAAY)()(321032104AAAAAAAAY)()(321032105AAAAAAAAY)()(321032106AAAAAAAAY)()(321032107AAAAAAAAY)()(321032108AAAAAAAAY)()(321032109AAAAAAAAY表2二-十进制转换真值表序号输入输出3A2A1A0A0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y000001000000000100010100000000200100010000000300110001000000401000000100000501010000010001601100000001000701110000000100810000000000010910010000000001三、工程开发流程(一)工程开发流程利用Xilinx公司的ISE开发设计软件的工程设计流程如图2所示,具体分为五个步骤:即输入(DesignEntry)、综合(Synthesis)、实现(Implementation)、验证(Verification)、下载(Download)。图2设计流程图图形或文本输入包括原理图、状态机、波形图、硬件描述语言(HDL),是工程设计的第一步,ISE集成的设计工具主要包括HDL编辑器(HDLEditor)、状态机编辑器(StateCAD)、原理图编辑器(ECS)、IP核生成器(CoreGenerator)和测试激励生成器(HDLBencher)等。1、设计输入常用的设计输入方法是硬件描述语言(HDL)和原理图设计输入方法。原理图输入是一种常用的基本的输入方法,其是利用元件库的图形符号和连接线在ISE软件的图形编辑器中作出设计原理图。ISE中设置了具有各种电路元件的元件库,包括各种门电路、触发器、锁存器、计数器、各种中规模电路、各种功能较强的宏功能块等用户只要点击这些器件就能调入图形编辑器中。这种方法的优点是直观、便于理解、元件库资源丰富。但是在大型设计中,这种方法的可维护性差,不利于模块建设与重用。更主要的缺点是:当所选用芯片升级换代后,所有的原理图都要作相应的改动。为了克服原理图输入方法的缺点,目前在大型工程设计中,在ISE软件中常用的设计方法是HDL设计输入法,其中影响最为广泛的HDL语言是VHDL和VerilogHDL。它们的共同优点是利于由顶向下设计,利于模块的划分与复用,可移植性好,通用性强,设计不因芯片的工艺和结构的变化而变化,更利于向ASIC的移植,故在ISE软件中推荐使用HDL设计输入法。波形输入及状态机输入方法是两种最常用的辅助设计输入方法,使用波形输入法时,只要绘制出激励波形的输出波形,ISE软件就能自动地根据响应关系进行设计;而使用状态机输入时,只需设计者画出状态转移图,ISE软件就能生成相应的HDL代码或者原理图,使用十分方便。其中ISE工具包中的StateCAD就能完成状态机输入的功能。但是需要指出的是,后两种设计方法只能在某些特殊情况下缓解设计者的工作量,并不适合所有的设计。2、综合(Synthesis)综合是将行为和功能层次表达的电子系统转化为低层

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功