CN103324594A - 一种基于FPGA的PCI Express AHBUS状态机的实现方法 - Google Patents

一种基于FPGA的PCI Express AHBUS状态机的实现方法 Download PDF

Info

Publication number
CN103324594A
CN103324594A CN2013102627111A CN201310262711A CN103324594A CN 103324594 A CN103324594 A CN 103324594A CN 2013102627111 A CN2013102627111 A CN 2013102627111A CN 201310262711 A CN201310262711 A CN 201310262711A CN 103324594 A CN103324594 A CN 103324594A
Authority
CN
China
Prior art keywords
address
data
reset signal
state machine
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2013102627111A
Other languages
English (en)
Inventor
吴伟林
李承镛
张代红
吴博
何戎辽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Linhai Electronics Co Ltd
Original Assignee
Chengdu Linhai Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Linhai Electronics Co Ltd filed Critical Chengdu Linhai Electronics Co Ltd
Priority to CN2013102627111A priority Critical patent/CN103324594A/zh
Publication of CN103324594A publication Critical patent/CN103324594A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Logic Circuits (AREA)

Abstract

本发明公开了一种基于FPGA的PCIExpressAHBUS状态机的实现方法,它包括以下步骤:S1:实时检测reset复位信号,检测到reset复位信号输入线为高电平时将状态机状态变为IDLE_ST;S2:实时检测reset复位信号,检测到reset复位信号输入线为低电平且地址位有变化则执行操作转化为ADDRESS_ST设置地址状态;S3:执行操作转化为DATA_ST状态;S4:执行操作将状态机状态转化为IDLE_ST状态;S5:实时检测reset复位信号,检测到reset复位信号输入线为低电平且有传输请求则执行操作转化为REQ_BUS_ST并响应传输请求。本发明速度高,扩展性好,接口的数据宽度可自定义,符合大容量数据传输的要求,接口不需要在驱动和设备上占用内存,并且准备时间短,不影响速度。

Description

一种基于FPGA的PCI Express AHBUS状态机的实现方法
技术领域
本发明涉及一种基于FPGA的PCI Express AHBUS状态机的实现方法。
背景技术
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,作为专用集成电路(ASIC)领域中的一种半定制电路而出现,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构,FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
利用FPGA来实现PCI Express的最大理由是它的可重构性。对PCI Express这种新技术,规格处在不断变化的阶段。当规格变更时,通过可重构性可对应的更改,对原设计进行软件编程来实现版本的升级。采用一些FPGA内置高速收发器模块和可编程结构,如Xilinx的Virtex系列,其内置高速收发器(Rocket IOTMGTP收发器)可以支持PCI Express协议所需的2.5Gbps速率,8B/10B编解码能从数据中可靠地提取时钟,实现时钟恢复,可以降低成本和难度,减少设计难度和周期。FPGA供应商专门针对PCI Express对FPGA中的模块和IP核进行了测试,保证了产品的兼容性。
目前市场上没有标准的PIPE Core的传输层的AHBUS状态机实现的具体的技术,目前已知的存在以下的问题:
1、速度不高,主机驱动程序和设备间的数据交换速度仅能达到150MBytes/s,远远低于需要的165MBytes/s;
2、接口不同,接口的数据宽度不够,接口要在驱动和设备上占用内存,并且准备时间长,间接影响了速度;
3、扩展性差,仅能使用FPGA内部RAM,不能方便地使用各种内存。
发明内容
本发明的目的在于克服现有技术的不足,提供一种速度高,扩展性好,接口的数据宽度可自定义,符合大容量数据传输的要求,接口不需要在驱动和设备上占用内存,并且准备时间短,不影响速度的一种基于FPGA的PCI Express AHBUS状态机的实现方法。
本发明的目的是通过以下技术方案来实现的:一种基于FPGA的PCI Express AHBUS状态机的实现方法,它包括以下步骤:
S1: 实时检测reset复位信号,检测到reset复位信号输入线为高电平时将状态机状态变为IDLE_ST,并执行以下操作:
   (1)使地址输入无效;(2)禁止数据输出;(3)禁止地址输出;(4)触发计数器置1;(5)未完成数据长度清零;(6)触发传输请求置位;(7)不允许DMA;(8) 传输空闲状态;(9) 地址清零;(10) 传输请求置位;
S2: 实时检测reset复位信号,检测到reset复位信号输入线为低电平且地址位有变化则执行以下操作转化为ADDRESS_ST设置地址状态:
   (1)设置地址;(2)回应地址请求有效;
 S3: 在状态机状态变为ADDRESS_ST时,执行以下操作转化为DATA_ST状态:
   (1)允许数据输入;(2)准备数据传输;
S4: 在状态机状态变为DATA_ST时,执行以下操作:
   (1)执行数据传输;(2)执行数据传输过程中的地址运算;(3)处理数据输入操作;(4)处理数据输出操作;(5)处理数据触发计数操作;
执行完成以后转化为IDLE_ST状态;
S5: 实时检测reset复位信号,检测到 reset复位信号输入线为低电平且有传输请求则执行以下操作转化为REQ_BUS_ST并响应传输请求:
   (1)准备地址设置;(2)回应传输请求有效。
所述的步骤S4中执行数据传输为单个数据传输、促发数据传输和DMA传输中的任意一种或多种。
本发明的有益效果是:
(1)速度高,本发明主机驱动程序和设备间的数据交换速度能达到172MBytes/s, 即使RAM接口变化也能不变化;
(2)扩展性好,本发明不仅能使用FPGA内部RAM,并且可以使用其他内存,更加方便;
(3)本发明接口的数据宽度可自定义,符合大容量数据传输的要求,接口不需要在驱动和设备上占用内存,并且准备时间短,不影响速度。
附图说明
图1为本发明流程图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案:如图1所示,一种基于FPGA的PCI Express AHBUS状态机的实现方法,它包括以下步骤:
S1: 实时检测reset复位信号,检测到reset复位信号输入线为高电平时将状态机状态变为IDLE_ST,并执行以下操作:
   (1)使地址输入无效;(2)禁止数据输出;(3)禁止地址输出;(4)触发计数器置1;(5)未完成数据长度清零;(6)触发传输请求置位;(7)不允许DMA;(8) 传输空闲状态;(9) 地址清零;(10) 传输请求置位;
S2: 实时检测reset复位信号,检测到reset复位信号输入线为低电平且地址位有变化则执行以下操作转化为ADDRESS_ST设置地址状态:
   (1)设置地址;(2)回应地址请求有效;
 S3: 在状态机状态变为ADDRESS_ST时,执行以下操作转化为DATA_ST状态:
   (1)允许数据输入;(2)准备数据传输;
S4: 在状态机状态变为DATA_ST时,执行以下操作:
   (1)执行数据传输,数据传输为单个数据传输、促发数据传输或DMA传输;(2)执行数据传输过程中的地址运算;(3)处理数据输入操作;(4)处理数据输出操作;(5)处理数据触发计数操作;
执行完成以后转化为IDLE_ST状态;
S5: 实时检测reset复位信号,检测到 reset复位信号输入线为低电平且有传输请求则执行以下操作转化为REQ_BUS_ST并响应传输请求:
   (1)准备地址设置;(2)回应传输请求有效。 

Claims (2)

1.一种基于FPGA的PCI Express AHBUS状态机的实现方法,其特征在于:它包括以下步骤:
S1: 实时检测reset复位信号,检测到reset复位信号输入线为高电平时将状态机状态变为IDLE_ST,并执行以下操作:
   (1)使地址输入无效;(2)禁止数据输出;(3)禁止地址输出;(4)触发计数器置1;(5)未完成数据长度清零;(6)触发传输请求置位;(7)不允许DMA;(8) 传输空闲状态;(9) 地址清零;(10) 传输请求置位;
S2: 实时检测reset复位信号,检测到reset复位信号输入线为低电平且地址位有变化则执行以下操作转化为ADDRESS_ST设置地址状态:
   (1)设置地址;(2)回应地址请求有效;
 S3: 在状态机状态变为ADDRESS_ST时,执行以下操作转化为DATA_ST状态:
   (1)允许数据输入;(2)准备数据传输;
S4: 在状态机状态变为DATA_ST时,执行以下操作:
   (1)执行数据传输;(2)执行数据传输过程中的地址运算;(3)处理数据输入操作;(4)处理数据输出操作;(5)处理数据触发计数操作;
执行完成以后转化为IDLE_ST状态;
S5: 实时检测reset复位信号,检测到 reset复位信号输入线为低电平且有传输请求则执行以下操作转化为REQ_BUS_ST并响应传输请求:
   (1)准备地址设置;(2)回应传输请求有效。
2.根据权利要求1所述的一种基于FPGA的PCI Express AHBUS状态机的实现方法,其特征在于:所述的步骤S4中执行数据传输为单个数据传输、促发数据传输和DMA传输中的任意一种或多种。
CN2013102627111A 2013-06-27 2013-06-27 一种基于FPGA的PCI Express AHBUS状态机的实现方法 Pending CN103324594A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013102627111A CN103324594A (zh) 2013-06-27 2013-06-27 一种基于FPGA的PCI Express AHBUS状态机的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013102627111A CN103324594A (zh) 2013-06-27 2013-06-27 一种基于FPGA的PCI Express AHBUS状态机的实现方法

Publications (1)

Publication Number Publication Date
CN103324594A true CN103324594A (zh) 2013-09-25

Family

ID=49193348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013102627111A Pending CN103324594A (zh) 2013-06-27 2013-06-27 一种基于FPGA的PCI Express AHBUS状态机的实现方法

Country Status (1)

Country Link
CN (1) CN103324594A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495469A (en) * 1994-12-16 1996-02-27 Chrysler Corporation Communications network, state machine therefor
CN1159060A (zh) * 1995-12-20 1997-09-10 国际商业机器公司 现场可编程存储器阵列
US20030007478A1 (en) * 2001-07-04 2003-01-09 Jiang Sam Shiaw-Shiang Wireless communications device with a state model
CN1515911A (zh) * 2003-08-27 2004-07-28 华东师范大学 一种核磁共振脉冲序列发生器
CN101158932A (zh) * 2007-08-31 2008-04-09 上海广电(集团)有限公司中央研究院 通过i2c接口访问现场可编程门阵列内部存储器的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495469A (en) * 1994-12-16 1996-02-27 Chrysler Corporation Communications network, state machine therefor
CN1159060A (zh) * 1995-12-20 1997-09-10 国际商业机器公司 现场可编程存储器阵列
US20030007478A1 (en) * 2001-07-04 2003-01-09 Jiang Sam Shiaw-Shiang Wireless communications device with a state model
CN1515911A (zh) * 2003-08-27 2004-07-28 华东师范大学 一种核磁共振脉冲序列发生器
CN101158932A (zh) * 2007-08-31 2008-04-09 上海广电(集团)有限公司中央研究院 通过i2c接口访问现场可编程门阵列内部存储器的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
侯宏录等: "基于FPGA的SDRAM控制器设计方案", 《兵工自动化》 *
卫一然等: "FPGA设计中状态机稳定问题的研究", 《电视技术》 *
顾超等: "总线式数控系统中PCT接口控制的FPGA实现与应用", 《计算机应用》 *

Similar Documents

Publication Publication Date Title
WO2018064885A1 (zh) 一种对可编程逻辑器件进行配置或更新的装置和方法
CN104598418A (zh) 一种基于fpga的控制i2c通信的系统及方法
CN104050146B (zh) 一种微控制单元mcu芯片
CN204028898U (zh) 一种硬盘、兼容多种固态硬盘任意混插的服务器
US9183339B1 (en) System and method for preparing partially reconfigurable circuit designs
CN105512084A (zh) 一种Zynq平台数据交互装置
CN104714907B (zh) 一种pci总线转换为isa和apb总线设计方法
EP3149577A1 (en) Extracting system architecture in high level synthesis
CN104050133A (zh) 一种基于fpga实现dsp与pc借助pcie总线进行通信的通信装置与通信方法
CN101630182A (zh) 一种可配置sio的计算机系统
CN203250312U (zh) 一种接口形式可扩展的通用核心处理子板
CN104090519A (zh) 一种与plc扩展模块通信的系统及实现方法
CN104424367A (zh) 一种优化寄存器控制信号的工艺映射方法及集成电路
CN207440581U (zh) 一种fpga通用开发板
CN206100049U (zh) 一种协议转换器
CN203520396U (zh) 一种优化寄存器控制信号的集成电路
US9092284B2 (en) Entropy storage ring having stages with feedback inputs
CN208873142U (zh) 一种fpga开发板
CN103324594A (zh) 一种基于FPGA的PCI Express AHBUS状态机的实现方法
CN103064477A (zh) 一种服务器主板设计方法
CN204706031U (zh) 串行外设接口spi总线电路以及电子设备
CN105630120B (zh) 一种加载处理器硬件配置字的方法及装置
CN203149572U (zh) 基于fpga芯片的eda综合实验平台
CN102611431B (zh) 带组合逻辑通路的寄存器
US9417844B2 (en) Storing an entropy signal from a self-timed logic bit stream generator in an entropy storage ring

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20160601

C20 Patent right or utility model deemed to be abandoned or is abandoned