飞腾X100 LPDDR颗粒线序配置辅助工具
飞腾爱好者技术交流群码公众号“乌拉大喵喵”颗粒线序配置辅助工具B站讲解视频:正文内容:一、飞腾X100显
飞腾爱好者技术交流群码公众号“乌拉大喵喵”
颗粒线序配置辅助工具
B站讲解视频:
【资料图】
正文内容:
一、
飞腾X100显存使用LPDDR4时,需要工程师在X100的固件中去配置线序交换说明,就类似下面这个:
图1
我们需要输入每个slice中DQ的线序,也需要输入slice之间的交换关系,这个工作量也不小,同时容易出现错误,所以开发了一款辅助小工具,帮助大家快速配置此信息。(工具下载在文末)
二、
下面我们先简单的讲述线序配置原则:
我们以X100 demo图为例子,demo中X100的显存是如下图这样接的。
左边是X100端的解法,我们可以看到是DQ一一对应引出的。
右边是显存LPDDR4这边的接法,从DDR颗粒角度来看,以slice0为例,8bit接线并不是一一对应的,是乱序的。
所以,我们就不去关心X100端了,我们只看右边颗粒端的接线。
图2
我们取出来LPDDR颗粒端slice0的部分接线。我们可以看到,
LPDDR4的DQ0接到了X100的DQ5上,
LPDDR4的DQ1街道了X100的DQ7上,
……
图3
那么我们从DDR颗粒角度来看,我们按照LPDDR DQ0~DQ7的顺序(之所以这里是从DQ0~DQ7来梳理,是因为原理图从上到下是从DQ0~DQ7的,这样符合直观习惯),把上面的接线整理成表格:
但是因为最终我们是要去配置X100,所以我们的角度就不能以DDR颗粒了,需要从X100的视角来看。所以我们需要把上面的表,从X100的角度,按照DQ7~DQ0的顺序进行整理(之所以这里是从DQ7~DQ0来梳理,是因为X100的固件配置是从DQ7~DQ0来设置的):
所以我们在固件里针对slice0的配置,需要去按照X100 DQ7~DQ0的顺序,填入对应的LPDDR4的DQ编号。
也就是上表LPDDR4那一行,从左到右去抄一下,也就是16057423。当然配置的时候需要补一个0x,即0x16057423。
图4
那么这是人工手动去梳理的方法,也就是人工将表1改为表2后,再去填入配置的方法。还是那句话,因为从图2原理图设计上看,我们X100那边不需要去管,只需要看LPDDR那边,所以直接能从表1就推导出配置才是我们最需要的。
三、
好,现在我们来看下这个填入数据的规律,我们抛去0x这个不管,其实我们填入0x16057423中的有效数据就是16057423(注意,这个数没有0x了,我们需要认为他是十进制数,可以念一下,是1千6百零五万,7千4百二十三)。
因为它是十进制,所以我们可以发现:
16057423
=1*10000000 + 6*1000000 + 0*100000 + 5*10000 + 7*1000 + 4*100 + 2*10 + 3*1
=1*10^7+ 6*10^6 +0*10^5+ 5*10^4 + 7*10^3 + 4*10^2 +2*10^1+ 3*10^0
那么我们发现,我们从DDR颗粒角度来看,我们只需要按DQ0~DQ7的顺序知道对应的X100的DQ是多少就可以。之后,用DDR的DQ值*10的X100的DQ次方,之后再累加就好了。
所以就有了这么一个工具,我们把LPDDR4这部分电路的接线填入软件,它就可以算出来需要怎么交换。
它的计算方法就如上面所说:
0*10^5 + 1*10^7 + 2*10^1 + 3*10^0 + 4*10^2 + 5*10^4 + 6*10^6 + 7*10^3
=0*10^(5%8) + 1*10^(7%8) + 2*10^(1%8) + 3*10^(0%8) + 4*10^(2%8) + 5*10^(4%8) + 6*10^(6%8) + 7*10^(3%8)
=16057423
前面补0x后=0x16057423
之所以这里都除8取余,是因为slice0是0~7的,slice1可是8~15呢,那计算的时候可不能*10的8次方或者*10的15次方吧。
四、
Slice的交换算法也一样:
所以图2硬件正确的配置为:
使用软件计算得到的配置为:
结果一致,说明工具有效。
关键源码:
procedure calc_sw();var zdiv_value : integer; //z前缀代表是8bit组 mod_value : integer; i: Integer; sw_byte : integer; j: Integer; sw_dq : integer; sw_dq_str : string;begin sw_byte := 0; for i := 0 to 7 do begin zdiv_value := dq_x8x8[i][0] div 8; //这一组除以8,商的值就是这组的接的X100 slice //根据换算关系,就是商是几,就把i这个数字写到商位置 //那么就是 i x 10^商 sw_byte := sw_byte + i * round(power(10,zdiv_value)); //use math , power出来是extended,需要round一下 sw_dq := 0; for j := 0 to 7 do begin mod_value := dq_x8x8[i][j] mod 8;//这一组除以8的余数,余数的值就是这组的接的X100的DQ //根据换算关系,就是余数是几,就把j这个数字写到余数位置 //那么就是 j x 10^余数 sw_dq := sw_dq + j * round(power(10,mod_value)); end; if sw_dq < 10000000 then //也就是首位为0,比如0x03571462,如果只用int进行数据处理,这个就会显成0x3571462 begin sw_dq_str := "0" + inttostr(sw_dq); end else begin sw_dq_str := inttostr(sw_dq); end; case zdiv_value of 0 : mainform.edit_slice0.Text := "0x" + sw_dq_str; 1 : mainform.edit_slice1.Text := "0x" + sw_dq_str; 2 : mainform.edit_slice2.Text := "0x" + sw_dq_str; 3 : mainform.edit_slice3.Text := "0x" + sw_dq_str; 4 : mainform.edit_slice4.Text := "0x" + sw_dq_str; 5 : mainform.edit_slice5.Text := "0x" + sw_dq_str; 6 : mainform.edit_slice6.Text := "0x" + sw_dq_str; 7 : mainform.edit_slice7.Text := "0x" + sw_dq_str; end; end; mainform.edit_byte.Text := "0x" + inttostr(sw_byte);end;
==工具下载地址==
点击直接下载:
百度网盘链接:
https://pan.baidu.com/s/1mCA01ibW95-TtpVn4INFsw?pwd=a0kd
欢迎飞腾爱好者加入微信交流群。
群内大家可以畅所欲言。
在群内不需要表露自己的公司和身份,可以群内交流遇到的问题,分享自己的调试心得。
希望大家共建飞腾友谊!
飞腾爱好者技术交流群码公众号“乌拉大喵喵”
关键词:
飞腾爱好者技术交流群码公众号“乌拉大喵喵”颗粒线序配置辅助工具B站讲解视频:正文内容:一、飞腾X100显
对于很多皇马球迷来说,球队离开的球星们代表着我们曾经青春的一部分。他们的离去让我们感到痛心和失落,但
乌指挥官:找到约500具俄士兵尸体
美国宇航局开发了一种名为GRX-810的新超级合金,其强度是最先进的3D打印超级合金的两倍,耐用性更是1000多
4月22日,随着施工人员将最后一榀长32 6米、重达790吨的预制箱梁精确平稳落在六景郁江特大桥219~P6 桥墩上
品玩4月24日讯,Garmin佳明今日推出了新款本能Instinct2X太阳能版运动手表。Instinct2X太阳能版运动手表具
1、Robin很大气中性的名字,有透着一股小清新的味道Laura素雅的名字Lavender薰衣草,可惜温柔了一点Sunshin
中国烧烤行业市场消费现状烧烤行业市场未来发展规模预测一般来说,烧烤是在火上将食物(多为肉类,海鲜,蔬
4月30日的中超第四轮,沪上双雄将展开火星撞地球的上海滩德比。中超两轮战罢,沪上两支中超球队以2战6分暂
《战争传说》中的小麦要怎么获得呢?可能很多玩家不太清楚小麦在哪里买,哪里能弄到小麦。下面给大家带来《
1、移民是复到外国定居,包制括做华侨或成为外籍华人。2、办绿卡也是移民,得到绿卡,你就成为那里的华侨,
金融资源正不断向中高端制造业集聚,截至今年3月末,广东辖内制造业贷款余额超2万亿元,同比增长25 6%;其
贵州土话园。进入“贵州土话园”内,浓浓的“贵州味儿”扑面而来。“等我一哈哈、热和、腊嘎……”贵州土话
1、 & 039;s腰椎脱位的康复,治疗方法如下:1 如果是轻度腰椎脱位,可以进行保守治疗。一般1度以内的腰椎脱位和
中元股份去年归母净利降九成仍拟大手笔现金分红
证券时报e公司讯,据呈和科技消息,近日,广东省工信厅公示了2022年省级制造业单项冠军企业(产品)通过名
伴随着女儿笑笑在打球路上的飞速成长,国乒大满贯王楠为了更好地训练也是煞费苦心,最近就展开了特训的升级
中银证券:维持公元股份“买入”评级。
智通财经APP获悉,据报道,特斯拉(TSLA US)设定了第二季度在上海生产9000辆Model Y车型出口到北美的目标,
记者从贵州铁路部门获悉,自4月23日凌晨5时起,贵阳北站南进站口正式启用。至此,广大旅客可通过该站南进口