您现在的位置是:主页 > 嵌入式论坛 > STM32/STM8技术论坛 >

    2019-01-18【干货】从CPU角度理解PCIe续北京赛车八码滚雪球

      北京赛车

      中小规模PLD做得不错。ATMEL也做了一些与Altera和Xilinx兼容的片子,但在品质上与原厂家还是有一些差距,在高可靠性产品中使用较少,多用在低端产品上。

      来海星智能广场买手机,请务必查看商家有无营业执照,避免不必要的损失!!【茂丰通讯:正规营业执照和国税发票店】

      这种方式可以使得客户在PDKv1.0阶段的工艺认证时间缩短一半,也更接近工艺节点进入生产阶段的时间表。当然它的风险在于,早期采用者必须非常擅长进行评估,以及随着PDK数据从v0.1到v1.0的日益成熟而快速更改设计。尽管有风险,客户依然对台积电改变其参与模式和进行资源投资以加速发布高级工艺设计支持表示了赞赏。

      上篇文章剩下两个问题,上电扫描PCIe树和存储地址到PCIe地址的映射,本篇文章将对这两个问题做出解答。本文可能会针对某一款芯片做出详细流程解答,读者可以只关注整个流程,具体映射机制和寄存器参考芯片datasheet。上篇文章已经了解到如何访问配置空间,前256Bytes可以通过寄存器方式访问,后面的256B~4k必须通过映射才能访问,映射无非就是把配置空间映射到存储地址空间,或者把PCIe设备空间映射到存储地址空间。下面开始讨论映射关系。

      PCIe在存储域地址空间分为三部分,PCIe控制器本身的寄存器、PCIe设备的配置空间、PCIe设备空间。寄存器和配置空间由处理器本身决定存储地址范围,本款处理器地址范围如图 1所示,配置空间地址、寄存器地址、内存地址都已经确定。PCIe设备空间需要编程人员去配置Outbound和Inbound寄存器组,确定映射关系。

      Outbound在PCIe控制器中扮演的角色是将存储地址翻译到PCIe域的PCIe地址,Inbound是将PCIe地址翻译成存储地址,图 2是一个完整的RC和EP模型地址翻译模型,图中的地址数字仅仅代表一种形态,具体地址应该是什么在后文中讲解。当cpu需要访问EP的内存空间时,首先应该将存储地址转换成PCIe地址,在根据TLP到达指定的EP,进而将PCIe地址转换成EP端的存储地址。

      配置OutBound翻译的几个寄存器也做了详解,下面根据举例说明。图 5中配置空间存储地址由CPU本身架构所决定,这部分的地址映射才芯片内部完成,不需要由编程人员配置。PCIe设备空间被分成了32等分。假设region大小是2M,PCIe地址是64位,程序中需要对0x9D3A_1234存储地址做映射, 64位PCIe地址被使用在region 9上,初始化OBOFFSET9_HI值为0x3344 5566, OB_OFFSET9值56Ex xxxx(x的值这里不关心,看该寄存器结构就很清楚,第0位在地址翻译时候应该使能位1,这里仅仅用来讲解怎么做映射,不需要关心后面的Bits) ,下面分析怎么翻译到PCIe地址:

      从上面存储地址到PCIe地址映射可以看到,通过cpu寻址可以直接访问到PCIe设备空间,最多可以访问PCIe设备空间大小为256M,具体Outbound能够访问的大小根据芯片而定,当CPU与FPGA之间有大量数据交互时候也可以采用Inbound方式(Inbound地址翻译流程如图 6所示,这里就不在翻译),将CPU的内存映射到FPGA的寻址空间(这里是站在CPU角度看的,从图2可以理解具体映射大小还由EP决定),FPGA可以采用DMA方式访问cpu的内存,并且速度很快。有些芯片厂商干脆采用同核异构方式将CPU于FPGA集成在一起(有的将cpu与dsp集成在一起),两者之间采用AXI高速总线

      与主令电器元件连接1 如下图所示是与按钮、行程开关、转换开关等主令电器类输入设备的接线示意图。图中的PLC为直流汇点式输入,即所有输入点共用一个公共端COM,同时C...

      Multisim的元件库分为Multisim主数据库(MultisimMasterDatabase)、共享数据库(CorporateLibrary)和用户数据库(UserDatabase),其中主数据库的元件不能更改,共享数据库和用户数据库可以更改,用户可以将常用的元件或用户编辑的新元件放在这两个数据库中。单极版的Multisim中共享数据库不可使用。Multisim中的元件模型分为SPICE模型、CodeModel模型、VHDL元件模型和VerilogHDL元件模型。SPICE模型是指SPICE预定义的元件模型或利用子电路的方法建立的模型。CodeModel是在SPICE中用C语言编写的元件模型。建立VHDL模型和VerilogHDL模型前首先要编写相应的语言代码,进行仿真验证,然后汇编和连接,产生Multisim可以接受的模型文件。

      你好, 是否有任何软件库允许使用STM8微控制器构建USB硬件而无需任何额外芯片? 我正在寻找它,但到目前为止我还...

      分拆运营商资本开支结构,北京赛车八码滚雪球从直接和3G/4G相关的移动通信网及传输网络的建设占比趋势看,前期运营商投资占比着重在3G/4G的通信网络建设(基站、天线等),后期则逐步提高传输网络(交换机、光模块、光纤等)投资。

      根据《深圳经济特区政府采购条例》、《深圳经济特区政府采购条例实施细则》和《深圳网上政府采购管理暂行办法》的有关规定,2018年IC设计全定制模拟射频电路EDA设计软件许可权与升级购置

      访问配置空间 (这里有一个原则读者需要注意,对PCIe设备配置空间访问时,一定要确定总线号、设备号、功能号、寄存器,不然无法找到设备)

      2018年9月4-7日,由联合国粮农组织(FAO)、亚太水产养殖中心(NACA)和美国国际开发署(USAID)联合举办的“区域性水产养殖病原菌AMR监测及其风险分析研讨会”在泰国曼谷召开,来自澳大利亚、孟加拉、柬埔寨、中国、香港、印度尼西亚、印度、日本、马来西亚、缅甸、尼泊尔、巴基斯坦、菲律宾、新加坡、斯里兰卡、泰国、越南等国家的渔业管理官员、学者代表及联合国粮农组织、世界动物卫生组织(OIE)的代表共60余人参加会议。应亚太水产养殖中心(NACA)的邀请,中国水产科学研究院珠江水产研究所姜兰研究员和张瑞泉助理研究员出席了会议。

      扫描PCIe总线树时,需要对这些PCIe总线进行编号,即初始化PCIe桥(在本文一律指透明桥)的Primary、Secondary和Subordinate Bus寄存器。在Linux内核中采用DFS算法对PCIe总线树进行遍历,DFS算法是按照深度优先的原则遍历PCIe树,局部代码如图 7所示,这里可以跟踪pci_scan_bridge函数,函数采用DFS算法对总线进行编号(后期会讲解搜索树,比较常见hash表、红黑树)。

      鉴此,在这2014年结束之际,电子发烧友网专门盘点了MEMS/传感技术频道最受关注热文TOP20,一起来锁定2014,翻开2015新篇章。

      PCIe设备的IDSEL信号与PCIe总线]信号的连接关系决定了该设备在这条总线上的设备号。在配置读写总线事务的地址周期中,AD[10:0]已经被信号已经被功能号和寄存器号使用,因此PCIe设备的IDSEL只能与AD[31:11]信号连接。上一篇文章中谈到CONFIG_ADDR寄存器中的Device Number字段一共有5位,最大能够表示32个设备,这里只有21位,显然在两者之间不能建立一一映射关系。一个PCIe总线个PCIe设备,那么多个PCIe总线个设备了么。

      在32位PCIe地址空间中,PCIe设备通常将PCIe配置存放在E2PROM中,PCIe设备进行上电初始化时,将E2PROM中的信息读到PCIe设备的配置空间作为初始值,由硬件自动完成。BAR0空间存储了PCIe设备空间的大小,某些位被设置成不可预读,当BAR0全部写入1时,然后在读取BAR0值,从数据低位看有多少连续位没有改变。没有改变的数据位数记录的该PCIe设备空间的大小,假如有n位没有改变,那么设备空间大小应该是2的n次方。第0位代表IO/Memory、第2,3位代表32/64位地址、第4位代表是否可预取,具体位定义格式可以直接参考内核PCIe总线代码,解析BAR函数如图 8所示。

      大学时代第一次接触FPGA至今已有10多年的时间,至今记得当初第一次在EDA实验平台上完成数字秒表、....

      在知识产权方面,对PLD的诞生起到至关重要作用的专利在几年前到期,已不再受保护。其中包括在1988年授予赛灵思联合创始人Ross Freeman的原始PLD专利。不过大多数专利仍由Xilinx和Altera把持。需要指出的一点是,在可编程逻辑器件里,其内核架构是知识产权保护的重点,各公司有超过1/3的专利技术都是从此角度来申请并保护。

      对于初学者而言,FPGA的设计流程是否显的“又臭又长”呢??嗬嗬,如果真的有这样的感觉,没有关系,下...

      声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。

网站地图