eda10进制计数器实验报告Word文档格式.docx
《eda10进制计数器实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《eda10进制计数器实验报告Word文档格式.docx(9页珍藏版)》请在冰点文库上搜索。
①cpLD更适合完成各种算法和组合逻辑,FpgA更适合于完成时序逻辑。
换句话说,FpgA更适合于触发器丰富的结构,而cpLD更适合于触发器有限而乘积项丰富的结构。
②cpLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FpgA的分段式布线结构决定了其延迟的不可预测性。
③在编程上FpgA比cpLD具有更大的灵活性。
cpLD通过修改具有固定内连电路的逻辑功能来编程,FpgA主要通过改变内部连线的布线来编程;
FpgA可在逻辑门下编程,而cpLD是在逻辑块下编程。
④FpgA的集成度比cpLD高,具有更复杂的布线结构和逻辑实现。
⑤cpLD比FpgA使用起来更方便。
cpLD的编程采用e2pRom或FAsTFLAsh技术,无需外部存储器芯片,使用简单。
而FpgA的编程信息需存放在外部存储器上,使用方法复杂。
⑥cpLD的速度比FpgA快,并且具有较大的时间可预测性。
这是由于FpgA是门级编程,并且cLb之间采用分布式互联,而cpLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
⑦在编程方式上,cpLD主要是基于e2pRom或FLAsh存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。
cpLD又可分为在编程器上编程和在系统编程两类。
FpgA大部分是基于sRAm编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入sRAm中。
其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
⑧cpLD保密性好,FpgA保密性差。
⑨一般情况下,cpLD的功耗要比FpgA大,且集成度越高越明显。
随著复杂可编程逻辑器件(cpLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市场。
许多设计人员已经感受到
cpLD容易使用、时序可预测和速度高等优点,然而,在过去由于受到cpLD密度的限制,他们只好转向FpgA和AsIc。
现在,设计人员可以体会到密度高达数十万门的cpLD所带来的好处。
cpLD结构在一个逻辑路径上采用1至16个乘积项,因而大型复杂设计的运行速度可以预测。
因此,原有设计的运行可以预测,也很可靠,而且修改设计也很容易。
cpLD在本质上很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不变。
与FpgA相比,cpLD的I/o更多,尺寸更小。
如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。
cpLD可让设备做出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。
这为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以著手进行硬件设计,然后再修改代码以满足最终标准的要求。
cpLD的速度和延迟特性比纯软件方案更好,它的nRe费用低於AsIc,更灵活,产品也可以更快入市。
cpLD可编程方案的优点如下:
●逻辑和存储器资源丰富(cypressDelta39K200的RAm超过480Kb)
●带冗余路由资源的灵活时序模型
●改变引脚输出很灵活
●可以装在系统上后重新编程
●I/o数目多
●具有可保证性能的集成存储器控制逻辑
●提供单片cpLD和可编程phY方案
由于有这些优点,设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出,可以很快上市
cpLD的结构
cpLD是属於粗粒结构的可编程逻辑器件。
它具有丰富的逻辑资源(即逻辑门与寄存器的比例高)和高度灵活的路由资源。
cpLD的路由是连接在一起的,而
FpgA的路由是分割开的。
FpgA可能更灵活,但包括很多跳线,因此速度较cpLD慢。
cpLD以群阵列(arrayofclusters)的形式排列,由水平和垂直路由通道连接起来。
这些路由通道把信号送到器件的引脚上或者传进来,并且把cpLD内部的逻辑群连接起来。
cpLD之所以称作粗粒,是因为,与路由数量相比,逻辑群要大得到。
cpLD的逻辑群比FpgA的基本单元大得多,因此FpgA是细粒的。
cpLD的功能块
cpLD最基本的单元是宏单元。
一个宏单元包含一个寄存器(使用多达16个乘积项作为其输入)及其它有用特性。
因为每个宏单元用了16个乘积项,因此设计人员可部署大量的组合逻辑而不用增加额外的路径。
这就是为何cpLD被认为是“逻辑丰富”型的。
宏单元以逻辑模块的形式排列(Lb),每个逻辑模块由16个宏单元组成。
宏单元执行一个AnD操作,然后一个oR操作以实现组合逻辑。
每个逻辑群有8个逻辑模块,所有逻辑群都连接到同一个可编程互联矩阵。
每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块。
前者每模块有8,192b存储器,后者包含4,096b专用通信存储器且可配置为单端口、多端口或带专用控制逻辑的FIFo。
cpLD有什麽好处?
I/o数量多
cpLD的好处之一是在给定的器件密度上可提供更多的I/o数,有时甚至高达70%。
时序模型简单cpLD优于其它可编程结构之处在于它具有简单且可预测的时序模型。
这种简单的时序模型主要应归功于cpLD的粗粒度特性。
cpLD可在给定的时间内提供较宽的相等状态,而与路由无关。
这一能力是设计成功的关键,不但可加速初始设计工作,而且可加快设计调试过程。
粗粒cpLD结构的优点cpLD是粗粒结构,这意味著进出器件的路径经过较少的开关,相应地延迟也小。
因此,与等效的FpgA相比,cpLD可工作在更高的频率,具有更好的性能。
cpLD的另一个好处是其软件编译快,因为其易于路由的结构使得布放设计任务更加容易执行。
细粒FpgA结构的优点FpgA是细粒结构,这意味著每个单元间存在细粒延迟。
如果将少量的逻辑紧密排列在一起,FpgA的速度相当快。
然而,随著设计密度的增加,信号不得不通过许多开关,路由延迟也快速增加,从而削弱了整体性能。
cpLD的粗粒结构却能很好地适应这一设计布局的改变。
灵活的输出引脚cpLD的粗粒结构和时序特性可预测,因此设计人员在设计流程的后期仍可以改变输出引脚,而时序仍保持不变。
新的cpLD封装cpLD有多种密度和封装类型,包括单芯片自引导方案。
自引导方案在单个封装内集成了FLAsh存储器和cpLD,无须外部引导单元,从而可降低设计复杂性并节省板空间。
在给定的封装尺寸内,有更高的器件密度共享引脚输出。
这就为设计人员提供了“放大”设计的便利,而无须更改板上的引脚输出。
3|帐号:
密码:
注册XX账号,遨游知识海洋
录状态码
如何消除数字电路中的“毛刺”?
在用pLD设计中可以采用的消除毛刺的办法.
在同一块电路板上,由于信号线的走线过长而产生的高频毛刺我们可以通过在接近输入端串联一个100欧左右的电阻来滤除。
但是对于板外信号,或者板内其他干扰造成较大的抖动时只好采用积分电路来滤波,即串一个电阻还要并一个电容接地。
同样在VhDL中我们可以采用类似的办法,对于小于触发器建立时间的毛刺可以用时钟打一下实现滤波。
但对于开关或按键抖动等较大的干扰,我们可以采用延时比较法或积分法,或者二者并用。
比较法:
这个方法很好理解,就是若干个时钟周期读取的数据相同时我们认为收到了一个稳定的数据,否则认为是过渡态。
即采用若干位的移位寄存器,当寄存器是全1或全0时才开始读数。
这种方法的缺点是,当干扰脉冲较宽时我们必须等比地扩大移位寄存器的比特,消耗较大资源。
积分法:
用 当然也可以二者结合,前端用几个比特的移位寄存器实现比较,比较结果作为计数使能来控制接下来的增减计数器的计数。
这个是带使能端的3-8译码器,输出低电平有效!
你可以参考一下!
编程实现60进制的计数器,要求带复位清零,用cLR表示,高电平有效,输出带进位端,用co表示
是的。
是用vhdl语言编写。
libraryIeee;
useIeee.std_logic_1164.all;
entityls138is
篇二:
实验五基本模型机设计
信息学院
《计算机组成原理》实验报告
篇三:
实验八基本模型机的设计与实现
实验八基本模型机的设计与实现
一实验目的
(1)在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台基本模型计算机。
(2)为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念
二实验设备
TDn—cm++计算机组成原理教学实验系统一台,排线若干。
三实验内容1)实验原理
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,cpu从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
本实验采用五条机器指令:
In(输入),ADD(二进制加法),sTA(存数),ouT(输出),Jmp(无条件转移)。
其指令格式如下(前4位为操作码):
助记符机器指令码说明In00000000“InpuTDeVIce”中的开关状态→R0ADDaddr00010000×
×
R0+[addr]→R0sTAaddr00100000×
R0→[addr]ouTaddr00110000×
[addr]→LeDJmpaddr01000000×
addr→pc其中:
:
In为单字长(8位),其余为双字长指令,×
为addr对应的二进制地址码。
为了向RAm中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。
*存储器读操作(KRD):
拨动总清开关cLR后,控制台开关swb、swA为“00”时,按sTART微动开关,可对RAm连续手动读操作。
*存储器写操作(Kwe):
拨动总清开关cLR后,控制台开关swb、swA置为“01”时,按sTART微动开关可对RAm进行连续手动写入。
*启动程序:
拨动总清开关cLR后,控制台开关swb、swA置为“11”时,按sTART微动开关,即可转入到第01号“取址”微指令,启动程序运行。
上述三条控制台指令用两个开关swb,swA的状态来设置,其定义如表1所示。
表1控制台的开关设置
根据以上要求,可设计数据通路框图,如图1所示。
微指令定义如表1所示。
系统涉及到的微程序流程如图2所示。
当拟定“取指”微指令时,该微指令的判别测试字段为p
(1)测试。
由于“取指”微指令是所有微程序都使用的公用微指令,因此p
(1)的测试结果出现多路分支。
本机用指令寄存器的前4位(IR7一IR4)作为测试条件,出现5路分支,占用5个固定微地址单元。
控制台操作为p(4)测试,它以控制台开关swb,swA作为测试条件,出现了3路分支,
1
图1数据通路框图
2
控制台
占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控存一个微地址单元随意填写。
注意:
微程序流程图上的单元地址为8进制。
当全部微程序设计完毕后,应将每条微指令代码化,表2即为将图2的微程序流程图按微指令格式转化而成的“二进制微代码表”。
下面介绍指令寄存器(IR):
指令寄存器用来保存当前正在执行的一条指令。
当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。
指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[p
(1)],通过节拍脉冲T4的控制以便识别所要求的操作。
“指令译码器”(实验板上标有“InsDecoDe”的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
本系统有两种外部I/o设备,一种是二进制代码开关,它作为输入设备(InpuTDeVIce):
另一种是数码块,它作为输出设备(ouTpuTDeVIce)。
例如:
输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。
输出时,将输出数据送到数据总线上,当写信号(w/R)有效时,将数据打入输出锁存器,驱动数码块显示。
表2微程序代码表
3
本实验设计机器指令程序如下:
地址(二进制)内容(二进制)助记符说明
0000000000000000InR0“InpuTDeVIce”→R00000000100010000ADD[0Ah],R0R0+[0Ah]→R00000001000001010
0000001100100000sTAR0,[0bh]R0→[0bh]0000010000001011
0000010100110000ouT[0bh][0bh]→LeD0000011000001011
0000011101000000Jmp00h00h→pc
000010000000000000001001
0000101000000001
自定
00001011求和结果
四实验步骤
(1)按图20连接实验线路。
4
图20基本模型机实验接线图
(2)写程序方法一:
手动写入
①先将机器指令对应的微代码正确地写入2816中,由于在微程序控制实验中已将微代码写入e2pRom芯片中,对照表5校验正确后就可使用。
②使用控制台Kwe和KRD微程序进行机器指令程序的装入和检查。
A.使编程开关处于“Run"
,sTep为“sTep”状态,sTop为“Run”状态。
b.拨动总清开关cLR(0→1),微地址寄存器清零,程序计数器清零。
然后使控制台swb,swA开关置为“01”,按动一次启动开关sTART,微地址显示灯显示“010001”,再按动一次sTART,微地址灯显示“010100"
。
此时,数据开关的内容置为要写入的机器指令,按动两次sTART键后,即完成该条指令的写入。
若仔细阅读Ke的流程,就不难发现,机器指令的首地址总清后为零,以后每个循环pc会自动加1,所以,每次按动sTART,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。