保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

简易通用型PCI接口的VHDL-CPLD设计


的准备阶段;状态S3标识读/写访问周期;状态S4标识最后一个数据传输阶段;状态S5标识操作中的等待时期。
  
  3.2状态功能的确定
  
  各状态所应执行的功能如下:
  
  状态S0~S2用于对PCI总线置高信号TRDY和DEVSEL;对双口RAM则置高片选信号CS,以使读/写信号处于读状态,此时地址呈现三态。此外,在S1态还应依据地址信号来确定是不是对本机的选择,并识别是不是读或写操作。
  
  状态S3~S4用于对PCI总线置低信号TRDY和DEVSEL;对双口RAM则产生片选信号CS、读或写信号,同时确定适当的读写访问地址。
  
  状态S5用于对PCI总线置低信号TRDY和DEVSEL;并且对双口RAM置高片选信号CS,以使读/写信号处于读状态,此时地址呈现三态。
  
  3.3状态变化的确定
  
  根据对PCI总线传输时序的分析,影响各个状态相互转化的因素是:帧同步信号FRAME、主设备准备好信号IRDY、从设备选择信号CS-MAP、读识别信号READ以及写识别信号WRITE。这里,可用CS-MAP、READ、WRITE来标识状态S1产生的中间识别信号。
  
  
  
  
  
  图3
  
  需要注意,在状态S1时要寄存收到的首地址,而在状态S3变化时要适时进行地址递增。
  
  还要注意状态机设计时产生的容错问题,以便在非设计状态下能够无条件回到空闲态S0。
  
  由于采用的是高速双口RAM,并且规划分开了RAM两侧的写操作区域,因此可以认为:RAM是可以任意访问的。
  
  3.4状态图的规划
  
  综上所述便可得出如图4所示的设计规划图。
  
  4VHDL语言的描述
  
  设计时,使用三个进程和几个并行语句可实现整个CPLD的功能:一个进程用于完成从设备及其读写操作的识别;一个进程用于完成操作地址的获取与地址的递增;第三个进程完成状态机的变化。用几个并行语句完成操作信号的产生时,需要注意,各状态所完成的功能要用并行语句实现,不能再用进程,否则就会引起逻辑综合的麻烦,有时甚至根本不能综合。整个程序如下:
  
  LIBRARYieee;
  
  USEieee.std_logic_1164.All;
  
  USEieee.std_logic_unsigned.ALL;
  
  ENTTTYcpciIS
  
  PORT(clk,rst,frame,irdy:INSTD_LOGIC;
  
  ad_high:INSTD_LOGIC_VECTOR(31downto24);
  
  ad_low:INSTD_LOGIC_VECTOR(12downto0);
  
  c_be:INSTD_LOGIC_VECTOR(3downto0);
  
  trdy,devsel:OUTSTD_LOGIC;
  
  cs,r_w:OUTSTD-LOGIC;
  
  addr:OUTSTD_LOGIC_VECTOR(12downto0);
  
  ENDcpci;
  
  ARCHITECTUREbehaveOFcpciI

《简易通用型PCI接口的VHDL-CPLD设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/169506.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。