版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、简易通用型pci接口的vhdl用设计所构成的cpi接口系统具有简洁、牢靠等优点,是一种行之有效的设计途径。无数技术杂志和网站上,都有不少用cpld设计pci常规传输系统的文章。但用这些办法在mzxplusii、fundition等环境下举行模拟时,其产生的时序往往与pci规范有很大出入。虽然 等公司推出pci核可以挺直用法,但这样的内核占用cpld资源较多,且能适配的器件种类少,同时价格也高,在实际设计应用中有很大的局限性。因此,用法通用型cpld器件设计简易型pci接口有很大的现实意义。在compact接口的cpld设计中,笔者按照pci传输时序来举行状态机构造,并用法 语言举行功能模拟和定
2、时分析,从而达到了预期目的。用该办法设计的cpld-pci接口既可支持pci常规传输,也可支持pci猝发传输,而且在系统编程和下载器件方面,效果也都很好。1 典型的cpld-pci接口模型简介用cpld作pci接口所构成的系统模型1所示。这里,cpld/用于完成pci主/从传输时序的规律构成与变换,并对双口ram举行适当操作。在囫囵系统的设计中,cpld经常用法pci总线的33mhz时钟,双口ram经常选用高速器件来简化pci传输的规律设计。2 pci总线传输时序分析pci总线传输起码需要40多条信号线,包括数据/地址线、接口控制线、仲裁、总线指令及系统线等。每次数据传输均由一个地址脉冲和一个
3、或几个数据脉冲组成。一次传输一个地址和一个数据的称为常规传输;一次传输一个地址和一批数据的称为猝发传输。常用的控制信号有:帧同步信号frame、主设备预备好信号 irdy、从设备预备好信号trdy、从设备选通信号devsel、指令/字节信号c/be等。图2 和图3分离给出了pci单数据段和猝发操作时的读写时序。分析pci总线的传输时序,可以看出,pci总线传输有以下几个显著特点:(1)每次数据传输时首先传出地址和指令字,从设备普通可从地址中确定是不是对本机的拜访,并确定拜访的首地址;而从设备则从指令字中识别该拜访是读操作还是写操作;(2)读写拜访惟独在信号irdy、trdy、devsel都为低
4、状态时才干举行;(3)猝发传输通常需要通过规律来实现地址的自动递加;(4)主从设备中任一方没有预备好,操作中都需要能够引起等待状态插入的活动;(5)系统通常在帧同步信号frame的下降沿诱发数据传输,而在升高沿指明惟独一个数据或只剩下一个数据;(6)读操作比写操作多一个中间预备过程。3 基于cpld的状态机设计3.1 状态机的构造按照对上述时序图的分析,完成一个简易pci总线传输需要设计六个状态:s0s5,其中状态s0标识pci总线空闲时期;状态s1标识地址与总线指令识别阶段;状态s2标识读操作入口的预备阶段;状态s3标识读/写拜访周期;状态s4标识最后一个数据传输阶段;状态s5标识操作中的等
5、待时期。3.2 状态功能确实定各状态所应执行的功能如下:状态s0s2用于对pci总线置高信号trdy和devsel;对双口ram则置高片选信号cs,以使读/写信号处于读状态,此时地址展现三态。此外,在s1态还应依据地址信号来确定是不是对本机的挑选,并识别是不是读或写操作。状态s3s4用于对pci总线置低信号trdy和devsel;对双口ram则产生片选信号cs、读或写信号,同时确定适当的读写拜访地址。状态s5用于对pci总线置低信号trdy和devsel;并且对双口ram置高片选信号cs,以使读/写信号处于读状态,此时地址展现三态。3.3 状态变幻确实定按照对pci总线传输时序的分析,影响各个
6、状态互相转化的因素是:帧同步信号frame、主设备预备好信号irdy、从设备挑选信号cs-map、读识别信号read以及写识别信号write。这里,可用cs-map、read、write来标识状态s1产生的中间识别信号。要注重,在状态s1时要寄存收到的首地址,而在状态s3变幻时要适时举行地址递增。还要注重状态机设计时产生的容错问题,以便在非设计状态下能够无条件回到空闲态s0。因为采纳的是高速双口ram,并且规划分开了ram两侧的写操作区域,因此可以认为:ram是可以随意拜访的。3.4 状态图的规划综上所述便可得出4所示的设计规划图。4 vhdl语言的描述设计时,用法三个进程和几个并行语句可实现
7、囫囵cpld的功能:一个进程用于完成从设备及其读写操作的识别;一个进程用于完成操作地址的猎取与地址的递增;第三个进程完成状 态机的变幻。用几个并行语句完成操作信号的产生时,需要注重,各状态所完成的功能要用并行语句实现,不能再用进程,否则就会引起规律综合的棘手,有时甚至根本不能综合。整 个程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;enttty cpci isport(clk,rst,frame,irdy:in std_logic;ad_high : in std_logic_vect
8、or(31 downto 24);ad_low : in std_logic_vector(12 downto 0);c_be : in std_logic_vector(3 downto 0);trdy,devsel:out std_logic;cs, r_w :out std-logic;addr: out std_logic_vector(12 downto 0);end cpci;architecture behave of cpci issignal addr_map : std_logic_vector(12 downto 0);signal read,write,cs-map:s
9、td_logic;type state_type is(s0,s1,s2,s3,s4,s5);signal state: state_type;beginidentify: process(clk)- -读、写、从设备的识别beginif rising_edge(clk)thenif c_be=x6and ad_high=x50and state=s1hten read = i0 i; - -读write = i1 i;cs_map = i0 i;elsif c_be=x7and ad_high= x50and state=s1 thenread = i1 i; - -写write = i0
10、i;cs_map = i0 i;elsif state=s0 thenread = i1 i;write = i1 i;cs_map = i1 i;end if;end if;end process;addr_count:process (clk) - -操作地址的猎取与地址的递增beginif falling_edge(clk)thenif state=s1 then addr_map =ad-low;elsif state=s3 then addr_map =addr-map+1;end if;end if;end process;- - 操作信号的产生addr = addr-map wh
11、en state=s3orstate=s4else zzzzzzzzzzzzztrdy = i0 i when state=s3orstate=s4orstate=s5else i1 i;devsel = i0 iwhen state=s3orstate=s4orstate=s5else i1 i;cs = i0 iwhen state=s3orstate=s4 else i1 i;r-w =not clk when write= i0 iand (state=s3orstate=s4)else i1 i;state-change:process(clk,rst) - - 状态机的变幻begi
12、nif rst= i0 ithen state = s0;elsif falling-edge(clk)thencase state iswhen s0 = if frame= i1 iand irdy= i1 ithen state = s0;elsif frame= i0 i and irdy= i1 i then state = s1;end if;when s1 = if cs_map= i1 ior (read= i1 iand write = i1 i)then state = s0;elsif irdy= i1 iand read= i0 i then state =s2;els
13、if frame= i0 iand irdy= i0 iand write= i0 ithen state = s3;elsif frame= i1 iand irdy= i0 iand write= i0 ithen state = s4;end if;when s2 = if frame= i1 iand irdy= i1 ithen state = s0;elsif frame= i0 iand irdy= i0 iand read= i0 ithen state = s3;elsif frame= i1 iand irdy= i0 iand read= i0 ithen state =
14、 s4;end if;when s3 = if frame= i1 iand irdy= i1 ithen state = s0;elsif frame= i0 i and irdy= i1 i then state = s5;elsif frame= i1 iand irdy= i0 i then state =s4;elsif frame= i0 i and irdy= i1 i then state = s3;end if;when s4 = elsif frame= i1 iand irdy= i0 ithen state = s4;end if;when s5 = if frame= i1 iand irdy= i1 ithen state = s0;elsif frame= i0 i and irdy= i0 ithen state = s3;elsif frame= i1 iand irdy= i0 i then state =s4;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目五 西方古代服饰之美
- AI助力构建更高效的医疗信息服务体系
- 行政法与行政诉讼法原理与实务
- 2025年江苏广播电视编辑记者、播音员主持人资格考试(广播电视基础知识)模拟试题
- 2025年度四川省综合评标专家库评标专家考试(交通类)训练题及答案
- 2023年上海高中学业水平等级性考试物理试卷真题(含答案详解)
- 2025年四川高考历史真题(纯答案版)
- 彩色包装盒生产技术提升改造项目可行性研究报告模板-拿地立项申报
- 2025-2030年折叠试验仪企业ESG实践与创新战略分析研究报告
- 改锥批发行业商业模式创新分析报告
- GB/T 19405.3-2025表面安装技术第3部分:通孔回流焊用元器件规范的标准方法
- 国家开放大学2025年《机电控制工程基础》形考任务1-4答案
- 新生儿听力筛查技术规范解读
- 客户来电登记表(公司内部)
- 中国超重肥胖医学营养治疗指南2021
- 中华人民共和国民法典知识竞赛题库及答案
- 保安车辆管理培训
- 800t混塔吊装专项方案
- 医院预约平台建设方案
- 北京市丰台区2023-2024学年八年级下学期期末数学试题(无答案)
- PDCA提高卧床患者踝泵运动的执行率
评论
0/150
提交评论