您的位置 首页 IC

根据AHDL语言和CPLD技能完成PCI总线板卡的规划开发

基于AHDL语言和CPLD技术实现PCI总线板卡的设计开发-PLD(可编程逻辑器件)以其操作灵活、使用方便、开发迅速、投资风险低的特点,很快发展起来,并越来越受人们的瞩目。PLD是可以由用户在工作现场编程的逻辑器件,它从简单的PAL、GAL,已发展到CPLD、EPLD、FPGA和FLEX系列。他们都具有体系结构和逻辑单元灵活、集成度高以及适用范围广等特点。

PLD(可编程逻辑器材)以其操作灵敏、运用便利、开发敏捷、出资危险低的特色,很快发展起来,并越来越受人们的注目。PLD是能够由用户在作业现场编程的逻辑器材,它从简略的PAL、GAL,已发展到CPLD、EPLD、FPGA和FLEX系列。他们都具有体系结构和逻辑单元灵敏、集成度高以及适用范围广等特色。

同以往的PAL、GAL等相比较,FPGA/CPLD的规划比较大,适合于时序、组合等逻辑电路等场合运用。可编程逻辑器材易学、易用,简化了体系规划,缩小了体系规划,进步了体系的可靠性。一个器材的可用门已达数万门,引脚间延时仅几ns,并且仍在朝着高密度、高速度的方向敏捷发展。

计算机总线是计算机各部件之间进行信息传输的公共通道。在当今的微型机中首要选用的是PCI总线,ISA、EISA总线正逐渐被筛选。所以对硬件规划人员来说,把握PCI总线板卡的开发技能是非常重要的。板卡的规划办法一般有这么几种:一是做ASIC,开发周期长;另一种是在专用接口芯片下开发,但运用不是很灵敏,体系规划大;现在最新的办法是用PLD来开发规划。

在进行CPLD设计时,运用的软件是Altera的MAX+PLUSII。Altera的MAX+PLUSII开发体系是一个彻底集成化、易学易用的、与结构无关的可编程逻辑规划环境,它使通用系列规划者能便利的进行规划输入、快速处理和器材编程,运用此软件的规划办法是很灵敏的,能够选用硬件描绘言语(PLD)、电路图,乃至是时序图。依据不同的状况能够选用不同的办法,在一个规划中也能够选用多种办法。下面以一个简略的PCI从设备规划为例,阐明规划思维与进程。

在本例中,规划的PCI卡作为从设备运用,能够完成即插即用功用,卡上有1MB的存储器可供运用。在PCI即插即用板卡的规划中,中心规划有两部分:时序操控和装备空间。时序操控确保了板卡能按正常的PCI时序作业,装备空间部分确保了板卡的即插即用功用。

在本例中,这两部分都由AHDL言语来完成的(AHDL言语是Altera公司专门为其芯片规划开发的一种硬件描绘言语)。在时序操控程序中选用状况机模型来完成不一起序的转化,选用这种方法既节约资源,程序也简略易懂。

本例中的状况机共运用了七种状况,别离对应闲暇、存储器读写的判别、装备读写的判别、读、写、过渡周期、总线忙周期的时序。板卡接到复位信号后,对体系进行复位,然后转入闲暇状况。在闲暇状况中采样总线,并依据总线的改变来决议下一个时钟上升沿后,状况机转入何种状况。这些时序和程序中用到的信号都是根本且有必要的。在进行开发时能够依据需要增加必要的状况和信号。程序描绘如下:

subdesignstatesmachine

(clk,rst,frame,ad[31..0],cbe[3..0],idsel,irdy,mem_bar[12..0]:input;

devsel,trdy,cfg_rd,cfg_wr,mem_rd,mem_wr:output;

cfg_addr[5..0],mem_addr[16..0]:output;)

//以上界说了状况机模块的输入输出引脚

VARIABLE

pci_state:MACHINE

WITHSTATES(idle,cmp_cfg,cmp_addr,read,write,turn_ar,bus_busy);

//界说状况机变量,共有七个状况闲暇状况idle,装备空间操作cmp_cfg,比较地址cmp_addr,读状况read,写状况write,过渡周期状况turn_ar,总线忙状况bus_busy。经过状况机的不同状况完成时序的转化,在每个状况中完成不同的时序周期。

BEGIN

初始化:对内部信号和各个输入输出引脚进行初始化,设定它们的衔接联系。

IFrst==b“0”THEN//判别是否复位

完成复位的时序操作。

ELSE

CASEpci_stateIS

WHENidle=》//闲暇状况

在此状况中,每个时钟周期判别frame和idsel信号的改变,一旦发现frame被置为有用,就依据idsel信号判别下一状况转入对装备空间操作的cmp_cfg或是比较地址对存储器操作的cmp_addr

WHENcmp_cfg=》//对装备空间操作的状况

在此状况中依据地址线的低两位判别是否是对装备空间的操作,若不是转入总线忙状况bus_busy;若是则依据cbe的信号是A或B来判别是读仍是写,转入相应的状况read,write。

WHENcmp_addr=》//地址比较状况

在此状况中判别要读写地址的高位与装备空间中分配的地址是否相同,若不同转入总线忙状况bus_busy;若相同则依据cbe的信号是6或7来判别是读仍是写,转入相应的状况read,write。

WHENread=》//读状况

在此状况中,依据cbe的值判别是装备读仍是存储读,然后操控输出信号mem_rd,cfg_rd,trdy,devsel发生相应的读时序,一起在此周期中判别frame,irdy信号,若irdy变低并且frame变高,则读状况完毕,转入turn_ar状况.

WHENwrite=》//写状况

在此状况中,依据cbe的值判别是装备写仍是存储写,然后操控输出信号mem_wr,cfg_wr,trdy,devsel发生相应的写时序,一起在此周期中判别frame,irdy信号,若irdy变低并且frame变高,则写状况完毕,转入turn_ar状况。

WHENturn_ar=》//信号的过渡周期状况

依照PCI的总线标准,S/T/S信号,从有用变为浮空之前有必要确保使其具有至少一个时钟周期的高电平状况,此状况中,将一切的S/T/S信号置为高。

WHENbus_busy=》//总线忙状况

总线不对本卡操作,因此经过对frame信号的判别,来决议何时脱离本状况。

WHENOTHERS=》

若进入此状况,则应依据需要,立刻转入bus_busy或idle

ENDCASE;

ENDIF;

END;

装备空间部分也选用AHDL言语来描绘完成,在装备空间中界说PCI卡的功用、内存空间的分配、以及产品号、ID号等.经过对装备空间的界说,才干确保板卡的即插即用功用.描绘如下:

根据AHDL言语和CPLD技能完成PCI总线板卡的规划开发

根据AHDL言语和CPLD技能完成PCI总线板卡的规划开发

两部分都经过软件生成模块,两模块之间的接口部分,能够很简略的经过电路图的衔接来完成。两个模块图如图。

运用CPLD技能开发PCI板卡有以下长处:

1、开发周期短、本钱低、出资危险小,标准产品无需测验、质量安稳,可实时在线查验。选用CPLD技能规划完成后,能够进行实时的时序仿真。验证改善规划成果,而不需重复的硬件实验。规划经往后写入芯片,经过测验即可投入运用。比运用一些专用的PCI芯片开发要简略,并且省去了其他开发设备,所以本钱也较低。比之ASIC开发的周期则要短的多。

2、运用灵敏便利。因为开发的板卡是直接在总线的根本标准上进行,没有运用一些专用芯片,因此开发更灵敏、自在,遭到的约束更少,整个硬件模块的规划也较小,能够将许多自己的算法与技能和PCI组成在一起,做出技能含量更高的产品。

3、有利于知识产权的维护和软件功能的进步。使用这项技能能够将自己的的算法、技能和一些软件做成硬件固化到卡上,既进步了运转速度,也使盗版者难以仿制。

本文结合一个实例给出了在PCI总线上使用CPLD技能规划各种板卡的规划方案,简略有用,有很高的运用价值。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/338422.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部