




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑基于CPLD的通用PCI扩展总线桥设计-设计应用基于CPLD的通用PCI扩展总线桥设计西安电子科技大学电子工程学院汪安东引言
随着微处理机性能的迅速提高以及多媒体技术和高速网络的不断发展,人们对微机系统的I/O带宽提出了越来越高的要求,计算机的标准总线也从ISA、EISA和MC逐渐过渡到PCI总线。由于PCI总线具有诸多优点,如支持64位数据传送,多总线主控和线性突发方式(Burst)和高达132Mb/s数据传输率,使得人们更倾向于用PCI总线的处理芯片来构造系统机、工作站、外围设备及板卡。于是,一些旧的I/O设备和存储器由于不支持PCI总线而面临着被淘汰的地步,为了实现连接PCI总线和这些I/O设备、存储器的连接,可以设计一个PCI扩展总线桥,通过桥电路,接出一条标准的I/O扩展总线,如ISA、EISA或MCA总线,从而可继续使用现有的I/O设备,以增加PCI总线的兼容性和选择范围。
开发PCI总线接口电路,通常有两种途径。一种是使用专用接口芯片,如美国AMCC公司生产的PCI协议控制芯片S5920、S5933或PLX公司的PCI905X系列芯片等,另一种则是利用可编程逻辑器件(PLD)来实现PCI总线接口功能。采用专用芯片,可以比较容易的实现PCI接口,可以让开发者避开复杂的PCI总线协议,减少工作量,降低设计难度,缩短开发周期。但是,使用PCI专用芯片也存在一些问题:价格太高,功能太全,开发者一般只用了其中的一部分,既造成了资源浪费又不经济;并且它的接口固定,使用起来不太灵活。而应用可编程逻辑器件进行PCI接口,能够较灵活的实现所需要的功能。由于PCI扩展总线桥的后端用户逻辑时序较简单,主要是要设计PCI总线的接口电路,所以设计选用Altera公司的CPLD器件EPM3512,该芯片是该公司生产的MAX3000系列器件中的一种,它有512个宏单元,10000个可用门,用户I/O脚为188个,频率可达176MHz,封装为208脚PQFP形式。
PCI扩展总线桥逻辑设计
PCI扩展总线桥的设计包括前端的PCI总线接口设计和后端的用户逻辑设计。PCI总线是一个地址/数据、命令/字节选择信号复用的总线,它采用主从信号双向握手的方式来控制数据的传输。在一个典型的PCI总线系统结构中,PCI扩展总线桥可定义为一个从设备,根据PCI总线协议,这时PCI接口信号线至少为47条。设计中的用户逻辑是为桥后端的设备产生正常工作所需的触发信号、地址选通信号以及进行数据传输,这一部分实质是将一些常规电路,如时基电路、触发电路和地址选通电路等,用硬件描述语言编程来实现,这部分实现起来很容易,相应的接口部分逻辑图1所示。
根据逻辑图,设计的PCI接口模块应该包括以下部分:
1)存及数据分离、命令锁存及字节选择信号分离电路。这两部分电路比较简单,很容易实现。
2)地址产生电路。PCI的突发传输方式包括一个地址周期和若干个数据周期,因此在PCI接口中必须包含高速的地址产生部件用于向后级电路提供连续的地址。
3)地址译码及命令译码,这一部分与传统总线设计相同。
4)控制信号交互电路。PCI总线上的数据传输基本上由四根信号线控制。Frame#表示对话的开始和结束,它同时受主设备和从设备控制,IRDY#和TRDY#分别表示主、从设备准备好;DE-VSEL#由从设备发出,表示从设备将响应此次传输,所有的控制信号必须对齐时钟上升沿。这部分电路没有固定的模式,通常由具体应用环境决定其逻辑,一般至少要接收地址译码信号及外部传来的表示传送结束的信号(如BUSY、HOLD和STOP之类)来完成整个交互过程。
5)配置寄存器。按照PCI协议,PCI设备至少应当实现厂商标记、设备识别和命令状态字等配置数据,这些可以用RAM来实现。
PCI扩展总线桥的实现
上面设计的PCI扩展总线桥的接口逻辑终要在CPLD中来实现。在进行PCI总线接口设计中,使用Altera公司的QuartusII2.0作为开发平台。由于PCI协议的时序逻辑比较复杂,因此,对CPLD的设计全部采用VerilogHDL语言作为设计输入。整个设计由一个顶层模块和六个底层模块组成(图2)。
1)顶层模块:该模块包含了整个设计的输入/输出信号和底层设计模块的定义。
2)浆糊逻辑模块:该模块包含了设计中的各种混杂逻辑,包括PCI地址寄存器,命令/字节使能寄存器和配置读/写使能寄存器,在每次PCI传输的地址有效期内触发这些寄存器。
3)配置寄存器模块:该模块实现PCI配置寄存器的配置和读写功能。根据PCI协议,每个PCI设备都有256字节的配置空间,配置空间中存放的是与本设备有关的信息,它首先用来向总线仲裁器表明本设备的存在,其次向总线仲裁器表明本设备要完成的功能,映射到内存或I/O空间以及所占的地址范围,支持哪些总线访问命令等,。在实际实现时,考虑到总线扩展桥的具体要求,设计中只配置了以下与设计相关的一些寄存器。
a)配置空间地址为00h的DeviceIDandVendorID寄存器。
b)配置空间地址为04h的StatusandCommand寄存器。设计中DEVSEL信号响应时间设为slow,存储器空间和I/O空间使能设为可写。
c)配置空间地址为08h的ClassCodeandRevisionID寄存器。ClassCode设为ISA桥,定义为060100h。
d)配置空间地址为10h的I/O空间基址寄存器。基址设为可写。
e)配置空间地址为14h的存储器空间基址寄存器。基址设为可写。
f)配置空间地址为2Ch的SubsystemIDandSubsystemVendorID寄存器。
g)配置空间地址为3Ch的Max_Lat,Min_Gnt,InterruptPinandInterruptLine寄存器。其中,Max_Lat,Min_Gnt寄存器设为0000h,InterruptPin寄存器设计为01h,表示只使用一个中断引脚,InterruptLine寄存器设为可写。
4)基址检查模块:该模块根据基址寄存器中的地址来校对当前操作的地址线上地址。
5)状态机模块:该模块是整个设计的,它控制整个总线周期的时序。在每PCI操作的地址期内,根据PCI接口的命令/字节使能信号C/BE[3::0]和配置读/写选通信号IDSEL,状态机都会从空闲状态转移到三个可能的状态,即配置空间读/写、存储器与I/O空间读或存储器与I/O空间写。
a)在设计中,配置空间的访问设为0类配置访问,只有当地址期内AD信号的0位和1位都为0(PCI_AD[1,0]==00b)时,才响应访问。在配置读/写操作时,AD信号的2位到7位(PCI_AD[7:2])决定操作对应的寄存器。当访问未实现的寄存器时,读操作时返回的值为00000000h,写操作时也会响应,但不能写进任何值。
b)在存储器与I/O空间读操作时,存储器读操作支持突发传输,而I/O读操作不支持突发传输,只支持传输。在典型的读操作中,当地址与基址寄存器中的值相匹配时,通过信号通知桥后端设备准备传输,在得到后端设备的确认信号后,开始读个双字,如果传输突发传输时,接着读第二个双字。一旦主设备开始突发传输,如果桥后端的设备中止突发传输,后端设备必须提前两个数据段通知状态机结束突发读周期。
c)与存储器与I/O空间读操作相类似,在存储器与I/O空间写操作时,存储器写操作支持突发传输,而I/O写操作不支持突发传输,只支持传输。在典型的写操作中,当地址与基址寄存器中的值相匹配时,通过信号通知桥后端设备准备传输,在得到后端设备的确认信号后,发出TRDY信号,如果此时IRDY信号有效,便开始写操作。如果传输是突发传输时,接着写第二个双字。一旦主设备开始突发传输,如果桥后端的设备中止突发传输,后端设备必须提前两个数据段通知状态机结束突发写周期。6)奇偶校验模块:该模块实现在配置读周期和存储器或I/O读周期时产生奇偶校验。
7)重试计数模块:当桥后端设备发生"时间溢出"时,该模块实现一个计数器来通知状态机。如果状态机确认了读或写操作,在发出DEVSEL信号有效后,必须在随后的16个时钟周期内发出或接收到数据。如果状态机确认了读或写操作后,桥后端的设备在12个时钟周期内没有发出准备好信号,此时将开始数据重试。数据重试只能在个数据段未传输前有效,一旦桥后端的设备确认了操作,状态机必须开始发出或接收所需的数据。
PCI扩展总线桥的时序仿真
完成PCI扩展总线桥的逻辑实现后,设计仿真矢量,QuartusII2.0平台上进行设计的时序仿真,下面是仿真后的时序图,限于篇幅,这里只给出部分仿真时序图见图,3、4、5、6,由仿真后的PCI操作时序图,可以看出整个设计的时序符合PCI协议的要求。
1)对配置空间的读写操作时序(地址为04h的StatusandCommand寄存器)
2)对I/O空间的写操作(地址为FFF0000h)
3)对存储器空间的突发读操作时序(启始地址为FFF0000h)
结束语
PCI总线协议抽象性很强,且时序逻辑复杂,不利于直接进行硬件设计,而使用VerilogHDL等硬件描述语言则是非常合适的,并且现在的逻辑综合工具的功能越来越强大,可以极快地进行电路设计,使设计者可以在顶层对电路进行设计和规划而无需费心于电路细节。利用CPLD进行PCI扩展总线桥设计时,关键是要搞清楚时序状态机是如何实现总线访问操作的,希望本文能对从事这方面工作的同行有些参考价值。
参考文献:
[1].CPLDdatasheet/d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据库的数据操作试题及答案研究
- 船舶修理项目风险管理与防范考核试卷
- 碳素材料在精密加工工具中的性能考核试卷
- 公路工程专业发展制度试题及答案
- 培训机构班课管理制度
- 外勤巡夜人员管理制度
- 北京餐饮垃圾管理制度
- 化妆培训学生管理制度
- 农贸市场计量管理制度
- 理解大数据环境下数据库架构的演变试题及答案
- 中国特色社会主义政治经济学知到课后答案智慧树章节测试答案2025年春内蒙古财经大学
- 腾讯会议技能培训
- 职级晋升考试试题及答案
- 校团委招新笔试题及答案
- 《你好春天》幼儿园班本课程课件
- GB/T 20972.3-2025石油天然气工业油气开采中用于含硫化氢环境的材料第3部分:抗开裂耐蚀合金和其他合金
- 快拼箱施工方案
- 医院科室文化创新与品牌建设课件
- 直流系统培训课件
- 【高考真题(含答案)】安徽省新高考2024年化学试卷(含答案)
- 顶层钢结构合同
评论
0/150
提交评论