axi_crossbar IP使用说明
Posted light-weight-ip
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axi_crossbar IP使用说明相关的知识,希望对你有一定的参考价值。
总体简介
图例是2X3的配置
主要特性
▲支持Master、Slave接口数量配置
▲支持全连接、部分连接
▲支持多threads、多issue效率匹配
▲支持输入BURST最大数量匹配
▲支持Master、Slave接口寄存,优化时序
▲支持Region、User、Secure配置
一些参数描述
DATA_WIDTH:
默认值为32,AXI数据宽度。
ADDR_WIDTH:
默认值为32,AXI地址宽度。
S_ID_WIDTH:
默认值为8,Slave port ID 宽度
M_ID_WIDTH:
默认值为8+clog2(8),Master port ID宽度,多出的clog2(8)为响应路由
Sxx_THREADS:
默认值为2, 允许同时出现的不同ID数量, 若是Master只能发出一种ID,这里设置为1,可以节省资源。
Sxx_ACCEPT:
默认值为16, 允许缓存的数据长度,若是Master不能支持burst传输,这里的长度设置为1,可以节省资源。
Mxx_ISSUE:
默认值为4,Masterxx 最大连续issue的请求个数,有可能连续issue多个AW/AR command。
Mxx_BASE_ADDR:
默认值为0,Masterxx入口起始地址。
Mxx_ADDR_WIDTH:
默认值为M_REGIONS32’d24, Masterxx地址宽度。它与Mxx_BASE_ADDR共同决定了Masterxx的地址空间。
Mxx_CONNECT_READ:
默认值为Master_NUM1’b1,其可以配置Master可以可以读到某Slave。
Mxx_CONNECT_WRITE:
默认值为Master_NUM1’b1,其可以配置Master可以可以写到某Slave。
Sxx_*_REG_TYPE:
默认值0,1:允许S接口使用简单BUF,2:运行接口使用skid buffer,可以提升效率和时序。
Mxx_*_REG_TYPE:
默认值0,1:允许M接口使用简单BUF,2:运行接口使用skid buffer,可以提升效率和时序。
感悟
axi crossbar需要结合自身SOC系统的heavy程度,选择合适的配置,否则会对芯片的面积、时序带来负面影响。相较于总线,上层架构的设计对系统性能的影响是最大的,因此需要首要考虑。。
使用新浪IP库获取IP详细地址
使用新浪IP库获取IP详细地址
<?php class Tool{ /** * 获取IP的归属地( 新浪IP库 ) * * @param $ip String IP地址:112.65.102.16 * @return Array */ static public function getIpCity($ip) { $ip = preg_replace("/\s/","",preg_replace("/\r\n/","",$ip)); $link = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=".$ip."&t=".time(); $ipJson = self::httpCurl($link); preg_match("/\"country\":\"(.*)\"/Uis",$ipJson, $match1); preg_match("/\"province\":\"(.*)\"/Uis",$ipJson, $match2); preg_match("/\"city\":\"(.*)\"/Uis",$ipJson, $match3); return array( ‘country‘=>self::ucode2zh($match1[1]), // 国家 ‘province‘=>self::ucode2zh($match2[1]), // 省 ‘city‘=>self::ucode2zh($match3[1]) // 城市 ); } /** * Curl方式获取信息 */ static public function httpCurl($url) { $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $url); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,1); curl_setopt($curl_handle, CURLOPT_FAILONERROR,1); $file_content = curl_exec($curl_handle); curl_close($curl_handle); return $file_content; } /** * 将unicode编码转化为中文,转化失败返回原字符串 * * @param $code String unicode编码 * @return String */ static public function ucode2zh($code) { $temp = explode(‘\u‘,$code); $rslt = array(); array_shift($temp); foreach($temp as $k => $v) { $v = hexdec($v); $rslt[] = ‘&#‘ . $v . ‘;‘; } $r = implode(‘‘,$rslt); return empty($r) ? $code : $r; } }
获取IP地址类使用实例
<?php $ipStr = Tool::getIpCity(‘112.65.102.16‘); print_r($ipStr); # 返回结果 Array ( [country] => 中国 [province] => 上海 [city] => 上海 )
以上是关于axi_crossbar IP使用说明的主要内容,如果未能解决你的问题,请参考以下文章