接口企业服务器

企业服务器  时间:2021-03-01  阅读:()
·1·第1章基本概念1.
1计算机接口技术的发展20世纪中期按照阿兰·图灵(AlanM.
Turing)和冯·诺依曼(Johnvon.
Neumann)等人的理论和模型诞生的电子计算机发展到今天,经过了电子管、晶体管、集成电路、互联网和云计算的时代.
计算机的系统结构在冯·诺依曼结构(vonNeumannarchitecture)的基础上不断改进,出现了哈佛结构(Harvardarchitecture)以及作为目前最成功的业界技术标准之一的x86结构为代表的众多先进微处理器体系结构.
随着科学技术的进步,计算机的软、硬件发展很快,例如作为计算机核心部件的处理器(CentralProcessingUnit,CPU)也由单核发展到多核,甚至集成了图形处理器(GraphicProcessingUnit,GPU)和网络处理器(NetworkProcessingUnit,NPU)的复杂异质多核处理器.
计算机的应用领域也从科学计算、数据处理和过程控制拓展到处理文字、数据、声音、图像、图形等媒体数据,并朝着3C—计算机(Computer)、通信(Communication)和消费电子产品(ConsumerElectronic)的融合,以及实现人工智能(ArtificialIntelligence,AI)的终极目标迈进.
现代的计算机分为服务器、工作站、台式机、笔记本式计算机、手持设备等类型.
而不论哪种类型,在构建计算机及其应用系统时都离不开接口电路.
在计算机中CPU与外部设备、存储器的连接和数据交换都通过接口设备来实现,前者被称为I/O(Input/Output)接口,而后者则被称为存储器接口.
I/O接口的功能是实现CPU通过系统总线(Bus)把I/O电路和外围设备联系在一起,I/O设备品种繁多,其相应的接口电路也各不相同.
而存储器通常在CPU的同步控制下工作,接口电路比较规范.
通常情况下,大多数用户并不是自己构建计算机,而是利用成品计算机配接外围接口的应用.
因此,习惯上所说的接口是指I/O接口.
接口其实是一组电气联接和信号交换标准,系统中接口的选择直接影响着系统连接外设的能力和与外设间信息交换的速度.
接口从传送信息的方式上可分为串行接口和并行接口,从硬件实现形式上可分为I/O接口芯片和接口控制卡.
常见的接口芯片有定时/计数器(如8253/8254)、中断控制器(如8259)、DMA(DirectMemoryAccess,直接存储器存取)控制器(如8237)、串行接口(如8250/8251)、并行接口(如8255)等.
接口控制卡由若干个集成电路按照一定的逻辑组成部件,或直接与CPU同在主板(MotherBoard)上,或是插在主机的系统总线扩展插槽(也称为I/O扩展插槽)上.
接口电路需要占用主机的I/O地址与系统总线的资源,需要驱动程序与操作系统配合工作.
为了实现CPU与各种外设之间的数据交换,通常接口必须具备下列功能:(1)设置数据的寄存和缓冲逻辑,以适应CPU与外设之间的速度差异.
(2)能够进行二者间信息格式的转换(如串并转换、二进制与十六进制或者ACSII码转换等).
(3)能够协调二者间信息的类型和电平的差异的变换(如电平转换及驱动、数/模或·2·模/数转换等).
(4)能够协调二者间的时序差异(如同步或异步时序等).
(5)具备地址译码和设备选择功能.
(6)设置中断和DMA控制逻辑.
对接口的控制可以按照程序查询方式、中断处理方式、DMA传送方式等进行互联和信息传递.
为了讲述的方便,我们以最普及的台式机—PC(PersonalComputer)为例介绍主要的接口.
1.
1.
1PC的外设接口PC常见的接口有:并行接口(主要用于将数据输出到打印机或绘图仪,故常标为打印终端:LinePrintTerminal,LPT)、串行接口(RS232C异步串行通信接口,常简称COM口)、键盘与鼠标接口、磁盘/光盘(CD-ROM/DVD等)接口、SCSI(SmallComputerSystemInterface,小型计算机系统接口)接口、IEEE-1394/Firewire(火线)接口、USB(UniversalSerialBus,通用串行总线)接口、显示接口、MIDI(MusicalInstrumentDigitalInterface,乐器数码接口)接口、音频接口、AMR(Audio/MODEMRiser,音频调制解调器扩展)接口、IrDA(InfraredDataAssociation,红外式数据传输)接口、网络接口等.
在连接这些接口时,要注意除了USB和1394接口能支持在系统运行情况下的插拔(俗称"热插拔"hot-plugging或hotswap)外,其他接口都必须在两个互连的设备断电的情况下进行插拔.
1981年国际商业机器公司(IBM)推出的IBMPC(采用Intel8088和DOS操作系统)开创了计算机的PC时代,而且它对CPU和操作系统的选择促成了英特尔(Intel)与微软(Microsoft)公司的Wintel联盟,奠定了它们在IT行业的霸主地位.
早期PC的接口只有键盘接口、COM接口(两个端口:一个接鼠标、一个供异步串行通信用)、LPT接口、磁盘接口(分软磁盘接口和硬磁盘接口)、显示接口(为CGA(ColorGraphicsAdaptor)标准).
经过近30年的发展,除COM接口基本没变外,其他的接口有很大变化,其间增加了一些类型的接口,也适时淘汰了某些接口.
其中:键盘接口和鼠标接口从第二代PC(采用Intel8386处理器和OS/2操作系统)起采用PS/2(PersonalSystem/2)标准接口.
LPT接口的工作模式由15KB/s半双工单向传输的标准工作模式(StandardParallelPort,SPP)扩展了2MB/s双向半双工数据传输的增强型工作模式(ExtendedParallelPort,EPP),以及采用双向全双工数据传输,并在多任务环境下可以使用DMA的扩充型工作模式(ExtendedCapabilitiesPort,ECP).
在磁盘接口中,软磁盘(FloppyDisk)驱动器接口支持的软盘由5.
25in双面低密度软盘(360KB)发展到兼容5.
25in双面高密度软盘(1.
2MB),以及3.
5in双面高密度软盘(1.
44MB).
只是由于性能更好和更便携的USB接口闪存盘(FlashDisk,也称为U盘)的普及,软磁盘逐渐被淘汰.
从IBMPC/XT开始有的硬磁盘(HardDisk)驱动器接口标准是在磁盘生产商把控制器与盘体集成在一起的IDE(IntegratedDriveElectronics)硬盘后才有的,IDE接口也称为ATA(AdvancedTechnologyAttachment)接口.
最初它的数据交换的方式只有通过CPU执行I/O端口指令来读写的PIO模式(ProgrammingInput/OutputModel),后来增加了DMA·3·模式和能在时钟脉冲的上升和下降沿存取数据的UltraDMA模式.
至今先后有7个ANSI(AmericanNationalStandardsInstitute,美国国家标准学会)的ATA接口标准,常用的是具有UltraDMA模式的ATA/ATAPI-4、5、6、7四种,它们又分别称为UltraATA/33(数据速率33MB/s),UltraATA/66(66MB/s),UltraATA/100(100MB/s)和UltraATA/133(133MB/s).
所有的IDE硬盘接口都使用16位并行的数据线,故也称作ParallelATA,所支持的设备除了硬盘,还包括CD-ROM/DVD驱动器等.
近年来随着CPU主频达到数千兆、数据位宽64位,使得数据速率不断攀升,此时并行的数据线已不适应要求,需要改用线路相互之间干扰较小、布局更为简洁方便的串行线路来进行信号传输.
因此,PC的数据总线都在朝着易于光纤化的串行架构发展.
作为最重要的存储部件的磁盘接口也出现了串行总线标准(Serial-ATA,SATA),目前的SATA1.
0标准可达到150MB/s,SATA2.
0/3.
0更可提升到300以至600MB/s.
SCSI设备在数据传输过程中不需要CPU的介入,在用做图形工作站和网络服务器的计算机中广泛采用SCSI接口的硬盘、光驱、扫描仪等.
SCSI的数据宽度为8/16(故也称ParallelSCSI),其单个通道支持8/16个设备,SCSI起步是8位数据宽度的SCSI-1(5MB/s),至今为止8位数据宽度最快的是Ultra2SCSI(40MB/s),16数据宽度(称为Wide)最快的是Ultra-320SCSI(320MB/s)和Ultra-640SCSI(640MB/s).
同样,SCSI也向串行发展为SAS(SerialAttachedSCSI),SAS采取与SATA兼容的直接点对点的串行传输方式,单个通道支持16384个设备,第一代传输的速率为150MB/s、第二代为300MB/s、第三代为600MB/s.
IEEE-1394是最初由苹果(Apple)公司开发的支持热插拔的一种高速串行总线,理论上单个通道支持64个设备.
它继承了成熟的SCSI指令体系,曾经被期待替代SCSI设备,但因为成本高,不如USB普及,是数码相机和DV(DigitalVideo)摄像机的常用输出接口.
现有的IEEE1394标准支持100Mbps、200Mbps、400Mbps和800Mbps的传输速率,已制定了1.
6Gbps和3.
2Gbps的规格.
USB是由Intel和Microsoft公司倡导发起的支持热插拔、即插即用(Plug-and-Play,PNP)的一种通用串行总线,它能够在不关闭主机电源的情况下动态地安装和删除USB设备.
USB的非对称式设计是由一个主机控制器和最多可以有5级的集线器(Hub)以树形连接的多达127个设备组成,一个Hub可以向外提供5V的500mA电流,且一台计算机可以同时有多个控制器.
现在流行的USB有两个标准:USB1.
1低速模式下传输速率最大为1.
5Mbps、全速模式下传输速率最大为12Mbps;USB2.
0兼容1.
1的标准并增加最大传输速率为480Mbps的高速模式.
近期推出的USB3.
0将最大传输速率提升到4.
8Gbps以上.
鉴于USB的优越性,越来越多的外设选择采用USB接口,例如鼠标、键盘、游戏手柄、游戏杆、扫描仪、数码相机、打印机、网络部件、移动硬盘和各种闪存、数据采集等.
IrDA接口和AMR接口都是早期的PC为了与外部设备通信而设置的,由于更优异的网络接口成为主要的通信手段,现在它们都已被PC淘汰.
其中IrDA是利用波长为850~900nm红外线的一种短距离无线连接技术,红外传输距离在几厘米到几十米、发射角度通常在0~15°,以半双工异步收发方式进行红外通信.
IrDA1.
0串行红外协议(SerialInfrared,SIR)最高通信速率为115.
2Kbps,IrDA1.
1快速红外协议(FastInfrared,FIR)提高到4Mbps.
之后,IrDA又推出了最高通信速率为16Mbps的特速红外协议(VeryFastInfrared,VFIR).
现在少数笔记本电脑、掌上电脑、移动手机、遥控器等常常集成有编/·4·解码功能、38kHz载波的5针红外接口.
AMR是Intel公司发布的追加处理声音功能和调制解调器机能等模拟信号卡的特殊扩展插槽,后来被直接插在系统总线上的调制解调器(Modem)卡替代.
PC常用的利用电话线拨号上网的Modem卡是PCI插槽的56KbpsModem卡,它执行CCITT(ConsultativeCommitteeofInternationalTelegraphandTelephone,国际电报电话咨询委员会)建议调制解调器的V.
42标准,具有56000bps信号速率、全双工通信方式、同步和拥有数据压缩及差错控制技术等功能.
网络接口通过俗称网卡的网络接口控制器(NetworkInterfaceController,NIC)实现PC与网络的通信.
根据网络技术的不同,网卡分ATM(AsynchronousTransferMode,异步传输模式)网卡、令牌环(TokenRing)网卡和以太网(Ethernet)网卡等,但是目前绝大多数的局域网采用以太网技术.
按照网卡所支持带宽的不同又可分为10Mbps网卡、100Mbps网卡、10/100Mbps自适应网卡、1000Mbps网卡等.
它们可以作为扩展卡插在计算机扩展总线上,或者集成到主板上.
网卡的接口类型根据传输介质的不同,有缆线和光纤(千兆以上)两种.
缆线的接口有AUI接口(粗缆接口)、BNC接口(细缆接口)和RJ-45接口(双绞线接口)三种接口类型.
MIDI接口是一个工业标准的电子通信协定,使得计算机、合成器、声卡以及电子鼓乐器能互相控制、交换信息.
它传送音调和音乐强度的数码,音量、颤音和平滑音、休止等参数的控制信号,以及设定节奏的时钟信号等.
在PC中它常与游戏杆接口和音频接口组成声卡(SoundCard),其中MIDI接口和游戏杆接口共用输出端口,端口中的两个针脚(TXD和RXD)用来传送MIDI信号,可连接电子琴键盘等各种MIDI设备,MIDI可为某些视频游戏提供背景音乐.
由于它们的信号是分离的,所以游戏杆和MIDI设备可以同时使用.
声卡是多媒体技术中最基本的组成部分,实现声波与数字信号的相互转换.
基本功能是"软"声卡依靠CPU、"硬"声卡依靠内置的数字信号处理器(DigitalSignalProcessor,DSP)完成:音乐合成发音(Synthesizer)功能、混音器(Mixer)功能、数字声音效果处理(Digitalsoundeffectsprocessing)功能以及模拟声音信号的输入和输出功能.
普通立体声声卡的模拟音频接口有外接辅助音源输入(标记为LinIn,如影碟机、收音机、录像机及VCD回放卡等输出的音频)、话筒输入(标记为MicIn)以及扬声器输出端口(标记为SPK)3个插孔.
而5.
1声道的声卡有6个插孔,可支持2通道(左、右)立体声、4通道(前置左和右、后置左和右)立体声和5.
1通道(前置左和右、后置左和右、一个中置和一个重低音)立体声.
另外,还提供SPDIF(Sony/PhilipsDigitalInterconnectFormat)数字音频光纤接口或同轴电缆接口.
目前的声卡符合AC'97(AudioCODEC'97)音频电路系统标准或者高保真音频(HDAudio)规范.
显示屏是计算机最重要的人机交互界面.
屏幕的扫描从电视的隔行扫描过渡到逐行扫描;每帧屏幕的刷新频率也从电视的50Hz/60Hz增加到70~85Hz,对于CRT(CathodeRayTube)显像管来说,较高的刷新频率可以减轻高亮度图像显示时的闪烁感,有些特殊的场合(如时分制双目立体显示)需要100Hz/120Hz的刷新频率.
屏幕的幅型比(宽度与高度比)从4:3/5:3扩展到宽屏(例如16:9等).
显示分辨率经历了早期的低彩色深度:图形方式下2色640*200或4色320*200的CGA(ColorGraphicsAdaptor)、图形方式下16色640*350的EGA(EnhancedGraphicsAdapter)和16色640*480的VGA(VideoGraphics·5·Array),并扩展到真彩色(R/G/B三基色均为8b以上),例如8b基色的8*3=24b真彩色,而通常采用的32b真彩色是在R/G/B各为8b通道的基础上增加一个8b的Alpha通道来储存图像中的重叠图层,基色超出8b的被称为高动态范围影像(HighDynamicRangeImage).
目前常用的有SVGA(SuperVideoGraphicsArray,800*600)和XGA(ExtendedGraphicsArray,1024*768)等等;对于宽屏幕的格式通常加以Wide标注,例如宽屏扩展图形阵列(WideXGA或WXGA,1280*720)是近来笔记本电脑上流行的一种分辨率.
显示器的接口有RGB视频模拟信号和行(H)、场(V)同步信号的驱动方式.
随着数字驱动方式的液晶显示器的出现和高清晰度视频的应用,DVI(DigitalVisualInterface)和HDMI(High-DefinitionMultimediaInterface)连接方式被越来越广泛使用,它们都是利用基于最小化传输差分信号协议(TMDS,TransitionMinimizedDifferentialSignaling)的3个通道来进行图像数据的传输,每个TMDS通道能够工作在165MHz.
这样一个10位的TMDS通道就可以提供1.
65Gb带宽.
两者的不同是:DVI标准是为PC设计,而HDMI则是在DVI基础上面向消费电子产品和支持更高的分辨率;其次,DVI必须分别传输视频和音频信号,而HDMI能同时完成这两种信号的传输.
为显示接口提供视频信号与同步信号的是显示适配器(Videoadapter,或者称显卡),CPU将显示信息从总线送入显卡的GPU进行数据处理.
处理好的数据被送到VideoRAM(俗称显存),显卡控制器按照设定格式把显存读取出的数据送到DVI接口提供数字方式的输出,或者读取出的数据再经过含有查找表(LookUpTable,LUT)存储器的RAMDAC转换成模拟信号提供模拟方式的输出.
此外,计算机的许多应用都需要在系统扩展总线上插入相应的控制卡或者采用USB等接口方式接入,例如在PC上收看电视的电视卡、安防领域的监控摄像机图像采集卡、各种工业控制中的A/D和D/A等.
1.
1.
2PC的系统总线计算机中CPU需要与一定数量的部件和外围设备连接,采用共用的被称为"总线"的连接线路结构可以便于部件和设备的扩充,尤其是制定了统一的总线标准,容易使不同设备间实现互连.
总线一般有:CPU与各外围芯片互连的内部总线、各插件板卡与系统主板互连的系统总线和计算机与外部设备之间进行信息与数据交换的外部总线.
其中内部总线是主机内部芯片一级的互连,例如I2C(Inter-IC)总线等;外部总线是设备一级的通信互连,例如RS-232C、USB等.
系统总线由数据总线(DataBus,DB)、地址总线(AddressBus,AB)和控制总线(ControlBus,CB)三种不同功能的总线组成.
数据总线是双向三态形式的总线,它的位数通常与CPU处理的字长相一致.
地址总线是单向三态的,它的位数决定了CPU可直接寻址的内存空间大小.
控制总线传送控制信号和时序信号,传送方向由具体控制信号而定.
其中有CPU送往存储器和I/O接口电路的,例如存储器读/写信号和I/O读/写信号、地址锁存信号、DMA使能和响应信号、中断响应信号等;也有其他部件反馈给CPU的,例如中断申请信号、复位信号、总线请求信号、设备就绪信号等.
近三十年来,PC的系统总线从PC总线到ISA(IndustryStandardArchitecture)总线和PCI(PeripheralComponentInterconnect)总线,再到PCIExpress等总线体系,这三次大的演变使得PC性能获得三次飞跃式的提升.
·6·PC总线在1981年出现在IBMPC(8位CPU:8088)中,并于1983年升级为PC/XT总线(62引脚),是4.
77MHz时钟的8位数据和20位地址的总线;1984年在IBMPC/AT(16位CPU:80286)中扩充为8MHz时钟的8位/16位数据兼容和24位地址的PC/AT总线(98引脚).
其中对应PC/XT总线位置的后62条引脚(在扩展卡上称为"金手指")是8位模式,全部98条引脚是16位模式,总线传送一次数据所需时钟周期数是2.
随着众多PC厂商的加入,PC总线规范也被逐渐标准化成ISA总线.
期间某些286PC兼容机的生厂商以提高CPU的时钟来竞争市场,因此,ISA总线的时钟频率达到了10MHz、12MHz甚至16MHz.
1988年在32位80386DX处理器出现之后,由Compaq等9家公司联合推出了完全兼容ISA总线的数据和地址都是32位宽度的EISA(ExtendedIndustryStandardArchitecture)总线,为了保持兼容性,总线时钟仍然为8MHz(8.
33MHz)左右.
它是在ISA总线的基础上使用双层引脚错开插座,即原来ISA总线的98条引脚为上层,下层在对应两个ISA引脚之间又增加了99条扩展引脚.
在PC中EISA不如ISA普及,用户在ISA总线上添加新设备时不得不了解一些关于硬件的特殊知识,对IRQ(中断请求)、I/O地址和DMA信道等进行配置,才能正常使用新设备.
为了克服这个缺点,1987年IBM试图以会帮用户自动完成这些设定的"微通道体系"(MicroChannelArchitecture,MCA)取代ISA,虽然该总线因某些原因未能推广,却最终导致了即插即用系统的诞生.
Microsoft公司的Windows操作系统带来的GUI(GraphicalUserInterface,图形用户接口)界面以及磁盘控制技术令ISA总线不堪重负,Intel公司顺应时势提出了32位即插即用的PCI总线概念,1992年和1993年相继发表主板组件间的规范PCI1.
0和系统扩展总线插槽的PCI2.
0标准.
PCI是整合了ISA、MCA和EISA的优点,但不兼容它们的扩展接口,先是在服务器中采用,1996年开始在某些486机和随后的Pentium系列微机中应用.
PCI的第一个版本是120条引脚、32位/33MHz总线时钟和传输带宽达到133MBps、支持5V供电.
在其发布一年后,Intel公司紧接着提出64位/33MHz、传输速率达266MBps、支持3.
3V供电的PCI总线,但主要用于企业服务器和工作站领域;后来又升级为64位/66MHz、传输速率峰值可达533MBps;PCI3.
0是最后一个官方版本,它彻底取消了支持使用5V的设备.
在PC领域一直使用32位/33MHz的PCI总线.
1996年3D显卡的出现,需要通过总线与CPU进行频繁的数据交换,PCI总线已不能适应.
为此Intel公司在PCI基础上专门研发出针对显卡的AGP(AcceleratedGraphicsPort,加速图形接口)总线标准,直到2004年AGP标准被PCIExpress所取代.
常规AGP有3个标准:AGP1.
0标准的时钟频率达到66MHz,具有1X和2X倍频两种模式,数据传输带宽分别达到266MBps和533MBps,信号电压为3.
3V.
1998年的AGP2.
0通过增加的4X倍频模式,将带宽提升到1.
06GBps,且信号电压降低到1.
5V.
2000年的AGP3.
0增加的8X倍频模式可以提供2.
1GBps的带宽,它的信号电压进一步降低到0.
8V.
AGP使用类似EISA的双层引脚错开插座,有3种插槽:(1)132脚的通用(Universal)插槽,适于所有标准.
(2)位于前1/3处多了一个阻断(3.
3VKey)的124脚插槽,适于AGP1.
0标准.
(3)位于后1/3处多了一个阻断(1.
5VKey)的124脚插槽,适于AGP2.
0和3.
0标准.
由于信号电压和插槽供电规范的不同,在PC中插入AGP显卡要注意与主板芯片组所支持的AGP标准相适应.
除了常规的AGP规范,我们偶尔还能看到支持AGPPro的主板.
·7·AGPPro的插槽是在AGP插槽的前端延伸20引脚的插槽和在AGP插槽的后端再延伸28引脚的插槽,延伸部分可容纳更多的提供额外电能的引脚,以满足处理能力更强大的专业显卡所需日益加大的功耗(25~110W).
AGPPro接口其实是专为高端图形工作站而设计的,完全兼容AGP4X标准.
随着千兆网卡、高速磁盘阵列在PC与服务器的应用,开发彻底代替PCI的新一代总线势在必行.
为此,服务器厂商采用平滑升级的方式推出高性能的PCI-X(PCIeXtended);PC厂商则彻底变革,推出革命性的高速串行总线PCIExpress(PCI-E或PCIe).
1998年IBM等3家公司发起,PCI-SIG(PCISpecialInterestGroup,PCI特别兴趣组)于2000年正式发布PCI-X1.
0标准.
PCI-X1.
0标准仍为64位,但频率由66MHz提高到133MHz,获得高达1.
06GBps的总带宽,150个引脚.
2002年推出更快的PCI-X2.
0,它包含较低速的PCI-X266及高速的PCI-X533标准,分别针对不同的应用.
PCI-X266标准的工作频率为266MHz,可提供2.
1GBps共享带宽;PCI-X533标准的工作频率为533MHz,达到4.
2GBps的共享带宽,它们最多都可以同时支持8组并行设备.
PCI-X2.
0的接口与PCI-X1.
0完全相同,可无缝兼容之前所有的PCI-X1.
0设备和PCI扩展设备.
2004年PCI-X标准被高速串行的PCIExpress标准替代.
在未来总线频率不断提高的趋势下,总线的数据位宽在达到64位以后,由于并行信号之间的串扰和成本上的原因已不能再依靠加宽位数来获得更高的码率.
2001年Intel公司提出以串行、高频率运作的方式获得高性能3GIO(ThirdGenerationI/OArchitecture,第三代I/O体系)总线,PCI-SIG于2002年推出PCIExpress1.
0标准,2007年1月公布PCIExpress2.
0标准,目前正在紧张开发PCIExpress3.
0标准.
PCIExpress是全双工、点对点(PeertoPeer,P2P)连接的1b序列传输,遵守一个由对话层、数据交换层和物理层构成的多层协议.
最基本的一组传输通道(称为X1)拥有4根线组成2对单向低电压差分信号(LowVoltageDifferentialSignaling,LVDS)线路,分别用于数据发送和数据接收,并使用8b/10b编码的数据流内嵌时钟技术(每8b数据编成10b),节省了通道并提高了效率.
PCIExpress的目标是替代计算机内部所有的总线,因此可以将几个基本的传输通道捆绑,通常组成的频宽有X1、X2,X4,X8,X16,X32等多种不同规格标准,其中X16主要是用来取代AGP.
PCIExpress1.
0的工作频率是2.
5GHz,一对线路的码率是2.
5GHz÷10(b/B)=250MBps,因此PCIExpress1.
0的X16模式可达到双工码率为4.
0GBps.
2.
0版本的工作频率提高到5GHz,基本通道双工码率是500MBps.
未来的3.
0版本的工作频率又提高一倍而达到10GHz,基本通道双工码率将是1GBps.
注意实际上总线的时钟频率是工作频率的一半,因为可以在时钟的上升沿和下降沿传送数据.
此外,与PCIExpress竞争的还有很多基于串行高速序列传输标准,包括HyperTransport,InfiniBand,RapidIO和StarFabric等.
1.
1.
3PC的主板芯片组在早期的80386和80486PC中,除CPU外的控制逻辑(例如时钟发生器、总线控制器、中断控制器、DMA控制器、I/O接口电路等)是由一些具有独立功能的芯片组成的.
1986年ChipandTechnologies(C&T)公司率先推出了一组由5片(82C201、82C202、82A203、82A204、82A205)组成的、内部囊括了PC/AT机主板上所有主要芯片功能的CS8220芯片·8·组(Chipset),芯片组的诞生使主板的设计和测试简单化和标准化,不仅大幅度降低了PC的制造成本,更重要的是为将来扩展主板的功能、增强对外部设备的支持留下了空间.
芯片组是主板的核心组成部分,几乎决定着主板的全部功能.
随着PCI总线的引入,为了进一步提高系统的整体性能,Intel公司开始在800系列芯片组中采用了Hub体系结构,现在采用这一结构的微机已成为PC的主流.
图1.
1是Intel公司在2007年推出的Bearlake3系列芯片组家族中P31芯片组的功能方框图.
图1.
1PC芯片组的Hub体系结构·9·芯片组主要有被称为南桥(SouthBridge)和北桥(NorthBridge)的两块芯片.
其中北桥的芯片是起主导作用的最重要的部分,也称为主桥(HostBridge).
通常主板以及芯片组就是以北桥芯片的名称来命名的,例如IntelP31主板的北桥芯片是P31.
北桥芯片负责与CPU的联系并控制内存,因此也有把北桥芯片称为存储器控制器Hub(MCH)的,它还控制AGP显示数据在北桥内部的传输.
它决定了CPU的类型和主频、系统的前端总线频率、内存类型(SDRAM,DDRSDRAM以及RDRAM等等)、最大容量和性能、AGP显卡插槽规格(图1.
1中用PCIExpressX16替代AGP)、ECC纠错等支持.
另外,整合型芯片组的北桥芯片还集成了内置显示核心.
因为位于CPU和北桥之间的是速度最快的处理器高速前端总线(FrontSideBUS,FSB),所以北桥芯片是主板上离CPU最近的一块芯片.
由于北桥芯片数据处理量大,电源消耗功率大,常常需要加装散热片.
南桥芯片负责外设接口的控制和I/O总线之间的通信,例如PCIExpress或PCI总线、USB、LAN、ATA、SATA、音频控制器、键盘控制器、实时时钟控制器、高级电源管理等,现在被称为I/O控制器Hub(ICH).
它决定了扩展槽的种类与数量、扩展接口的类型和数量(如USB2.
0/1.
1、IEEE1394、串口、并口)等.
南桥芯片的发展方向主要是集成更多的功能,例如网卡、RAID、IEEE1394,甚至WI-FI无线网络等等.
南桥芯片不与CPU直接相连,而是通过一定的方式与北桥连接.
南桥芯片是芯片组的低速部件,它在主板的位置相对于北桥要靠下方.
总之,配合系统总线和I/O总线技术的发展,从ISA、PCI、AGP到PCI-Express,从ATA到SATA、UltraDMA技术、双通道内存技术、高速前端总线等,芯片组的技术也是突飞猛进,每一次新技术的进步都带来计算机的层次结构更加清晰和性能的提高.
另一方面,CPU技术也在向着高整合性方向发展,北桥的功能被弱化,芯片组将趋于单芯片设计.
例如由于AMD公司Athlon64CPU的内部已经整合了内存控制器,nVidia公司在其NF3250、NF4等芯片组中去掉了南桥,而在北桥中则加入千兆网络、串口硬盘控制等功能.
1.
2集成电路技术的发展在21世纪以电子信息技术产业为主导的知识经济时代,集成电路产品是几乎所有技术的最终载体,是检验技术转化为生产力的最终标志.
当前集成电路产业正在利用CPU技术开发与之相关的微处理器(MicroprocessorUnit,MPU)、微控制器(MicroControllerUnit,MCU)、数字信号处理器(DigitalSignalProcessor,DSP)等系列产品;利用3C芯片组的技术开发与之相关的DVD(DigitalVersatileDisc)、HDTV(HighDefinitionTelevision)、数码相机、数码音响等专用集成电路系列产品,以满足人类不断增长的对信息量的需求.
集成电路发展经历了电路集成、功能集成、技术集成,直至今天基于计算机软、硬件的知识集成,这标志着传统的电子系统已经全面进入现代电子系统的阶段.
1.
2.
1硅基微电子技术的发展趋势如今90%以上的电子器件和电路都是以硅(Si)为基础制造的,从1947年美国Bell实验室的WilliamB.
Shockley、JohnBardeen和WalterH.
Brattain创造出了世界上第一只晶体管,1958年美国TI(TexasInstruments)公司的工程师J.
Kilby制成了世界上第一片集成·10·电路以来,以硅为基础的微电子技术经过半个多世纪的发展,从晶体管、中小规模集成电路到超大规模集成电路(VeryLargeScaleIntegration,VLSI),现在仍然继续遵循"集成电路的集成度每18个月增加一倍,每三年器件尺寸缩小0.
7倍的速度"(Moore定律和ITRS的技术节点概念),保持着强劲的发展态势.
超大规模集成电路技术的发展主要针对集成度、工作频率、功耗和成品率等几个方面.
集成度的提高取决于减小工艺线宽,目前产品已经做到深亚微米和纳米,例如45nm的IntelCore2Duo双核处理器Wolfdale、Altera公司40nm的StratixIVFPGA等.
根据国际半导体技术蓝图(InternationalTechnologyRoadmapforSemiconductors,ITRS)发布的未来半导体工艺技术预测,到2016年世界集成电路主流工艺线宽为22nm,2022年将达到10nm(接近9nm的成本极限和4nm的制造极限).
工作频率的提高也依赖于缩短内部连线,通常在片内(on-chip)通信比片外(off-chip)更可取;但更重要的是半导体材料的能带间隙(BandGap)和电子迁移率(Mobility)等主要特性.
常用的硅材料工作频率限制在几个GHz,而且它的导通电阻比较大,很费电.
而一些由两种Ⅲ—V族元素制备的复合材料,它们的带隙窄,电子迁移率高,适于光电、微波等高频应用,其中主要有砷化镓(GaAs)、硅锗(SiGe)和磷化铟(InP)等.
例如IBM公司发明的硅锗材料的工作频率可达到100GHz.
另外,采用IBM的SOI(Silicon-on-Insulator,硅绝缘)技术结构的超晶格应变硅材料Si/SiGe/SiO2可以提高数字电路的开关速度,降低功耗,并且抗辐射和耐高温.
通过降低芯片的工作电压来压低波形跳变的幅度,以减小干扰、降低功耗以及有利于依靠电池供电的移动设备,例如从早期的12~15VMOS(Metal-Oxide-Semiconductor)的工作电压、TTL(Transistor-TransistorLogic)的5V到CMOS(ComplementaryMetalOxideSemiconductor)的3.
3V、2.
5V、1.
8V、1.
475V、1.
1V直到0.
8~0.
9V.
降低集成电路的价格和提高成品率要依靠故障容限(例如给存储单元增加备份,在测试过程中用电气或激光手段把不合格单元的连线割去)、冗余和自动恢复技术,以及增大晶体圆片(wafer)的尺寸.
目前常用的最大圆片直径如下:硅为12in(300mm),硅锗为8in(200mm),砷化镓为6in(150mm),磷化铟为4in(100mm).
预计2016年以后,将逐步向22nm线宽的18in(450mm)的硅片过渡,直径27in(675mm)的硅单晶研制也正在积极筹划中.
硅集成电路的特征线宽进入90nm以下时,硅微电子技术将受到来自物理的(短沟场效应、绝缘氧化物量子隧穿效应、沟道掺杂原子统计涨落、功耗等)、技术的(寄生电阻和电容、互连延迟、光刻技术等)和经济的(制造成本难以承受)三个方面的限制和挑战.
这迫使电路设计师要更深入地理解工艺的能力,避免设计出不能生产的器件.
例如在设计处理器时往往通过采用新的架构(增加流水线长度、采用多核芯、冗余结构、睡眠机制等)使之形成更为有效的晶体管组织结构,达到提高指令执行速度、提高可靠性以及减少能耗的目的.
在特征线宽进入65nm以下时,将不同功能的器件或电路集成在一个芯片上,使其功能得到显著提升的片上系统(SystemonaChip,SoC)集成技术将成为主流.
1.
2.
2可编程逻辑器件的发展随着可编程半导体器件技术的迅速发展,设计与制造集成电路的任务已不完全由半导·11·体厂商来独立承担,电子系统设计师们更愿意自己设计专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好在自己的实验室里就能设计并制造出实用的ASIC芯片.
它作为集成电路技术与特定用户的整机或系统技术紧密结合的产物,与通用集成电路构成的整机或系统相比,具有体积更小、重量更轻、功耗更低、性能和可靠性提高、保密性增强、成本降低等优点.
通常设计ASIC的方法可以分为全定制、半定制和可编程逻辑器件(ProgrammableLogicDevice,PLD)设计三种方式,其中PLD的设计主要是利用可编程的集成电路,如PROM(ProgrammableRead-OnlyMemory)、PAL(ProgrammableArrayLogic)、GAL(GenericArrayLogic)、CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)、FPGA(FieldProgrammableGateArray,现场可编程门阵列)等,直接使用厂商或者第三方提供的软件进行设计和在线编程(In-SystemProgrammable,ISP)或者现场编程(FieldProgrammable),完成ASIC电路的功能,而不需要再通过集成电路工艺线加工.
现在PLD是半导体行业中增长最快的领域之一,主要生产商有Altera、Xilinx、Lattice等.
根据半导体行业联盟(SemiconductorIndustryAssociation,SIA)提供的数据,PLD的销售增长速度在过去几年里已超过了整个半导体行业的平均销售增长速度.
PROM通常是指1956年在美国发明的熔丝(fuse)型的双极性(bipolar)可编程只读存储器,它是依靠对熔丝一次性烧断来编程,后来又发展了分别依靠紫外光擦除和电擦除的可以重复编程EPROM(ultraviolet-ErasablePROM)和EEPROM(ElectricallyErasablePROM)等.
它们常作为存储器用于存储函数值的查找表,如果把它们当成PLD使用,它们的每一位输出(即每根输出引脚)是相互独立的各输入地址线的可编程组合逻辑函数.
但是碍于ROM自身的电路结构,存储单元是由地址全译码选择的,因此,电路设计使用中仅有小部分的记忆储存空间能被有效地使用;而且由于内部缺乏时序(SequentialLogic)电路设计所需要的触发器(Flip-Flop),它们不能独立地用于时序电路设计,只能用于组合逻辑(CombinatorialLogic)电路设计.
20世纪70年代,根据能用"与-或"表达式来描述任意组合逻辑,以及采用反熔丝(Antifuse,即与熔丝工作状态相反,未经编程为断开,编程后为短路)技术、EPROM技术和EEPROM技术等工艺来实现它,先后发展出用可编程的"与"阵列和固定的"或"阵列构成,其中或门的输出可以通过触发器有选择地被置为寄存状态的PAL,以及"与"和"或"阵列都能编程且输出结构是可编程的逻辑宏单元(OutputLogicMacroCell,OLMC)的GAL.
这些早期的PLD因规模小,仅适用于数百个逻辑门所构成的小型电路.
为了弥补这一缺陷,在20世纪80年代中期Altera公司和Xilinx公司分别推出了类似PAL结构的基于乘积项技术和Flash/EEPROM工艺的电可编程逻辑器件(ElectricallyProgrammableLogicDevice,EPLD)及其改进的CPLD,以及与GAL结构类似的基于查找表技术和SRAM工艺的FPGA.
这些器件的规模远远大于PAL和GAL,仅一片就能实现数十万甚至数百万个逻辑单元(LogicElement,LE)才能构成的电路.
CPLD大多采用粗粒结构,由多个可以实现组合或时序逻辑的宏单元(每个MC相当于一片PAL/GAL)组成一个逻辑阵列块(LogicArrayBlock,LAB),每个LAB还与相应的I/O控制模块(I/OControlBlocks)相连;多个LAB以群阵列(arrayofclusters)的形式排列,并通过可编程互连阵列(ProgrammableInterconnectArray,PIA)由水平和垂直路由通道连接起来,这些路由通道也把信号送到器件的引脚上或者传进来.
由于CPLD的结构·12·特点是触发器有限而乘积项丰富,故用在组合逻辑设计上它比FPGA优越.
同时,因为CPLD的集中式路由布线简单,相应地延迟也小且固定,所以对大型复杂设计的运行速度可以预测,也可以工作在更高的频率.
另外,CPLD在编程方式上具有编程次数可达1万次和系统断电后编程信息也不丢失的优点.
CPLD的主要产品有Altera公司的MAX和MAXⅡ系列、Xilinx公司的XC9500和CoolRunner系列、Lattice公司的ispLSI和ispMACH4000系列等.
FPGA的逻辑单元(LE)多采用4输入RAM查找表的细粒结构,它比CPLD有更多的寄存器和更复杂的分段式路由布线结构,主要通过改变内部连线的布线,在逻辑门下编程;多数芯片还含有高层次的加法器和乘法器以及存储器等内置模块,一些先进的芯片(如XilinxVirtex系列等)还提供诸如嵌入式硬核处理器(如IBMPowerPC、DSP等)、嵌入式内存、专用锁相环(PhaseLockLoop,PLL)和高速的通信收发器等部件.
FPGA的容量一般比CPLD或EPLD的容量要大得多,相对逻辑密度目前可达数百万门以上,更适合做逻辑复杂、信息量大的系统设计.
另外,FPGA的功能由存放在片内SRAM中逻辑结构的配置数据决定,数据在系统断电时会丢失,每次上电时需从器件外部将配置数据重新写入现场编程.
针对SRAM可以反复写入这一特点,很多FPGA支持完全的或者部分的系统内重新配置,即允许电路的设计在随着系统升级或者动态重新配置时而改变;一些FPGA还可以在系统中其他部分继续正常运行下,让一部分电路结构重新编辑和动态重配置.
如今,更多的用户选择用FPGA进行设计的一个重要原因,是市场上存在着大量以IP(IntellectualProperty,知识产权)形式呈现的预定义和预测试的软件模块IP核(IPcore),设计工程师可以取得使用许可证后将其集成到自己的系统中.
这些核心技术(IP)库中包括从复杂数字信号处理算法和存储器控制器直到总线接口和软核处理器(例如Altera公司的Nios、Xilinx公司的Microblaze)等等.
全球生产FPGA的厂家很多,但影响力最大的是Xilinx公司和Altera公司.
主要产品有Xilinx公司的Spartan和Virtex系列等;Altera公司的FLEX10K、APEX20K、ACEX1K、Stratix和Cyclone系列等.
要注意,不同厂家生产的FPGA在可编程逻辑块的规模、内部互连线结构以及所采用的可编程配置元件和装载电缆线上存在较大差异,实际使用时应注意区分.
随着微电子技术和加工工艺的不断发展,芯片的集成度和引脚增多,而印制电路板面积却在减小,装配密度越来越大,复杂程度越来越高,难于沿用传统的外探针测试法对芯片和电路板进行全面彻底的测试.
为了解决PLD器件芯片的测试问题,20世纪80年代,联合测试行动组(JointTestActionGroup,JTAG)开发了IEEE1149.
1—1990边界扫描测试(BoundaryScanTesting,BST)技术规范,它可以在器件正常工作时捕获功能数据.
因此,现在PLD器件都内置了BST结构,提供5根信号线:TDI(测试数据输入)、TDO(测试数据输出)、TMS(测试模式选择)、TCK(测试时钟输入)和TRST(测试复位输入).
边界扫描单元能够从引脚或器件核心逻辑信号中捕获数据,外部输入的测试数据和捕获的数据都以串行方式通信,完成在线测试或调试工作.
1.
2.
3CPLD和FPGA的结构CPLD和FPGA是目前最广泛应用的PLD,其中FPGA提供了最高的逻辑密度、最丰富的特性和最高的性能;虽然CPLD提供的逻辑资源不如FPGA,但是它在速度与时序特·13·性可预测、价格和使用方便上具有一定的优势.
因此,在电路设计时就会产生这样一些需要思考的问题:应该选择哪种器件才能获得更高的性价比为什么有时同样的设计在分别下载到CPLD和FPGA时会出现不同的问题和结果为此,我们还必须进一步了解各种器件的内部电路结构,选择更适合电路结构的器件类型,或者在满足所需功能的条件下修改电路结构来满足已选定的器件.
1.
CPLD的结构下面的介绍以本书实验中使用的Altera公司的MAX7000系列CPLD为例,这种芯片的内部结构如图1.
2所示.
图1.
2MAX7000系列CPLD芯片的内部结构它主要包括逻辑阵列块(LAB)、可编程连线阵列(PIA)和I/O引脚控制块等.
(1)编程逻辑宏单元(MC)和逻辑阵列块(LAB)宏单元(MC)是PLD的基本结构,如图1.
3所示.
每个MC是由可编程的乘积项和扩展乘积项(ExpanderProductTerm,EPT)逻辑阵列、乘积项选择矩阵和可编程寄存器三个功能块组成的.
其中乘积项阵列实际上是一个"与"阵列,每一个交叉点都可编程为导通实现"与"逻辑.
后面的乘积项选择矩阵是一个"或"阵列,另外每个MC提供一个未投入使用的乘积项,并将它反相后反馈到逻辑阵列中作为共享扩展项.
每16个MC为一组,构成一个灵活的逻辑阵列块LAB.
于是每个LAB就有16个共享扩展项,由此产生的共享扩展乘积项可被所在的LAB内任意或全部MC使用和共享,与或阵列一起完成组合逻辑.
·14·可编程寄存器是一个具有独立可编程时钟、时钟使能、清除和置位功能的可配置D触发器.
它可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零,它提供了时序逻辑的设计能力.
如果不需要触发器,也可以将此触发器旁路,信号直接输出到I/O脚.
MC还具有复杂的I/O单元互连结构,可以根据用户的设计单独地配置成组合逻辑或时序逻辑等特定的电路结构.
不同规模的CPLD有不同数量的宏单元,例如,MAX7128是有64个宏单元的4个逻辑阵列块结构.
图1.
3MAX7000系列CPLD芯片的宏单元(MC)(2)可编程连线阵列(PIA)器件的所有专用输入、I/O和MC的输出均馈送到逻辑阵列块,通过在它上面布线,把各个逻辑阵列块互相连接而构成所需的逻辑.
再将这些信号送到器件内的各个地方,起到全局总线的作用.
(3)I/O引脚控制块它是由可选择的一个全局输出使能信号控制的三态缓冲器.
当三态缓冲器的控制端接地时,输出为高阻态.
此时,I/O引脚可用做专用输入引脚.
控制端接高电平时输出有效.
I/O控制块被用于输入/输出的电气特性控制,允许每个I/O引脚单独地配置为输入、输出和双向工作方式以及输出模式为集电极开路或者三态输出等.
另外,图1.
2中左上角的4个专用输入引脚既可用作通用输入,也可作为每个宏单元和I/O引脚的高速的全局控制信号:全局时钟GCLK1、全局清零GCLRn以及两个输出使能(OutputEnable)信号OE1和OE2.
由于是通过专用连线与PLD中每个MC相连,信号到每个MC的延时相同且延时最短.
2006年Altera公司采用了全新的CPLD体系结构的MAXⅡ器件面世,它模糊了CPLD和FPGA的区别.
它是在查找表(LUT)体系上采用0.
18μm嵌入Flash工艺,本质上它就·15·是一种容量和传统PLD类似,但在内部集成了配置芯片的FPGA.
新系列和前一代相比,成本降低了一半,容量增加了4倍,性能提升了一倍,功耗却是原来的1/10.
例如Altera公司的144管脚TQFP封装的MAXⅡEPM570芯片的逻辑单元(LE)为570个,典型等效宏单元为440个,用户Flash存储量为8K(可用于存储配置文件).
2.
FPGA的结构下面的介绍以本书实验中使用的Altera公司FLEX/ACEX系列FPGA为例,如图1.
4所示.
图1.
4FLEX/ACEX系列FPGA芯片的内部结构它主要包括逻辑阵列块(LAB)、嵌入阵列块(EmbeddedArrayBlock,EAB)、I/O单元(I/OElement,IOE)和可编程快速通道连线(FastTrack).
(1)逻辑阵列由分布在芯片中的很多LAB组成逻辑阵列.
每个LAB是由8个逻辑单元(LE)组成的阵列块,其中每个LE如图1.
5所示,它包括一个由4输入的SRAM构成的查找表(LUT)、一个可编程D触发器和相关的逻辑组成.
它是实现自定义逻辑功能的基本单元,散布于整个芯片.
逻辑变量从芯片的管脚输入后进入可编程连线,然后作为LUT的地址查找到地址对应的存储单元中已经事先写入的逻辑结果数据,输出就实现了预计的组合逻辑.
如果设计是一个LUT无法完成的复杂逻辑电路,就需要通过进位逻辑和级连线将多个单元相连.
LE中的可编程D触发器及其清零与置位逻辑提供了时序逻辑设计的能力,如果设计中不需要触发器,也可以将此触发器旁路,信号直接输出到I/O引脚.
·16·图1.
5FLEX/ACEX系列FPGA芯片的逻辑单元(LE)(2)嵌入阵列嵌入式阵列是由一系列EAB构成的.
嵌入式阵列既可以实现逻辑功能,又可以实现存储功能,由它们实现专用的功能可以减少芯片的体积,使其运行速度更快,使用更加灵活.
(3)可编程快速通道它是由行和列连线构成可编程的互连资源(InterconnectResource,IR),包括不同长度的连线线段以及可编程的连接开关.
其功能是将各个可编程逻辑块或I/O块连接起来,构成特定功能的电路.
由于内部资源是分段互联的,因而延时不可预测,只有编程完毕后才能实际测量.
(4)I/O单元(IOE)它通常排列于芯片四周,为内部逻辑与器件封装引脚之间提供可编程的输入输出接口驱动.
IOE位于快速通道的行和列的末端,每个IOE有一个双向I/O缓冲器和一个触发器.
这些寄存器在IOE作为专用时钟引脚时提供了特殊的性能.
当它作为输入时,可提供少于4.
2ns的建立时间和0ns的保持时间;而作为输出时,这些寄存器的时钟到输出的时间少于5.
7ns.
基于LUT的FPGA器件由于SRAM的易失性,需要外加一片专用配置芯片EPROM,不同型号的芯片要求的配置芯片略有不同.
也有少数FPGA采用反熔丝或Flash工艺,对这种FPGA不需要外加专用的配置芯片.
反熔丝控制的FPGA器件是用反熔丝单元来控制可编程器件内的可编程节点的通断,使芯片中每一部分具有应有的逻辑功能,以实现器件的设计功能.
反熔丝单元是一个被动的两端器件,通常情况下处于开路状态,在施加充足的电压后,能够永久地导通.
用于现场可编程器件的反熔丝其占用芯片面积非常小,速度也很高,这方面的性能几乎可以与门阵列相比.
但这种FPGA在编程时需要专用的编程设备,而且芯片功能一经编程确定后,不能再修改,反熔丝控制的FPGA器件价格最低.
·17·Flash控制的FPGA器件是用快闪烁存储器(Flash)的数值来控制可编程节点的通断,实现现场可编程目的.
这种FPGA的工作特性与SRAM-FPGA相似,但是它的单元面积小.
由于Flash也具有不挥发性,不必在每次上电时重新进行功能加载,因此使用很方便.
1.
3电子电路的设计与仿真在电子设计自动化(ElectronicDesignAutomation,EDA)出现以前,电子系统的设计方法采用传统的手工自底向上(Bottom-Up)的方式.
一般是根据系统的要求,首先画出系统的硬件流程图,再根据功能划分成不同的基本单元模块;设计过程从底层开始,先要选择具体的元器件进行各功能模块的逻辑电路设计,并手动画出一张张的电路原理图;根据原理图制作印刷电路板(PrintedCircuitBoard,PCB)和装焊,然后对每个功能模块调试,最后把各个模块连接起来进行系统的联调.
当然为了提高设计的效率,基本单元模块尽可能采用标准化的模块设计.
但是无论如何,对整个系统的仿真与调试只能在完成硬件设计以后才能进行,才能发现设计中的问题.
如果出现设计中没有考虑到的问题,就要再从底层重新设计,这样的设计周期一般较长.
设计结果是若干张的电路原理图和信号的连接表,如果是一个大的系统,以后系统出现问题要查找和修改起来都不直观.
EDA是电子设计领域的一场革命,它源于计算机辅助设计(ComputerAidedDesign,CAD)、计算机辅助制造(ComputerAidedMade,CAM)、计算机辅助测试(ComputerAidedTest,CAT)和计算机辅助工程(ComputerAidedEngineering,CAE),按主要功能分为电路设计与仿真工具、PCB设计软件、IC设计软件、PLD设计工具及其他EDA软件等.
1.
3.
1EDA工具软件EDA经历了三个发展阶段:计算机辅助设计阶段、计算机辅助工程阶段、电子设计自动化阶段.
最早的电子CAD软件仅仅是一些绘图软件,包括绘制电路原理图、绘制印刷电路版图和绘制集成电路芯片版图,以及一些简单的数值计算等.
在出现了自动设计、验证和自动布局布线工具后,这类软件称为第一代的EDA软件.
后来又出现了第二代的EDA软件,它包括逻辑综合、仿真以及"自顶向下"(Top-Down)的设计等.
近年来又出现了被称为电子系统设计自动化的第三代EDA软件,它可以通过概念输入(框图、公式等)自动生成各种设计结果:包括ASIC芯片设计结果、电路原理图、PCB版图以及软件等,并且可以进行机电一体化设计.
与传统的设计方法不同,现代电子工程师们设计系统的过程是以计算机为工具,按照自顶向下的设计方法,对整个系统进行方案设计和功能划分(即描述系统);由硬件描述语言(HardwareDescriptionLanguage,HDL)完成系统行为级设计,利用先进的开发工具自动完成逻辑编译、化简、分割、综合、优化、布局布线(PlaceAndRoute,PAR)、仿真以及特定目标芯片的适配编译和编程下载,设计出自己适用的ASIC芯片.
然后用通用和专用芯片构成系统,进行功能模拟和带时延的仿真,布PCB板,对PCB板进行仿真,最终生产调试成功.
下面简要介绍一些常用的设计工具软件.
·18·1.
电子电路设计与仿真工具电子电路设计与仿真工具包括SPICE/PSPICE、multiSIM7、Matlab、SystemView、MMICADLiveWire、Edison、TinaProBrightSpark等.
其中,20世纪80年代世界上应用最广的电路设计软件SPICE(SimulationProgramwithIntegratedCircuitEmphasis)是1975年由美国加州大学Berkeley分校推出的电路分析仿真软件,1998年被定为美国国家标准.
1984年,美国MicroSim公司推出了基于SPICE的微机版PSPICE(Personal-SPICE).
它是功能最为强大的模拟和数字电路混合仿真EDA软件,可以进行各种各样的电路仿真、激励建立、温度与噪声分析、模拟控制、波形输出和数据输出,并能在同一窗口内同时显示模拟与数字的仿真结果,还可以自行建立元器件及元器件库.
Multisim软件是加拿大图像交互技术公司(InteractiveImageTechnologiesLtd,IIT)在20世纪末推出的以Windows为基础的电路仿真软件.
它提炼了SPICE仿真的复杂内容,包含了电路原理图的图形输入、电路硬件描述语言输入方式等.
相对于其他EDA软件,它具有更加形象直观的人机交互界面,特别是虚拟仪器技术.
在其仪器仪表库中的各仪器仪表与实际工作中的完全相同,例如万用表、瓦特表、信号发生器、扫频仪、多踪示波器、逻辑分析仪、失真度分析仪、频谱分析仪、网络分析仪等.
它还提供了各种常见的建模精确的元器件,如电阻、电容、电感、三极管、二极管、继电器、可控硅、数码管等,以及模拟集成电路方面的各种运算放大器和其他常用集成电路.
数字电路方面有74系列集成电路、4000系列集成电路等,同时还支持自制元器件.
MATLAB(MATrixLABoratory)是20世纪70年代美国新墨西哥大学用FORTRAN语言编写的,1984年由美国MathWorks公司正式推向市场.
它是一种数值计算环境和编程语言,主要包括MATLAB和Simulink两大部分.
MATLAB基于矩阵(Matrix)运算,它的一大特性是有众多的面向具体应用的工具箱和仿真块,包含了完整的函数集用来对图像信号处理、控制系统设计、神经网络等特殊应用进行分析和设计.
它具有数据采集、报告生成和MATLAB语言编程产生独立C/C++代码等功能,它的开放式的结构使MATLAB产品很容易针对特定的需求进行扩充.
到20世纪90年代,MATLAB已成为国际控制界的标准计算软件.
2.
PCB设计软件PCB设计软件种类很多,例如Protel、OrCAD、Viewlogic、PowerPCB、CadencePSD、MentorGraphices公司的ExpeditionPCB、ZukenCadStart、PCBStudio、TANGO、Winboard/Windraft/Ivex-SPICE、PCBWizard(与LiveWire配套)、ultiBOARD7(与multiSIM2001配套)等.
下面以广泛使用的Protel为例对PCB软件做简单介绍.
20世纪80年代美国ACCELTechnologiesInc推出了第一个应用于电子线路设计软件包—TANGO,开创了电子设计自动化(EDA)的先河.
此后作为TANGO的升级版本,由1985年在澳大利亚成立的Altium公司(2001年以前称为Protel)发布了世界上第一个基于Windows的电子设计系统Protel,由于它较早在国内使用,普及率最高,因此是国内PCB设计者的首选软件.
Protel的诞生与发展经过了ProtelPCB,Protel98和99,ProtelDXP2002和2004,AltiumDesigner6,AltiumDesignerSummer08和AltiumDesignerWinter09.
早期的Protel主要作为印刷板自动布线工具使用,而现在它已经是个完整的全方位电路设计系统,包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印·19·刷电路板设计(包含自动布局布线)、可编程逻辑器件设计、图表生成、电路表格生成、支持宏操作等功能,并具有客户/服务(Client/Server)体系结构,同时还兼容一些其他设计软件的文件格式,如OrCAD、PSPICE、EXCEL等.
此外,它还具有电路仿真功能和PLD开发功能,界面友好,使用方便.
3.
IC设计软件目前IC设计工具按市场所占份额排行主要为Cadence、MentorGraphics和Synopsys,它们都是ASIC设计领域著名的软件供应商.
下面按照用途对IC设计软件作简要的介绍.
设计输入工具是任何一种EDA软件必备的基本功能,例如Cadence的composer、viewlogic的viewdraw、硬件描述语言(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,VHDL)、VerilogHDL都是主要的设计语言,许多设计输入工具都支持HDL(例如multiSIM等).
另外像Active-HDL和其他的设计输入方法,包括原理和状态机输入方法,设计FPGA/CPLD的工具等都可以作为IC设计的输入手段,如Xilinx、Altera等公司提供的开发工具ModelsimFPGA等.
设计仿真工具用来验证设计是否正确,几乎每个公司的EDA产品都有仿真工具,例如Verilog-XL、NC-Verilog用于Verilog仿真,Leapfrog用于VHDL仿真,AnalogArtist用于模拟电路仿真.
其中Viewlogic的仿真器有:viewsim门级电路仿真器、speedwaveVHDL仿真器、VCS-Verilog仿真器.
另外,MentorGraphics的子公司ModelTech出品的VHDL和Verilog双仿真器为ModelSim.
Cadence、Synopsys用的是VSS(VHDL仿真器)等.
发展的趋势是逐渐都用HDL仿真器作为电路验证的工具.
除了这些主要针对数字电路的仿真器,对于模拟电路的仿真工具还是普遍使用SPICE,如MicroSim的PSPICE、MetaSoft的HSPICE等.
其中HSPICE作为IC设计软件,其模型多,仿真的精度也高.
综合工具可以把HDL变成门级的网表(Netlist),在这方面Synopsys工具占有较大的优势.
它的DesignCompile是作为一个综合的工业标准,它的另外一个产品BehaviorCompiler可以提供更高级的综合.
随着FPGA设计的规模越来越大,各EDA公司又开发了用于FPGA设计的综合软件,比较有名的有:Synopsys公司的FPGAExpress、Cadence公司的Synplity、Mentor公司的Leonardo等.
在IC设计的工具中,Cadence软件布局和布线功能是比较强的.
它有很多产品用于标准单元,门阵列已可实现交互布线.
最有名的是原来用于PCB布线,后来用作IC布线的Cadencespectra.
其主要工具有:Cell3、SiliconEnsemble(标准单元布线器)、GateEnsemble(门阵列布线器)、DesignPlanner(布局工具)等.
另外,其他各EDA软件开发公司也提供各自的布局布线工具.
物理验证工具包括版图设计工具、版图验证工具、版图提取工具等.
Cadence在这方面也是很强的,它的Dracula、Virtuso、Vampire等物理验证工具被广泛使用.
1.
3.
2PLD的设计工具目前PLD主要有CPLD和FPGA两大类型,它们的基本设计方法是借助于EDA软件,用原理图、状态机、布尔表达式、硬件描述语言等方法,生成相应的目标文件,最后用编程器或下载电缆对目标器件编程实现.
最主要的PLD厂家为Altera、Xilinx和Lattice公司,·20·其中Altera和Xilinx公司提供了全球60%以上的PLD产品.
总的来说,在欧洲用Xilinx的人多,在日本和亚太地区用Altera的人多,而在美国则是平分秋色.
Intel和TI等著名的半导体公司拥有资产巨大的工厂生产线资源,而像Altera和Xilinx公司这样的全球主要的PLD生产商都是无工厂生产模式的半导体设计公司,它们把除产品设计、营销和技术支持以外的所有工作均外包出去.
PLD的开发工具一般由器件供应厂商提供,但是随着器件规模的不断增加,软件的复杂性也随之提高.
仅靠器件供应厂商提供的开发工具在设计大型复杂系统时已经力不从心,还要借助第三方的软件,目前业界倾向由专门的EDA软件公司与器件厂家联合推出功能强大的设计软件.
Altera公司于1983年成立,总部在美国加州.
1984年推出世界上第一个易抹除可编程逻辑器件EP300系列,成为世界上第一个PLD器件供应商.
主要产品包括:CPLD器件有MAX3000/7000/9000、MAXⅡ;FPGA器件有FELX6K/10K、APEX20K、ACEX1K、Cyclone、Stratix等系列.
其开发工具MAX+PLUSⅡ是较成功的PLD开发平台,之后又推出了QuartusⅡ开发软件.
Altera公司提供形式较多的设计输入手段,绑定第三方VHDL综合工具,如综合软件FPGAExpress、LeonardSpectrum、仿真软件ModelSim等.
Xilinx公司成立于1984年,总部也设在美国加州.
1985年推出世界上第一个FPGA器件XC2064.
产品主要包括:CPLD器件有XC9500/5200/4000/3000、CoolRunner(XPLA3);FPGA器件有Spartan、Vertex等系列.
开发软件为Foundation和ISE等.
Lattice-Vantis成立于1983年,总部设在美国俄勒冈州.
1999年收购AMD的子公司Vantis,2001年收购Lucent微电子的FPGA部门,成为世界第三大可编程逻辑器件供应商.
1991年Lattice发明了第一个在系统可编程(ISP)PLD,ISP技术极大地促进了PLD产品的发展,1999年推出了可编程模拟器件.
与Altera和Xilinx相比,Lattice的中小规模PLD比较有特色,大规模PLD的竞争力还不够强.
主要产品包括:CPLD器件有ispLSI2000/5000/8000、ispMACH4/5;FPGA器件有LatticeXP、LatticeECP、LatticeSC等系列.
开发工具是ispDesignExpert/ispEXPERT、ispLEVER等,其开发工具比Altera和Xilinx略逊一筹.
1.
3.
3层次化设计与VHDL的应用EDA已经逐渐成为电子系统的主要设计手段,尤其是采用可编程器件和软件仿真模拟方法的使用,给传统的电路设计方法带来了重大的变革.
其中模拟硬件电路在实际工作时的时序关系是相当重要的,因为通过仿真模拟波形时就可以发现系统设计上的错误,这样,即使是在电路板生产调试时又发现错误,也不必改变电路板连线,而只要对内部的软件设计进行改进,就可以方便地修改设计方案.
一般来说,EDA解决方案是一种采用计算机自顶向下的分层次设计方式,这里的"顶"指的是设计系统树的根节点.
设计者按照数字系统的功能描述,把系统划分为若干个功能模块,再把每个模块划分为不同的层次,由高层次到低层次逐步细化.
在底层设计时对逻辑进行必要的描述,并依赖特定的软件执行逻辑优化(LogicOptimization)与器件映射(DeviceMapping).
自顶向下的设计特点是每一层次划分时都要对某些目标进行优化,这些目标包括工作速度、芯片面积、芯片功耗以及芯片的成本等.
最后再使用由各芯片生产厂商提供的编译器执行布线(Route)和网表优化(NetlistOptimization).
如果直接·21·采用原始逻辑图或者布尔方程输入进行电路设计,虽然对于简单的逻辑可以获得非常有效的结果,但是对于复杂的系统设计就很容易产生错误.
因此,必须依靠一种高层的逻辑输入方式,能够把复杂的电路设计用形象化的语言方式表示出来,这样就产生了硬件描述语言(HDL).
所谓硬件描述语言,是用高级语言的方式来描述所对应的具体的硬件设计,用硬件描述语言编程来表示逻辑器件及系统硬件的功能和行为,例如:可以描述硬件电路的功能、信号连接关系以及时序关系等,这种描述方法比电路原理图更能有效地表示电路的特征.
硬件描述语言有HDL、AHDL、Verilog和VHDL等,目前通用的是Verilog和VHDL,其中符合IEEESTD1076标准的VHDL的应用已成为EDA解决方案的首选,更是整个电子逻辑系统设计的核心.
本书将以VHDL为例来讲述.
VHDL语言源于美国政府于1980年开始启动的超高速集成电路(VeryHighSpeedIntegratedCircuits,VHSIC)计划.
在这一计划的执行过程中,专家们认识到需要有一种标准的语言来描述集成电路的结构和功能.
这样VHSIC的硬件描述语言(VHDL)便诞生了,并很快被美国电气和电子工程师协会(InstituteofElectricalandElectronicsEngineers,IEEE)所承认,在1987年成为ANSI/IEEE的标准(IEEESTD1076—1987),1993年又进一步修订,变得更加完备,成为ANSI/IEEE的ANSI/IEEESTD1076—1993标准.
目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准.
VHDL语言作为高级硬件行为描述型语言,是为了满足逻辑设计过程中的各种需求而设计的,是一种用来描述数字逻辑系统的"编程语言",它具有如下几个优点.
(1)VHDL可以用来描述逻辑设计的结构,例如:逻辑设计中有多少个子逻辑,以及这些子逻辑又是如何连接的.
除此之外,VHDL并不十分关心一个具体逻辑依靠何种方式实现,而是把开发者的精力集中到逻辑所实现的功能上.
(2)VHDL具有更强的行为描述能力,可以避开具体的器件结构,为从逻辑行为上描述和设计大规模电子系统提供了重要保证.
VHDL采用类似高级语言的语句格式来完成对硬件行为的描述,这也是我们把VHDL称为"编程语言"的原因.
VHDL淡化状态机、与或表达式等早一代硬件描述语言中的元素,用更类似于软件的高级语言的表达式取代.
(3)VHDL有丰富的仿真语句和库函数,对于任何大的系统设计,在早期就能查验出该系统功能的可行性和正确性,随时可对设计方案进行仿真模拟并修改,为设计工作提供了最大的空间.
调试的过程是相当灵活的.
一方面可以使用传统的调试方法,采用传统的波形激励或编写测试向量;另一方面,可以使用一些VHDL源码调试器,这类调试器可以大大加快VHDL程序调试的速度.
因为它可以像调试软件一样地单步跟踪调试每一条语句,并且可以设置断点,观察内部变量等,这些功能是传统的调试仿真方法所不具备的.
这种调试器有Active-HDL等,它们都拥有高效率的生成代码,能够节省大量的资源,用户甚至不必编写任何测试向量便可以进行源代码级的调试.
而且,设计者可以非常方便地比较各种方案之间的可行性及其优劣,而不需做任何实际的电路实验.
鉴于VHDL具有以上诸多优点,只要开发者具备一定的高级语言程序设计基础,例如会用C++或其他语言进行计算机编程,同时又了解一些基本数字电路知识,学习VHDL程序设计是比较容易的.
VHDL在语言形式、描述风格以及句法等方面都十分类似于软件的·22·计算机高级语言,但是在使用时要注意所描述对象的不同.
表1.
1简要地列出了学习VHDL与C++的不同之处.
表1.
1VHDL与C++的对比VHDLC++编程描述的是具体硬件编写软件考虑硬件具体行为考虑程序执行流程综合结果为基本硬件单元间的连接关系编译结果为可执行机器码考虑程序是否可综合正确代码均可编译考虑时序、同步、尖峰等没有幕后的种种危险另外,在应用VHDL时还应该注意,除了靠编写VHDL程序简化逻辑之外,还需要选择合理的综合工具HDLsynthesis,不同公司的HDLsynthesis所支持的语法并不相同,而且生成的代码效率也不同.
经实验比对,相同的程序经过不同的编译器编译,芯片资源的消耗相差竟高达10%.
现在即使是硬件设计也在逐步向软件化发展,这些都离不开VHDL(或Verilog).
利用EDA工具与硬件描述语言(VHDL或Verilog),根据产品的特定要求设计性能价格比高的片上系统(SoC),是目前国际上广泛使用的方法.
由于知识产权和专利保护问题,目前国际上尚无统一的集成化开发软件来适用于不同公司的芯片完成从逻辑输入到下载所需的全部工作,这也给VHDL在EDA解决方案中的广泛应用带来了一定的困难.
但是总的来讲,目前各厂商均遵循兼容VHDL的ANSI/IEEE标准,并互相提供良好的软件接口,在某种程度上可以缓解该矛盾.
1.
4PLD与微机接口电路的实验平台EDA促进了电子系统设计方法的进步,在计算机技术的推广应用与工程中越来越多地采用可编程器件,并已经渗透到机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域.
为了培养这方面的人才,几乎所有理工科(特别是电子信息)类的高校都开设了微型计算机和EDA方面的课程.
对于这类课程,在理论学习的同时,适时开设有利于培养学生的动手能力和创新能力、与当前技术发展紧密结合的实验课程尤为重要.
为此,除了要有高质量的实验辅助教材外,还必须有先进的便于教学的实验平台.
1.
4.
1FPGA的实验平台XUPV2P是Xilinx公司基于Virtex-ⅡPro系列XC2VP30FPGA的开发系统,也是Xilinx实施的全球大学计划所采用的板卡,如图1.
6所示.
由于它是专门为教育机构和领先的学术机构设计的,因而它选择了众多的创新特性,支持从大学本科生到研究生的有关数字逻辑课程和工程研究项目,设计者可以利用EDK的BaseSystemBuilder通过各种开发板特性迅速构建系统.
例如美国加州大学Berkeley分校电气工程与计算机科学系(EECS)的RADLab(ReliableAdaptiveDistributedSystemsLaboratory)在2006年初的·23·InternetinaBox项目中,就利用3块XUPV2P板组成了一个12个节点的IIAB小型集群机,其中每块板的一个FPGA中构造了4个32b的XilinxMicroBlaze处理器,并通过TCP/IP点对点的网络连接各处理器.
为了提高多核处理器的性能,在后来升级的V0.
1版中又将处理器改为Leon3(SPARCv8).
该项目的资料参见http://radlab.
cs.
berkeley.
edu/wiki/InternetInABox.
图1.
6XUPV2P大学计划开发板XUPV2P的系统框图参见图1.
7.
其主要特性如下.
FPGA内含有2个IBMPowerPC硬核RISC(ReducedInstructionSetComputer)处理器;30816个逻辑单元(LogicCell,LC),每个LC是由1个4输入LUT和1个触发器以及进位逻辑组成;136个18b的乘法器模块;2448Kb的RAM模块;8个速率在千兆以上(Multi-Gigabit,MG)的收发器.
为了扩展应用,利用FPGA的4个MG收发器在板上连接了3个SATA标准高速串口,以及1个由用户提供的超小型的接口;FPGA的80个I/O引脚引出到板上的4个由用户自行安装的60引脚的双排插槽上,以及2个安装好的40引脚肘状插头连接器(Rightangleconnector),其中一个规划为高速扩展连接端口;另一个分成2个各20引脚的端口,用于低速扩展连接端口.
·24·图1.
7XUPV2P开发系统的框图板上用户GPIO(GeneralPurposeI/O)提供4只双列直插(DualIn-linePackage,DIP)开关和5个按键,以及4个发光二极管(LightEmittingDiode,LED)灯的连接.
FPGA提供3种配置方式:USB2.
0接口、板上Flash存储器、由系统ACE(AdvancedConfigurationEnvironment)控制器芯片管理的Flash插卡.
其中Flash插卡除了完成配置FPGA外,还可以作为数据的外存储器.
板上DDR1的SDRAMDIMM插槽可以支持2GB的容量.
它还具有丰富的计算机外设接口,例如PS/2接口、RS232串行接口、10M/100M以太网的物理接口(由FPGA完成MAC)、AC97标准编解码器的立体声音频接口和XSGA标准(像素时钟180MHz,屏幕分辨率最高1600*1200、刷新率70Hz)的视频接口.
最近,Xilinx公司推出了采用更大规模FPGA芯片Virtex-5XC5VLX110T的开发系统,提供的可用资源更加丰富了,但价格也昂贵.
1.
4.
2基于PLD的微机接口实验平台前述的XUPV2P平台虽然提供了强大的实验资源,但是也存在不适应以PC为经典的微机技术及其应用的教学的问题,例如它与PC的系统总线没有联系,因此对于总线上的地址译码、中断、I/O操作、DMA、内存读写,以及基于PC的外设接口等不能提供实验环境.
它比较适合本身具有CPU的嵌入式系统及其应用的教学.
如图1.
8所示的平台是我们自主开发的在PC环境下兼顾CPLD和FPGA学习的TU-F/C微机接口电路教学实验平台.
TU-F/C微机接口电路教学实验平台的系统框图参见图1.
9,主要特性如下.
·25·图1.
8TU-F/C微机接口电路教学实验平台图1.
9TU-F/C教学实验平台的系统框图板上的可编程器件安排有2片CPLD,选用Altera公司的EPM7128SIC84-15;以及1片FPGA,选用Altera公司的ACEX1K100QC208-3,参见图1.
10.
为了维修时替换方便,2片CPLD采用可插拔的管座,而且每片芯片的电源都用跳线插头控制,这样可以控制接入系统的CPLD的数量.
FPGA则采用可插拔的模块板的插座,这是因为FPGA规模较大,大多采用直接焊接的封装,既便于维修替换,也便于用模板方式扩展新的接口电路,例如USB和网络等.
平台有丰富的接口,用于打印机的并口、RS232串口、PS/2的鼠标和键盘接口、VGA显示接口,还有光驱和硬盘的IDE接口等.
另外,板上还提供A/D和D/A以及2K*8静态存储器,可以作语音等模拟信号的采样以及数字音频经D/A和放大器输出到喇叭.
板上有16个拨动开关可以作为二进制的输入,4个按键分别独立提供2个正极性与2个负极性的单脉冲.
16个LED灯和2个3位的数码管可以提供数码输出显示.
板内有20MHz和10MHz的晶体振荡器各一个,负责提供系统的时钟.
TU-F/C微机接口电路教学实验平台通过50线扁平电缆与PC的内置ISA精简总线驱动板卡连接,它是一块PCI板卡,负责PCI总线与经过精简的ISA总线的信号转换.
·26·(a)FPGA芯片(b)CPLD芯片图1.
10实验用的FPGA与CPLD芯片利用TU-F/C平台的微机接口电路教学实验流程可以分成三个部分,如图1.
11所示.
第一部分(学生实验程序Part1)是学习的重点,要求在学习微机接口电路的理论基础上,用VHDL语言设计微机的某个接口电路,同时学习用EDA软件编程来设计硬件电路的基础知识,最后将设计的电路装载到实验平台的目的PLD中.
第二部分(学生实验程序Part2)是对设计好的接口电路进行测试,要用高级语言编写接口应用程序进行测试,检验其接口的功能是否正确,同时也为巩固与加深高级编程语言的学习提供实践的环节.
第三部分(学生实验程序Part3)是可以灵活选择的内容,主要是针对PC的PCI总线知识的学习,理解即插即用总线的枚举过程和地址配置空间等.
图1.
11中连接的外设都是我们在该实验平台上成功实现过的实验项目,本书中给出了一些实例.
在实现了单个接口的实验后,可以将几个单项综合成实用的系统实验,例如将PS/2接口实验的鼠标与键盘、VGA显示接口和D/A的音频输出结合在一起,通过编写游戏程序实现简单的有背景音乐的屏幕动画电子游戏等.
图1.
11TU-F/C微机接口电路教学实验的流程·27·习题与思考题1.
1习惯上认为多位数据并行的总线比只有一位数据线的串行总线传输的速度高,为什么现代的总线结构反而趋向采用串行总线1.
2PC的芯片组中南北桥芯片各负责哪些系统功能同一档次的AMD和Intel的CPU能适用同一组芯片组吗1.
3PC的ISA总线是以什么信号来区分地址总线上的地址是内存地址还是I/O设备地址的如果只用A9~A0译码作为外设地址,在PC的内存读写和DMA操作时有可能选中外设吗1.
4CPLD与FPGA在实现组合逻辑功能时的电路原理与实现方法相同吗1.
5比较CPLD与FPGA在实现时序逻辑方面的优缺点.
1.
6了解FPGA的配置方式和注意事项.

tmhhost(100元/季)自带windows系统,香港(三网)cn2 gia、日本cn2、韩国cn2、美国(三网)cn2 gia、美国cn2gia200G高防

tmhhost可谓是相当熟悉国内网络情况(资质方面:ISP\ICP\工商齐备),专业售卖海外高端优质线路的云服务器和独立服务器,包括了:香港的三网cn2 gia、日本 cn2、日本软银云服务器、韩国CN2、美国三网cn2 gia 云服务器、美国 cn2 gia +200G高防的。另外还有国内云服务器:镇江BGP 大连BGP数据盘和系统盘分开,自带windows系统,支持支付宝付款和微信,简直就是专...

IMIDC彩虹数据:日本站群多ip服务器促销;30Mbps带宽直连不限流量,$88/月

imidc怎么样?imidc彩虹数据或彩虹网络现在促销旗下日本多IP站群独立服务器,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制月流量!IMIDC又名为彩虹数据,rainbow cloud,香港本土运营商,全线产品都是商家自营的,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非...

RackNerd($199/月),5IP,1x256G SSD+2x3THDD

我们先普及一下常识吧,每年9月的第一个星期一是美国劳工节。于是,有一些服务商会基于这些节日推出吸引用户的促销活动,比如RackNerd有推出四款洛杉矶和犹他州独立服务器,1G带宽、5个独立IP地址,可以配置Windows和Linux系统,如果有需要独立服务器的可以看看。第一、劳工节促销套餐这里有提供2个套餐。两个方案是选择犹他州的,有2个方案是可以选择洛杉矶机房的。CPU内存SSD硬盘配置流量价格...

企业服务器为你推荐
印章制作如何做公章最新qq空间代码qq空间都是有哪些免费代码!(要全部)ps抠图技巧ps的抠图技巧是什么ps抠图技巧photoshop最基本的抠图方法和技巧!中小企业信息化小企业需要信息化吗?需要的话要怎么实现信息化呢?腾讯文章为什么最近腾讯网的文章评论都看不到xp系统停止服务xp系统停止服务怎么办人人逛街人人都喜欢逛街吗idc前线钢铁雄心2修改器云挂机云挂机每天2+元你提了吗?
注册cn域名 荣耀欧洲 国外idc mediafire下载工具 512m 服务器日志分析 realvnc mysql主机 服务器架设 一元域名 国外网站代理服务器 权嘉云 空间出租 jsp空间 200g硬盘 独立主机 摩尔庄园注册 重庆服务器 双11促销 电信主机托管 更多