基于FPGA的PCI总线接口设计
[11-20 16:14:13] 来源:http://www.88dzw.com FPGA 阅读:8403次
文章摘要:c_state <= OprOver; else c_state <= DevTrdyLo; end if; when DevTrdyLo=> if pci_frame_l='1' and pci_irdy_l='1' then c_state <= OprOver; elsif pci_frame_l='1' and pci_irdy_l='0' and trdy_l='0' then c_state <= OprOver; else c_state <= c_state; e
基于FPGA的PCI总线接口设计,标签:fpga是什么,fpga教程,http://www.88dzw.comc_state <= OprOver;
else
c_state <= DevTrdyLo;
end if;
when DevTrdyLo=>
if pci_frame_l='1' and pci_irdy_l='1' then
c_state <= OprOver;
elsif pci_frame_l='1' and pci_irdy_l='0' and trdy_l='0' then
c_state <= OprOver;
else
c_state <= c_state;
end if;
when OprOver=>
c_state <= Idle;
when others=>
c_state <= Idle;
end case;
end if;
end process;
--- 下一步应列出每个状态所对应的并发事件,写出相关的进程。进程语句是一个并行语句,它定义进程被激活时将要执行的特定行为。例如,在Ready状态时,就要判断从主设备方发来的地址信息是否与从设备地址相同,因此要写出地址比较进程。
--- address_compare:process(pci_rst,pci_clk),主要内容是对地址译码,判断地址是否在从设备空间,如果在此空间则可做下一步动作,否则不做其他动作。
--- 从以上分析过程可以得到整个设计思路如下:在时钟的上升沿采样FRAME#、地址和命令,如果FRAME#有效则译码地址和命令,如果总线命令为011x,并且总线上的地址在目标地址范围内,表明这是对本设备的存储器操作;或者总线命令为101x,且IDSEL信号有效,表明这是对本设备配置空间的操作。在这两种情况下,根据总线命令的最后一位确定是读操作还是写操作,有效DEVSEL#和TRDY#信号,开始数据传输;并在传输过程中采样FRAME#和IRDY#信号,确认最后一个数据周期,无效DEVSEL#和TRDY#信号,结束数据传输。
--- 通过以上设计,在MAX+PLUSII环境下的其中一组模拟结果如图2所示。
结束语
本文给出了在PCI总线上利用FPGA技术设计PCI总线接口的设计方案。利用这项技术可以将自己的的算法技术和一些软件做成硬件,固化到卡上,这样既提高了运行速度,也可以保护知识产权。
Tag:FPGA,fpga是什么,fpga教程,FPGA
- 上一篇:用FPGA/CPLD设计UART
《基于FPGA的PCI总线接口设计》相关文章
- › 基于FPGA的单片彩色LCD投影机设计
- › 256级灰度LED点阵屏显示原理及基于FPGA的电路设计
- › 基于FPGA的LCD%26amp;VGA控制器设计
- › 基于FPGA的信道化接收机
- › 基于FPGA和SMT387的SAR数据采集与存储系统
- › 基于FPGA的栈空间管理器的研究和设计
- 在百度中搜索相关文章:基于FPGA的PCI总线接口设计
- 在谷歌中搜索相关文章:基于FPGA的PCI总线接口设计
- 在soso中搜索相关文章:基于FPGA的PCI总线接口设计
- 在搜狗中搜索相关文章:基于FPGA的PCI总线接口设计
分类导航
最新更新