alter-PCI核学习总结 下载本文

Altera PCI 核学习总结

1. PCI核工作模式

PCI核在生成时可选择两种工作模式:master/target模式和target模式;其中master/target模式下,PCI核可申请控制总线,作为master给其他PCI设备通信;也可以作为slave设备与master PCI设备通信;而在target模式,只能作为slave设备被其他PCI设备访问。在以上两种工作模式下,根据读写数据位宽(32bit和64bit),把PCI核分为4种:PCI_mt64、PCI_t64、PCI_mt32、PCI_t32;

在本设计中使用PCI_t32模式,即target工作模式,读写数据位宽32bit;故以下的介绍中主要针对PCI_t32模式的使用说明;

2. 在quartus中例化PCI核

注意界面右边的IP Catalog部分,在这里选择你想要IP核,如果界面上没有这个选择部分,则通过点击Tools --> IP Catalog 调出来;

在Library -> interface protocols 中点击PCI

点开PCI后可以看到PCI Compiler v14.1,双击;

填写PCI核的命名(pci_core),选择生成IP核的相关代码是VHDL 或 Verilog,按自己需求选;点击OK;

跳转出此界面,有6个选项,

(1) about this core :里面介绍了此IP 核的一些基本信息,例如版本、发布时间和

能支持的FPGA器件型号;

(2) documentation:PCI核使用的指导文档

(3) quartus II constraints :关于PCI核的约束文件 (4) step 1 :parameter :用来设置PCI核基本参数

compact PCI为紧凑型PCI接口,在接口协议上没有区别,只是在硬件接口连接上有区别;故按照硬件设计选在PCI或CompactPCI。 Master/Target 或 Target Only,两者区别为:

如:目前有3个CPU在PCI总线上,分别标号CPU1,CPU2,CPU3,其中CPU1为HOST,CPU2/3为Target,CPU1 HOST为PCI总线分配PCI空间等资源并赋予Target一定的读写权限;资源分配完毕,3个CPU可以相互访问,当CPU1访问(读写)CPU2/3时,CPU1是Master,当CPU2访问CPU1/3时,CPU2就是Master;被访问的对象就是Slaver;也就是CPUx要访问PCI总线上的设备时先要向PCI HOSTS(CPU1上的总线控制器)申请对总线的操作,占有了这总线的操作的CPU就是Master; 在这个步骤下选择PCI和master/target,然后点击Next;

填写参数值;

填写Base address register值,点击Next;

点击Finish;

(5) step2 :set up simulation :

生成仿真模型,点击OK

(6) step3 :generate