发明名称 一种基于FPGA的AT96总线控制器IP核及其构建方法
摘要 一种基于FPGA的AT96总线控制器IP核,它是由AT96总线接口模块、AT96总线控制器状态机模块、FIFO缓存模块、局部总线控制模块、局部总线接口模块和功能配置模块组成,AT96总线接口模块一端连接到AT96总线接口卡上,另一端与AT96总线控制器状态机模块连接;AT96总线控制器状态机模块连接到FIFO缓存模块上,FIFO缓存模块又与局部总线控制模块连接,而局部总线控制模块连接到局部总线接口模块,功能配置模块与后四个模块都有连接。一种基于FPGA的AT96总线控制器IP核的构建方法有六大步骤:一、设计输入;二、功能仿真;三、逻辑综合;四、前仿真;五、输出网表文件;六、输出IP核调用模块。
申请公布号 CN102184148A 申请公布日期 2011.09.14
申请号 CN201110096176.8 申请日期 2011.04.18
申请人 北京航空航天大学 发明人 陈娟;祁晓野;马俊功;王德义;付永领
分类号 G06F13/20(2006.01)I;G06F13/24(2006.01)I 主分类号 G06F13/20(2006.01)I
代理机构 北京慧泉知识产权代理有限公司 11232 代理人 王顺荣;唐爱华
主权项 本发明一种基于FPGA的AT96总线控制器IP核,其特征在于:它是由AT96总线接口模块、AT96总线控制器状态机模块、FIFO缓存模块、局部总线控制模块、局部总线接口模块和功能配置模块组成,AT96总线接口模块一端连接到AT96总线接口卡上,另一端与AT96总线控制器状态机模块连接;AT96总线控制器状态机模块与FIFO缓存模块连接,而FIFO缓存模块又与局部总线控制模块连接;而局部总线控制模块连接到局部总线接口模块,功能配置模块与AT96总线控制器状态机模块、FIFO缓存模块、局部总线控制模块及局部总线接口模块都有连接;所述AT96总线接口模块是由FPGA内部的输入输出缓冲器IOB组成,包括输入缓冲器即Input Buffer,输出缓冲器即Output Buffer、输入输出双向缓冲器即InOut Buffer及3态缓冲器即Tri‑State Buffer,它们彼此之间相互连接;AT96总线接口模块完成FPGA内部的信号电平与AT96总线协议规定的信号电平的相互转换功能以及实现AT96总线信号中的双向传输端口的功能;所述AT96总线控制器状态机模块是由FPGA内部逻辑实现的一个有限状态机即FSM组成的,该有限状态机在时钟的节拍下,根据输入到状态机的控制信号及外部的状态信号,实现各状态功能之间的跳转,在不同状态下,状态机输出相应功能的控制信号和指示信号;FIFO缓冲模块根据状态机输出的控制信号和指示信号,完成数据接收、发送及缓存功能;所述FIFO缓存模块是由FPGA内部的查找表即Look Up Table,LUT和寄存器REG组成的,他们之间相互关联;它具有两组总线端口,分别为输入总线端口和输出总线端口;每组总线端口包括时钟、地址、数据、控制信号及状态信号,他们之间的时序关系有严格定义;FIFO缓存模块实现时钟域的切换功能,即输入输出总线的时钟域不一致时,通过输入总线时钟将数据缓存到FIFO中,再通过输出总线时钟将数据从FIFO中读出,完成数据的先进先出即First In First Out,FIFO,从而实现时钟域的切换功能;所述局部总线控制模块是由FPGA内部逻辑资源实现的一个与CPU进行交互数据的控制器模块,其根据与它相连接的FIFO缓存模块发出的控制和状态信号,发送控制信号操作FIFO缓存模块的输入输出总线端口,实现数据的写入读出功能,再根据CPU总线的访问信号,将数据发送到局部总线上或从局部总线上采样出来;所述局部总线接口模块的组成与AT96总线接口模块的组成相同,也是由FPGA内部的输入输出缓冲器IOB组成,局部总线接口模块完成FPGA内部的信号电平与CPU总线信号电平的相互转换功能;所述功能配置模块是由FPGA内部的一组寄存器组成的;功能配置模块功能是配置AT96总线控制器IP核的参数,设置AT96总线控制器IP核的工作模式、中断检测方式、主从切换及指示运行状态信息。
地址 100191 北京市海淀区学院路37号