欢迎光临散文网 会员登陆 & 注册

飞腾X100 LPDDR颗粒线序配置辅助工具

2023-04-04 09:38 作者:乌拉大喵喵  | 我要投稿

1.5TB“电子工程师资料”详细介绍

1.5TB“电子工程师资料”详细介绍

1.5TB“电子工程师资料”详细介绍

以下文章从微信公众号“乌拉大喵喵”文章导入。

查看原文,可复制链接到浏览器:

https://mp.weixin.qq.com/s/QwFoBg6byoqLl-1Matp25Q


正文内容:       

一、

飞腾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硬件正确的配置为:


使用软件计算得到的配置为:


结果一致,说明工具有效。


关键源码:



==工具下载地址==

百度网盘链接:

https://pan.baidu.com/s/1mCA01ibW95-TtpVn4INFsw?pwd=a0kd


欢迎飞腾爱好者加入微信交流群。

群内大家可以畅所欲言。

在群内不需要表露自己的公司和身份,可以群内交流遇到的问题,分享自己的调试心得。

希望大家共建飞腾友谊!


飞腾X100 LPDDR颗粒线序配置辅助工具的评论 (共 条)

分享到微博请遵守国家法律