第八届中国研究生创"芯"大赛华为企业命题
发布时间:2025-03-06 来源:中国研究生创“芯”大赛

华为企业介绍

华为创立于1987年,是全球领先的ICT(信息与通信)基础设施和智能终端提供商。我们的20.7万员工遍及170多个国家和地区,为全球30多亿人口提供服务。 华为致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界:让无处不在的联接,成为人人平等的权利,成为智能世界的前提和基础;为世界提供多样性算力,让云无处不在,让智能无所不及;所有的行业和组织,因强大的数字平台而变得敏捷、高效、生机勃勃;通过AI重新定义体验,让消费者在家居、出行、办公、影音娱乐、运动健康等全场景获得极致的个性化智慧体验。

 

华为企业命题说明

华为企业命题专项奖专门用于奖励选择华为企业命题的赛队,华为企业命题专项奖是初赛奖,由企业专家评出。入围决赛的参赛队伍继续参加大赛决赛奖项评比,与初赛奖项互不冲突。

华为赛题分为通用题和专用题两类,2、3、7 题为通用题,1、4、5、6、8、9、10 题为专用题。评选特等奖时,同等条件下选择专用题的赛队优先。

华为赛题专项奖设置:

特等奖  3队,每队奖金5万元;

一等奖 10队,每队奖金1万元;

二等奖 20队,每队奖金0.5万元。

华为-创芯大赛人才招聘政策:
  华为公司鼓励部门从创芯大赛获奖学生中挖掘人才,并在招聘中提供quickpass政策。参加创芯大赛的获奖学生,投递芯片类岗位:
  获全国二等奖三等奖学生,可以免机考。
  获一等奖及以上学生,免机考和一轮专业面试。
  华为专项奖等级等同全国奖对应等级待遇。

 

 


赛题一:高线性度时钟相位插值器设计

相位插值器(phase interpolator),又称为相位旋转器(phase rotator),是一类对时钟相位进行大范围细颗粒度调节的电路单元,应用于高速接口等模拟IP当中。

典型的相位插值器,输入是两对正交的差分时钟,输出两相差分时钟,输出在数字控制字的控制下,调节输出时钟的相位。如下图所示:

请按照如下约束进行设计:

参数项

取值范围

说明

输入约束与输出负载

输入正弦信号频率范围

3GHz ~ 9GHz

要求电路在3GHz9GHz频率范围内都可以满足要求。

输入正弦信号摆幅

单端300mVpp

 

输入控制字位宽

8bit

8bit控制字对应256个控制档位,每个档位平均调节1.41°,8bit控制字可实现输出时钟相位360°调节。

输入RJ(Random Jitter,随机抖动)

50fsRMS

输入时钟上带有50fsRMS的随机抖动(RJ),相位噪声谱可以按照白噪声进行仿真

输入控制字编码格式

格雷码

 

输入控制字刷新频率

1GHz

 

输入控制字变化步长

+/- 1

每次输入控制字可以不变、增加1个code或者减小1个code

输出驱动负载电容

25fF

输出的一对差分时钟的每个pin上带有25fF负载电容

输出指标约束

输出信号摆幅

> 单端250mVpp

 

输出相位INL

(积分非线性)

< +/- 1.25°

INL曲线定义为:实际的 控制字-输出相位特性曲线  理想的 控制字-输出相位特性曲线的差;这里要求INL曲线最大值小于1.25°,最小值大于-1.25°(INL peak to peak 小于2.5°)

输出相位DNL

(微分非线性)

< +/- 0.7°

DNL定义为 实际的 控制字-输出相位特性曲线的步长与理想步长(1.41°)之间的差值

输出RJ(Random Jitter,随机抖动)

<100fsRMS

 

输出相位切换毛刺

< +/- 1.5°

数字控制字切换过程中,输出相位可能会出现突变,相位突变值不超过 +/- 1.5°

其他约束

工艺

标准CMOS工艺,建议28nm或更先进工艺节点。

 

功耗 at 9GHz输入

<6mW

 

结温范围

0°C至105°C

 

电源电压

可根据工艺自己选择合适电压域

 

电源电压变化范围

+/-5%

 

Corner

至少覆盖TTFFSSSFFS 5corner

 

评审得分点

  1. 有完整的电路原理图、版图及前后仿结果。
  2. 在满足输出摆幅和功耗约束的条件下, RJINLDNL、切换毛刺输出指标的仿真结果绝对值越小,得分越高
  3. 版图中长信号走线电感电容等关心Q值的部分需要采用电磁仿真抽取。
  4. 需要提供PVT仿真结果 
  5. 需要有设计文档,文档中要体现具体设计思路(如电路指标分析分解架构选取关键指标的设计分析core管类型及尺寸的选取依据、匹配网络的设计考虑、版图寄生的影响等)
  6. 版图布局合理面积紧凑
  7. 查询业界典型产品paper的指标分析差距存在的原因和可能的改进方向

输出要求

  1. 详细的设计说明文档
  2. 电路版图。
  3. 电路原理图及仿真TB(testbench)设置说明

专家答疑邮箱

zhouqinyu@hisilicon.com

赛题互动交流答疑社区链接:https://www.chaspark.com/#/races/competitions/1116166579032342528

 


 

赛题二:ICS电路设计(无线终端)

 

规格描述及要求:

 

图1.模块示意图

本考题为设计一个电路完成三路bit数据的交织(interleave)、合并(combine)和加扰(scramble)处理。如上图所示,交织处理通过同一组接口,从外部IN_BUF(外部模块,无需开发)分时读取三路长度为N0/N1/N2 bit的待交织数据,分别进行交织处理后的bit数据长度为E0/E1/E2。IN_BUF读接口支持每cycle读取连续128bit待交织数据。三路交织处理后的bit数据并不是所有bit都有效,有效bit数据起始点为S0/S1/S2,有效bit数据长度为L0/L1/L2,总有效bit数据长度LL = L0 + L1 + L2。取三路交织处理后的有效bit按照特定规则合并成一路的过程即为合并处理。加扰处理过程为对合并处理后的输出bit数据和特定随机序列进行按位异或。最后将加扰处理后的bit数据按照特定规则拼接成120bit对外输出。上图仅为示意图,完成功能前提下,具体内部实现和接口划分没有约束。

详细描述

IN_BUF数据存放格式

待交织bit数据在IN_BUF中都按照从低bit到高bit,从低地址到高地址顺序存放;PART0/PART1/PART2三路待交织bit数据分别存放于IN_BUF地址段0~78~1516~23;具体存放顺序如下图所示:

PART2

H23

{bit1023,

bit1022,

…,

bit897,

bit896}

H22

{bit895,

bit894,

…,

bit769,

bit768}

H21

{bit767,

bit766,

…,

bit641,

bit640}

H20

{bit639,

bit638,

…,

bit513,

bit512}

H19

{bit511,

bit510,

…,

bit385,

bit384}

H18

{bit383,

bit382,

…,

bit257,

bit256}

H17

{bit255,

bit254,

…,

bit129,

bit128}

H16

{bit127,

bit126,

…,

bit1,

bit0  }

PART1

H15

{bit1023,

bit1022,

…,

bit897,

bit896}

H14

{bit895,

bit894,

…,

bit769,

bit768}

H13

{bit767,

bit766,

…,

bit641,

bit640}

H12

{bit639,

bit638,

…,

bit513,

bit512}

H11

{bit511,

bit510,

…,

bit385,

bit384}

H10

{bit383,

bit382,

…,

bit257,

bit256}

H9

{bit255,

bit254,

…,

bit129,

bit128}

H8

{bit127,

bit126,

…,

bit1,

bit0  }

PART0

H7

{bit1023,

bit1022,

…,

bit897,

bit896}

H6

{bit895,

bit894,

…,

bit769,

bit768}

H5

{bit767,

bit766,

…,

bit641,

bit640}

H4

{bit639,

bit638,

…,

bit513,

bit512}

H3

{bit511,

bit510,

…,

bit385,

bit384}

H2

{bit383,

bit382,

…,

bit257,

bit256}

H1

{bit255,

bit254,

…,

bit129,

bit128}

H0

{bit127,

bit126,

…,

bit1,

bit0  }

 

交织处理

PART0/PART1/PART2三路交织处理各自独立,但处理流程完全相同,具体交织处理流程如下4步:

  1. 从外部读取N bit待加扰bit数据{A0A1,…,AN-1},循环重复到E bit,得到序列{A0,A1,…,AN-1,A0,A1,…,AN-1,A0,A1,…,Ax},其中E值为交织后的bit数据长度;
  2. 找到一个边长为P的等腰直角三角形,使得P*(P+1)/2 >=E(P-1)*P/2<E
  3. 将循环重复后的E bit数据按行从左到右从上到下的顺序放入三角形;
  4. 按列从上到下从左到右的顺序,从首个有效bit数据位置S开始连续输出L bit数据。

N=32E=80S=11L=68为例,根据上述公式得到P=13,交织处理后的bit数据摆放图如下,最后按照A14,A26,A5,A15,A24,A0,A7,A13,A2,A15,…,A10,A23,A3,A11的顺序输出。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

1

A0

A1

A2

A3

A4

A5

A6

A7

A8

A9

A10

A11

A12

2

A13

A14

A15

A16

A17

A18

A19

A20

A21

A22

A23

A24

 

3

A25

A26

A27

A28

A29

A30

A31

A0

A1

A2

A3

 

 

4

A4

A5

A6

A7

A8

A9

A10

A11

A12

A13

 

 

 

5

A14

A15

A16

A17

A18

A19

A20

A21

A22

 

 

 

 

6

A23

A24

A25

A26

A27

A28

A29

A30

 

 

 

 

 

7

A31

A0

A1

A2

A3

A4

A5

 

 

 

 

 

 

8

A6

A7

A8

A9

A10

A11

 

 

 

 

 

 

 

9

A12

A13

A14

A15

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

交织处理有以下约束:

  1. PART0/PART1/PART2三路不一定都有效,但至少有一路有效;
  2. PART0/PART1/PART2三路交织处理的N/E/S/L参数值不一定相同;
  3. 待交织处理的bit数据长度N的取值集合为{32,64,128,256,512,1024},共6种取值;
  4. 交织处理后bit数据长度E和输入bit数据长度N满足,E >= NE <= 8192
  5. 交织处理后的bit数据长度E,有效bit数据起点Sbit长度L满足,L % Q = 0L+S-1 <= EL >=1;其中Q为合并处理模块参数,表示连续Qbit数据为一个整体进行合并处理,取值集合为{1,2,4,6,8,10},共6种取值; 

合并处理:

合并处理过程即是将所有有效PART的有效bit数据,按照一定的规则摆放成LL/Q行,每行摆放10bit数据,其中低Qbit摆放有效bit数据,其余位置全部摆放0。有效bit数据从低bit到高bit,从低行数到高行数顺序摆放,最终按照行数从小到大的顺序输出。合并处理bit数据摆放存在优先级,具体优先级为PART0>PART1>PART2

对于PARTXX的取值范围为0/1/2)摆放规则为,剔除比PARTX优先级高的PART已经占用的行,从剩余行中的第0行开始,固定每间隔行,占用一行用来摆放PARTXbit数据,直到PARTX的有效bit数据摆完为止。其中,LxPARTX有效bit数据长度,LtLL剔除优先级大于PARTX的所有有效PART的有效bit数据长度之和。

Q = 8L0 = 32L1 = 48L2 = 80为例,总有效bit数据长度LL = L0 + L1 + L2=160

    • Part0Lt = LL = 160
    • Part1Lt = LL - L0 = 128
    • Part2Lt = LL - L0 - L1= 80

假设PART0交织处理后的有效bit数据为X0X1…X31PART1交织处理后的有效bit数据为Y0Y1…Y47PART2交织处理后的有效bit数据为Z0Z1…Z79,三路bit数据合并处理后的bit数据如下图所示,最终按照行H0 -> H1 -> … -> H19输出给后级。

H19

{0,

0,

Z79,

Z78,

Z77,

Z76,

Z75,

Z74,

Z73,

Z72}

H18

{0,

0,

Z71,

Z70,

Z69,

Z68,

Z67,

Z66,

Z65,

Z64}

H17

{0,

0,

Z63,

Z62,

Z61,

Z60,

Z59,

Z58,

Z57,

Z56}

H16

{0,

0,

Z55,

Z54,

Z53,

Z52,

Z51,

Z50,

Z49,

Z48}

H15

{0,

0,

X31,

X30,

X29,

X28,

X27,

X26,

X25,

X24}

H14

{0,

0,

Z47,

Z46,

Z45,

Z44,

Z43,

Z42,

Z41,

Z40}

H13

{0,

0,

Y47,

Y46,

Y45,

Y44,

Y43,

Y42,

Y41,

Y40}

H12

{0,

0,

Z39,

Z38,

Z37,

Z36,

Z35,

Z34,

Z33,

Z32}

H11

{0,

0,

Y39,

Y38,

Y37,

Y36,

Y35,

Y34,

Y33,

Y32}

H10

{0,

0,

X23,

X22,

X21,

X20,

X19,

X18,

X17,

X16}

H9

{0,

0,

Z31,

Z30,

Z29,

Z28,

Z27,

Z26,

Z25,

Z24}

H8

{0,

0,

Y31,

Y30,

Y29,

Y28,

Y27,

Y26,

Y25,

Y24}

H7

{0,

0,

Z23,

Z22,

Z21,

Z20,

Z19,

Z18,

Z17,

Z16}

H6

{0,

0,

Y23,

Y22,

Y21,

Y20,

Y19,

Y18,

Y17,

Y16}

H5

{0,

0,

X15,

X14,

X13,

X12,

X11,

X10,

X9,

X8 }

H4

{0,

0,

Z15,

Z14,

Z13,

Z12,

Z11,

Z10,

Z9,

Z8 }

H3

{0,

0,

Y15,

Y14,

Y13,

Y12,

Y11,

Y10,

Y9,

Y8 }

H2

{0,

0,

Z7,

Z6,

Z5,

Z4,

Z3,

Z2,

Z1,

Z0 }

H1

{0,

0,

Y7,

Y6,

Y5,

Y4,

Y3,

Y2,

Y1,

Y0 }

H0

{0,

0,

X7,

X6,

X5,

X4,

X3,

X2,

X1,

X0 }

加扰处理:

将合并处理后的有效bit数据(每行仅低Qbit数据有效)和随机序列进行按bit异或处理的过程即为加扰处理。具体的扰码发生器的生成公式为: 

加扰处理后的数据每连续12行为一组,按照行数从小到大的顺序拼接成120bit的数据,不足12行时不足部分用零补充,最后再按照组数从小到大的顺序输出。由于不是每次输出12行都有效,因此还需要输出有效行数指示,表示当前12行输出数据中有多少行是有效数据,取值范围为1~12

以合并处理章节示例中输出数据为例,假设扰码序列编号为C0C1C159。如下图所示,经过加扰处理后的输出数据为D0 = {H11,H10,...,H1,H0}D1 = {H23,H22,...,H13,H12},对应的有效行数分别为128,最终输出时按照组数从小到大的顺序先输出D0后输出D1

D1={
H23,
H22,
...,
H13,
H12
}

H23

{0,

0,

0,

0,

0,

0,

0,

0,

0,

0  }

H22

{0,

0,

0,

0,

0,

0,

0,

0,

0,

0  }

H21

{0,

0,

0,

0,

0,

0,

0,

0,

0,

0  }

H20

{0,

0,

0,

0,

0,

0,

0,

0,

0,

0  }

H19

{0,

0,

Z79^C159,

Z78^C158,

Z77^C157,

Z76^C156,

Z75^C155,

Z74^C154,

Z73^C153,

Z72^C152}

H18

{0,

0,

Z71^C151,

Z70^C150,

Z69^C149,

Z68^C148,

Z67^C147,

Z66^C146,

Z65^C145,

Z64^C144}

H17

{0,

0,

Z63^C143,

Z62^C142,

Z61^C141,

Z60^C140,

Z59^C139,

Z58^C138,

Z57^C137,

Z56^C136}

H16

{0,

0,

Z55^C135,

Z54^C134,

Z53^C133,

Z52^C132,

Z51^C131,

Z50^C130,

Z49^C129,

Z48^C128}

H15

{0,

0,

X31^C127,

X30^C126,

X29^C125,

X28^C124,

X27^C123,

X26^C122,

X25^C121,

X24^C120}

H14

{0,

0,

Z47^C119,

Z46^C118,

Z45^C117,

Z44^C116,

Z43^C115,

Z42^C114,

Z41^C113,

Z40^C112}

H13

{0,

0,

Y47^C111,

Y46^C110,

Y45^C109,

Y44^C108,

Y43^C107,

Y42^C106,

Y41^C105,

Y40^C104}

H12

{0,

0,

Z39^C103,

Z38^C102,

Z37^C101,

Z36^C100,

Z35^C99,

Z34^C98,

Z33^C97,

Z32^C96 }

D0={
H11,
H10,
...,
H1,
H0
}

H11

{0,

0,

Y39^C95,

Y38^C94,

Y37^C93,

Y36^C92,

Y35^C91,

Y34^C90,

Y33^C89,

Y32^C88 }

H10

{0,

0,

X23^C87,

X22^C86,

X21^C85,

X20^C84,

X19^C83,

X18^C82,

X17^C81,

X16^C80 }

H9

{0,

0,

Z31^C79,

Z30^C78,

Z29^C77,

Z28^C76,

Z27^C75,

Z26^C74,

Z25^C73,

Z24^C72 }

H8

{0,

0,

Y31^C71,

Y30^C70,

Y29^C69,

Y28^C68,

Y27^C67,

Y26^C66,

Y25^C65,

Y24^C64 }

H7

{0,

0,

Z23^C63,

Z22^C62,

Z21^C61,

Z20^C60,

Z19^C59,

Z18^C58,

Z17^C57,

Z16^C56 }

H6

{0,

0,

Y23^C55,

Y22^C54,

Y21^C53,

Y20^C52,

Y19^C51,

Y18^C50,

Y17^C49,

Y16^C48 }

H5

{0,

0,

X15^C47,

X14^C46,

X13^C45,

X12^C44,

X11^C43,

X10^C42,

X9^C41,

X8^C40  }

H4

{0,

0,

Z15^C39,

Z14^C38,

Z13^C37,

Z12^C36,

Z11^C35,

Z10^C34,

Z9^C33,

Z8^C32  }

H3

{0,

0,

Y15^C31,

Y14^C30,

Y13^C29,

Y12^C28,

Y11^C27,

Y10^C26,

Y9^C25,

Y8^C24  }

H2

{0,

0,

Z7^C23,

Z6^C22,

Z5^C21,

Z4^C20,

Z3^C19,

Z2^C18,

Z1^C17,

Z0^C16  }

H1

{0,

0,

Y7^C15,

Y6^C14,

Y5^C13,

Y4^C12,

Y3^C11,

Y2^C10,

Y1^C9,

Y0^C8   }

H0

{0,

0,

X7^C7,

X6^C6,

X5^C5,

X4^C4,

X3^C3,

X2^C2,

X1^C1,

X0^C0   }

接口信号:

信号名称

I/O

位宽

描述

clk

I

1

时钟,频率为450MHz

rst_n

I

1

异步复位,同步撤离信号,0表示复位,1表示解复位

ics_start

I

1

启动信号,单时钟周期脉冲信号

ics_c_init

I

31

随机序列初相,对应上文中的参数

ics_q_size

I

4

bit数据合并处理基本单元,对应上文中的参数Q

ics_part0_en

I

1

part0使能,1表示part0有效,0表示part0无效

ics_part0_n_size

I

11

part0待交织数据bit长度,对应上文中的参数N0

ics_part0_e_size

I

14

part0交织处理后所有数据bit长度,对应上文中的参数E0

ics_part0_l_size

I

14

part0交织处理后的有效bit数据长度,对应上文中的参数L0

ics_part0_st_idx

I

14

part0交织处理后的有效bit数据起始点对应上文中的参数S0

ics_part1_en

I

1

part1使能,1表示part1有效,0表示part1无效

ics_part1_n_size

I

11

part1待交织数据bit长度,对应上文中的参数N1

ics_part1_e_size

I

14

part1交织处理后所有数据bit长度,对应上文中的参数E1

ics_part1_l_size

I

14

part1交织处理后的有效bit数据长度,对应上文中的参数L1

ics_part1_st_idx

I

14

part1交织处理后的有效bit数据起始点,对应上文中的参数S1

ics_part2_en

I

1

part2使能,1表示part2有效,0表示part2无效

ics_part2_n_size

I

11

part2待交织数据bit长度,对应上文中的参数N2

ics_part2_e_size

I

14

part2交织处理后所有数据bit长度,对应上文中的参数E2

ics_part2_l_size

I

14

part2交织处理后的有效bit数据长度,对应上文中的参数L2

ics_part2_st_idx

I

14

part2交织处理后的有效bit数据起始点,对应上文中的参数S2

ics_rd_en

O

1

待交织处理bit数据读使能

ics_rd_addr

O

5

待交织处理bit数据读地址

ics_rd_data

I

128

待交织处理bit数据读数据,读使能的下一拍有效

ics_out_sof

O

1

第一个输出数据标志,和第一个有效数据ics_out_vld对齐

ics_out_eof

O

1

最后一个输出数据标志,和最后一个有效数据ics_out_vld对齐

ics_out_vld

O

1

输出数据有效标志,1表示有效输出数据有效

ics_out_num

O

4

交织处理输出12行数据中有效行数指示,取值范围为1~12

ics_out_data

O

120

交织、合并、加扰处理完后的输出数据,每次输出120bit

 

接口时序

以三个PART都有效场景为例,对外接口时序如下图所示:

 

接口信号时序约束:

  1. 静态配置参数需要在start当拍到ics_out_eof之间(含ics_out_eof当拍)保持不变;
  2. 读使能的下一拍返回待交织bit数据,每拍返回连续128bit 
  3. 数据输出的同时输出数据有效标志vld、首个数据指示sof和最后一个数据指示eof
  4. 首个数据指示sof时序同第一个有效数据vld,最后一个数据指示eof时序同最后一个有效数据vld
  5. 首个数据指示sof和最后一个数据指示eof任何场景下需要满足成对出现;
  6. 输入信号不要求reg_in(寄存器打拍后使用),输出信号要求reg_out(寄存器输出);
  7. 不支持上一轮未完成即启动新一轮处理,支持最快eof下一拍启动新一轮处理;
  8. 处理时延(从ics_startics_out_eof之间的间隔)要求不超过2500个时钟cycle

评审得分点:

  1. 设计方案文档描述清晰,模块功能划分合理;
  2. 实现功能正确,满足题目要求;
  3. 文档包含对模块功耗面积和处理时延优化的措施说明;
  4. 功耗面积和处理时延指标以所有参赛团队在各个专项的归一化分数统计,以各专项第一名的指标为10分,最后一名为1分,其他名次指标在中间做线性量化分数。
  5. 总分=0.1*功耗分 + 0.3*面积分 + 0.6*时延分;
  6. 要求有较完备的验证方案和验证用例;

输出要求:

  1. 详细的设计文档和RTL代码;
  2. 验证环境、验证用例、典型场景验证数据和波形截图;
  3. 提供面积(推荐使用TSMC 7nm工艺,DC下评估面积)、典型场景功耗和典型场景处理时延评估数据,使用工艺库评估的需标明工艺库,使用FPGA工具评估的需写明工具版本device型号资源占用时序信息等

典型场景:

  1. 提供几种典型场景的参数和数据供调试和处理时延评估具体见插件

     

 

专家答疑邮箱

wangrongjun@hisilicon.com

 

赛题互动交流答疑社区链接:https://www.chaspark.com/#/races/competitions/1116168723554811904

 

 


 

赛题三:查表保序管理模块设计

模块功能描述:

  1. 如图1所示,模块C为考查模块,请完成该模块的方案和编码。它与A/B/D模块有功能交互,模块B为报文发送模块,模块A为表项管理模块,模块D为报文接收模块;

  1. B模块发送报文给C时,携带查表信息和保序信息,完成查表和满足保序要求后,报文由C发送至D;
    • 查表携带的信息lkp_info相同时,A模块返回的查表lkp_rslt相同;
    • 每个报文与它前面128个报文的lkp_info相同的概率是50%;
  2. 如图2所示,需查表报文lkp_en==1,模块C要拿到lkp_rslt后,报文才可由C发送至D模块;如图3所示,无需查表报文(lkp_en==0),报文可直接由C发送至D模块;

  1. C模块向A模块发出的查表请求,最大支持256个outstanding。A模块向C模块返回的查表结果,支持乱序返回
  2. 保序要求:图4为保序示例。
    • Order_id为0,无任何保序要求,此时SO固定为0;
    • Order_id0,有保序要求
      • SO为0的报文,无保序要求;
      • SO为1的报文,同Order_id保序,即某个SO为1报文需要等先于它到达C模块的所有相同Order_id报文全部发送到D模块后,才能发送至D模块;
      • 同一Order_id,两个SO为1的报文中间SO==0报文个数最多16个;

模块性能要求:

  1. 工作频率1GHz;
  2. 如下三种典型性能场景:

场景一:所有报文无需查表无需保序,即lkp_en为 0,Order_id为全0场景,带宽能达到64GB/s

场景二:所有报文需要查表,查表延时10~200ns内随机(10~25ns 90%,25~100ns占7%,100~200ns占3%),Order_id取值0~7比例均匀,SO为0和1的报文比例占比80%和20%,带宽尽可能打满;

场景三:报文Order_id取值0~7比例均匀,SO为0和1的报文比例分别占比20%和80%,报文lkp_en取值为0和1的比例分别占比20%和80%,查表延时固定200ns,带宽尽可能打满;

  1. 性能牵引:

无保序报文尽可能不受到阻塞;

不同Order_id的报文不相互阻塞;

性能尽可能平稳,不出现急剧跳水;

  1. 在满足模块性能的前提下,尽可能优化模块面积和功耗;

 

模块接口描述:

 

信号名

位宽

描述

时钟复位

clk

1

时钟

rst_n

1

复位,低电平有效

B与C模块之间接口信号

b2c_pkt_vld

1

报文有效指示信号,高电平有效

b2c_pkt_lkp_en

1

报文是否需要查表指示信号

1:报文需要查表

0:报文不需要查表

b2c_pkt_lkp_info

20

报文查表边带信息

b2c_pkt_odr_id

3

报文保序队列ID,取值范围0~7

注:值为0时,表示无保序要求,此时对应so固定为0。

b2c_pkt_so

1

报文强保序标记

0:无保序要求;

1:发送顺序要保证在同Order_id前面接收的报文已完成发送

b2c_pkd_payload

512

报文数据

c2b_pkt_rdy

1

C模块可接受报文状态指示

b2c_pkt_vld & c2b_pkt_rdy为1时,表示报文被C模块接收。

AC模块之间接口信号

c2a_lkp_vld

1

查表请求有效指示信号,高电平有效

c2a_lkp_info

20

查表边带信息,来自于报文接收时b2c_pkt_lkp_info

c2a_lkp_req_id

10

查表请求ID

a2c_lkp_rdy

1

A模块可接受查表请求状态指示

c2a_lkp_vld & a2c_lkp_rdy为1时,表示查表请求被A模块接收。

AC模块之间接口信号

a2c_lkp_rsp_vld

1

查表响应有效指示信号,C模块须无条件接收查表响应,高电平有效

a2c_lkp_rsp_id

10

查表响应ID,用于指示是哪个c2a_lkp_req_id相对应的结果

a2c_lkp_rslt

20

查表响应结果,需随报文发至模块D

DC模块之间接口信号

c2d_pkt_vld

1

报文有效指示信号,高电平有效

c2d_pkt_odr_id

3

保序队列ID,取值范围0~7

c2d_pkt_so

1

强保序标记

c2d_pkt_lkp_rslt

20

报文查表结果

c2d_pkt_payload

512

报文数据,C模块不改变数据内容

d2c_pkt_rdy

1

D模块可接受报文状态指示

c2d_pkt_vld & d2c_pkt_rdy为1时,表示报文被D模块接收。

评审得分点:

  1. 实现功能正确,满足题目要求;
  2. 文档分(占10%):模块功能划分合理,微架构方案描述清晰,包含性能及资源分析,面积和功耗优化方案说明;
  3. 性能分(占70%):三个性能场景,场景一占20%,场景二占40%,场景三占40%;各场景总分10分为例,以最高带宽为满分,带宽每减少1%,减少1分。
  4. 面积分(占20%):所有参赛团队在各个专项的归一化分数统计;
  5. 要求有完备的验证方案,验证用例和验证报告;

输出要求:

  1. 模块C的详细设计文档和RTL代码;
  2. 模块C的验证环境、验证用例、验证数据和波形截图,验证报告;
  3. 模块C的性能测试报告,包含三种性能场景中性能数据说明;
  4. 模块面积数据,使用工艺库评估的需标明工艺库,推荐使用TSMC 12nm工艺,DC下评估面积;

专家答疑邮箱

guojian111@hisilicon.com

赛题互动交流答疑社区链接:https://www.chaspark.com/#/races/competitions/1116174987567480832

 


 

赛题四3D 芯片设计True 3D Macro Placement + Partition

描述及要求 

  1. 基于题目中提供的 Netlist 和 3DPDK Mempool,实现具有网表划分功能的 3D Placement。
  2. 完成True Macro Placement,优化线长。
  3. 进行密度评估: Overflow低于 10%。
  4. 上下层芯片的利用率差异控制在 5% 以内。
  5. 局部 3D 互联密度(Density)满足要求,(x um Pitch 条件)达标。
  6. 加分项:时序优化(Timing)。
  7. 加分项:拥塞优化(Congestion)。

点击图标下载3DPDK Mempool或打开链接下载:cpipc.acge.org.cn/sysFile/downFile.do?fileId=760ce6e234314bcea6b8e40c00cc3563

评审得分点:

  1. 实现算法功能正确,满足题目要求;
  2. 设计方案文档描述清晰,模块功能划分合理;
  3. 线长部分 40%Density Overflow 部分40%;Timing 10%Congestion10%
  4. 要求有完备的验证方案和验证用例;

输出要求:

  1. 算法设计与优化分析报告;(含方案分析与Placement 线长报告,Timing报告,Density Map)
  2. Placement Iteration 线长,Density Overflow,3D 互联数量的变化
  3. 提供Placement功耗、性能、面积评估数据,使用工艺库评估的需标明工艺库;使用FPGA工具评估的需写明工具版本device型号资源占用时序信息等

专家答疑邮箱

liuzhe@hisilicon.com

赛题互动交流答疑社区链接:https://www.chaspark.com/#/races/competitions/1116175995349680128

 


 

赛题五:NAND2环振优化设计

描述及要求:

高阶环振设计和验证是检验工艺和器件能力的常用方法。要求在限制设备和工艺能力前提下,以NAND2为基准单元,设计功耗-性能-面积最佳的环振。

  1. 假定现有工艺最低CGP=60nm contacted gate pitch的条件进行器件结构设计包含NPMOSFET各一个其他材料限制和要求见附件20分】
  2. 进行器件性能仿真与优化,实现最大的开态电流和最小的寄生电容;要求半定量说明为何无法进一步优化的原因。限制关键性能指标符合附件所列指标,其中迁移率需要与参考资料验证。20分】
  3. 对器件仿真结果进行建模拟合要求尽可能缩小附录所列电性指标相对误差解释所用模型的合理性20分】
  4. 使用前述N和P型MOSFET搭建NAND2单元进行寄生抽取要求设计规则不超过ASAP5和IRDS-2021-“5nm”节点所列工艺和设备能力要求给出版图包含尺寸和叠层信息20分】
  5. 使用前述NAND2,优化连线搭建97环振,在0.5-1V范围内仿真功耗和性能给出最优结果20分】

评审得分点:

  1. 晶体管器件搭建包含核心部件和尺寸说明,包含工艺流程示意图及其仿真。
  2. 给出迁移率验证数据、电性曲线和关键参数提取结果;解释无法进一步优化的分析说明
  3. 模型说明、拟合误差。
  4. NAND2单元版图设计规则和寄生抽取结果
  5. 仿真文件功耗性能结果连线版图

额外说明

  1. 上述各题均以所有参赛团队在各个专项的归一化分数统计,以各专项第一名的指标为满分,最后一名的指标为满分的十分之一,其他名次指标在中间做线性量化分数。
  2. 未做说明的假定参考ASAP5(Microelectronics Journal 126 (2022) 105481)和IRDS-2021-More Moore-“5”nm允许自行引入额外的必要假定但需简述其合理性和必要性
  3. 任何一题有给出超越业内理解的新思路,并有效证明可行性,得分可以翻倍。
  4. 其它说明参见附录:

点击图标下载附录或打开链接下载:cpipc.acge.org.cn/sysFile/downFile.do?fileId=8513d093ff4b4b57934e0846daf3d7cc

输出要求:

  1. 答案的核心描述和最终数据
  2. 模型和参数使用的仿真软件及其代码参数提取代码
  3. 器件3D结构图、器件module target spec定义迁移率符合约束的验证曲线、器件TCAD和建模电性数据曲线、环振性能-功耗曲线;
  4. (如有)额外引用的数据来源

专家答疑邮箱

zhangqiang241@hisilicon.com

赛题互动交流答疑社区链接:https://www.chaspark.com/#/races/competitions/1116185270318972928

 


 

赛题六Path-Based Timing Driven Global Placement(后端设计) 

描述及要求 

  1. 题目背景:布局布线工具是VLSI芯片设计中最关键的工具之一。随着工艺的持续演进、DTCO、STCO的持续引入,布局布线面临了由新工艺特性带来的巨大挑战,例如如何在更多的工艺约束下面实现更优的PPA。Global Placement是PnR核心流程的第一步,一定程度上决定了芯片PPA上限。在Global Placement阶段处理好Timing的约束,既能提升Global Placement阶段Timing结果,还能减少PnR过程中的迭代次数。
  2. 题目价值:当前学术界主流Timing Driven Global Placement方案主要是(1)Net-based、 Pin-based Net Weighting方案(Ref.[1])(2)Differentiable-Timing-Driven Global Placement方案(Ref.[2]),实现的时序结果WNS、TNS均有较大提升空间。

实现Path-Based Timing Driven Global Placement不仅能提升Global Placement环节时序结果,还能提升PnR工具环节间的一致性,从而提升PnR工具整体PPA竞争力。

  1. 基础平台:

1)Placer,考虑工作量建议采用开源DreamPlaceDreamPlace 4.0)平台,github地址:https://github.com/limbo018/DREAMPlace

2)Timer,考虑工作量建议采用开源OpenTimergithub地址:https://github.com/OpenTimer/OpenTimer

  1. 用例:为了便于同前沿学术成果对比,Benchmark Suite采用:ICCAD-2015 CAD contest in incremental timing-driven placement and benchmark suite(Ref.[3])

评审得分点:

  1. 实现算法功能正确,满足题目要求,跑通全部用例;
  2. 算法文档明确说明Global Placement与STA集成方式,要求显式提供解决不同Timing Path时序违例问题的方案;
  3. 关键指标:

1)WNS,权重30%

2Top 100关键路径平均WNS,权重20%

3TNS,权重30%

4)Runtime,权重10%

(5)Peak Memory,权重10%

  1. 要求跑通ICCAD-2015 CAD contest benchmark suite全部用例,且report关键指标,并和DreamPlace 4.0结果对比。按照上述5个指标打分,加权后满分100。其中WNS、TNS、WNS100优化减半或更多得100分,以此类推,持平及以下0分。Runtime、Peak Memory按照胜负打分,胜100,败0分。

输出要求:

  1. 算法设计方案;
  2. Benchmark全部用例运行环境、log、时序报告等;
  3. 结果分析报告。

关键引用

  1. P. Liao, S. Liu, Z. Chen, W. Lv, Y. Lin and B. Yu, "DREAMPlace 4.0: Timing-driven global placement with momentum-based net weighting", Proc. DATE, pp. 939-944, 2022.
  2. Z. Guo and Y. Lin, "Differentiable-timing-driven global placement", Proceedings of the IEEE/ACM Design Automation Conference, pp. 1315-1320, 2022.
  3. M C Kim, J Hu, J Li et al., "ICCAD-2015 CAD contest in incremental timing-driven placement and benchmark suite [C]", 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 921-926, 2015.

专家答疑邮箱

zhangrui727@huawei.com

赛题互动交流答疑社区链接:https://www.chaspark.com/#/races/competitions/1116186584994201600

 


 

赛题七:高速高线性度DAC设计

描述及要求:

1. 输入信号带宽:10M~500M

2. DAC 采样率:Fs>=4GHz

3. SFDR 要求:SFDR在100M下,SFDR>78dBc,SFDR500M下SFDR>66dbc。幅度为-6dBFs~

              -15dBFs,需要MC下的最差线性度

4. 功耗:<40mW

5. 输入信号幅度:1Vpp FullScale

6. 架构不限,Current Steering DAC优选,同时需要设计TIA

7. 工艺:建议使用标准CMOS工艺

8. 温度范围:20℃至+85

9. 供电电压随选定工艺而定

评审得分点:

1.思路正确,根据性能、功耗的要求要有合理的架构选型分析;

2.设计Current Steering DAC的架构,需要设计TIA,性能看TIA输出,TIA架构分析的完备性和性能分析作为加分项;

3.在满足指标要求的情况下FOM越高,得分越高。线性度越高得分越高;

4.需要有文档,说明各个子电路性能指标的分解依据,子电路结构的选择依据等;

5.各个子模块的功耗、噪声和非线性等用饼状图给出占比分析;

6.校准算法选择及有效性分析,或者是DEM选择是需要包含的。分析的是否详细作为加分项;

7.查询业界典型产品和paper的指标,分析差距存在的原因,和可能的改进方向;

输出要求

  1. 详细设计报告:内容包含但不限于系统框图、系统&子模块工作原理分析、子模块指标分解和电路原理图;
  2. 仿真报告:内容需包含子模块及整系统的仿真条件、仿真电路、仿真波形及仿真结果分析,仿真波形包括但不限于DC/AC/TRAN/MC;详细的前后仿真结果;
  3. 电路原理图、版图及仿真电路数据库

专家答疑邮箱

fankai1@huawei.com

赛题互动交流答疑社区链接:https://www.chaspark.com/#/races/competitions/1116187344226140160

 


 

赛题八:VCSEL激光器的3D Vectorial求解

赛题涉及的VCSEL结构请见以下文献:

https://ieeexplore.ieee.org/document/970909

描述及要求:

  1. 采用文献中的benchmark structure结构,求解VCSEL(Vertical-cavity surface-emitting laser)的resonance效应和光场分布;
  2. 需通过VectorialMaxwell方程求解3DVCSEL结构;
  3. 与文献中的结果进行对比。

评审得分点:

  1. 功能正确实现;
  2. 理论分析越全面,得分越高;
  3. 越快速算法,得分越高;
  4. 算量越低但不影响精准度,得分越高;
  5. 收敛性越好,得分越高。

输出要求:

  1. 所采用的方法及其数学推导;
  2. 详细设计文档和算法模型代码;
  3. 给出方法的计算量和计算时间;
  4. 与文献结果的对比。

专家答疑邮箱:

zhaochong1@huawei.com

赛题互动交流答疑社区链接:https://www.chaspark.com/#/races/competitions/1116168979398967296

 


 

赛题九:POLAR码编解码模块设计

描述及要求: 

  1. 基于提供的极化码可靠度序列设计POLAR编解码模块POLAR_ENC/POLAR_DEC

  1. 码块大小固定为1024bit,码率支持1/43/8两种码率。

N:码长,固定为1024比特

K:信息比特长度

R:码率,R=K/N,即1/4码率时K=256,3/8码率时K=384

  1. 极化码可靠度序列见表格

POLAR码编解码模块设计.rar

  1. 通过编码IP完成编码后,参赛者使用标准BPSK调制加噪、解调生成5bit LLR译码数据,通过解码IP进行解码
  2. 分析信噪比SNR与误帧率PER之间的关系,以1000帧随机码字为标准PER从10%下降到0.1%时,SNR上升不超过2.4dB
  3. 设计优化定点算法使用verilog实现该POLAR_ENC/POLAR_DEC模块
  4. 64MHz时钟主频下吞吐率不低于32Mbps

需要满足以下延时要求:

a)编码延时小于1.5us 

b)延时小于7.5us

  1. 相同SNR性能、编解码延迟的情况,追求面积功耗优化
  2. 模块接口信号列表如下:

 

POLAR_ENC

Signal Name

I/O

Width

Description

clk

I

1

输入时钟(64MHz

rst_n

I

1

异步复位

polar_rate_sel

I

1

polar码率指示:0表示1/4码率,1表示3/8码率

polar_enc_start

I

1

编码启动脉冲信号

polar_enc_data_in

I

384

编码前比特序列,1/4码率时低256比特有效

polar_enc_done

O

1

编码完成脉冲信号

polar_enc_data_out

O

1024

编码后数据

 

POLAR_DEC

Signal Name

I/O

Width

Description

clk

I

1

输入时钟(64MHz

rst_n

I

1

异步复位

polar_rate_sel

I

1

polar码率指示:0表示1/4码率,1表示3/8码率

polar_dec_start

I

1

译码启动脉冲信号

llr_data

I

1024*5

按顺序解调得到的LLR,每个LLR为经过对称饱和限幅的5bit有符号数

polar_dec_data_vld

O

1

译码输出数据有效

polar_dec_data_out

O

8

译码后数据,以字节为单位顺序输出 

polar_dec_done

O

1

译码完成脉冲信号

 

评审得分点:

  1. 实现算法功能正确,满足题目要求;
  2. 设计方案文档描述清晰,模块功能划分合理;
  3. 算法文档明确说明模块内部量化定标,及对应性能分析;
  4. 编码IP分数占30%解码IP分数占70%;
  5. 信噪比SNR与误帧率PER、编解码延迟约束情况下,模块面积越小功耗越低得分越高;
  6. PPA指标均以所有参赛团队在各个专项的归一化分数统计,以各专项第一名的指标为10分,最后一名的指标为1分,其他名次指标在中间做线性量化分数。
  7. 要求有完备的验证方案和验证用例;

输出要求:

  1. 算法设计与优化分析报告;(含方案分析与性能仿真结果)
  2. POLAR_ENC/POLAR_DEC详细设计文档和RTL代码;
  3. POLAR_ENC/POLAR_DEC验证环境、验证用例、验证数据和波形截图;
  4. 提供IP的功耗、性能、面积评估数据,使用工艺库评估的需标明工艺库;使用FPGA工具评估的需写明工具版本device型号资源占用时序信息等

专家答疑邮箱

niuchuan@huawei.com

赛题互动交流答疑社区链接:https://www.chaspark.com/#/races/competitions/1116188978142429184

 


 

赛题十:单反馈架构下的宽带ET功放的建模算法与线性化系统设计

赛题描述:

包络跟踪(ET, Envelope Tracking)是通过发送信号实时包络对射频功率放大器的直流供电进行调制,进而最大化射频功放效率的一种射频前端子系统。由于其较强的性能优势与灵活性,在无线移动终端领域被广泛应用。同时也因为较大的商业价值,一直以来都是海思、高通、MTK等主要终端芯片厂商的竞争重地。

Part 1: 宽带ET-PA建模

    ET系统的设计难度,随着系统带宽的增加显著变大。最重要的原因是,宽带ET电源调制工作在大带宽模式下会不可避免的产生非理想因素,并受到PA输出低频分量的泄露影响,进一步污染其供电波形的质量。这种供电波形与宽带功放的失真将会协同影响宽带ET功放的非线性行为,恶化发射信号的各项指标。

  为宽带ET-PA设计线性化方案,如数字预失真系统(DPD),除了考虑功放自身的数学建模外,还需要考虑对ETM的行为,才有可能达到较理想的模型精度。

 

Part 2: 线性化方案构思

  基于所提供的建模方案,给出对应的线性化方案原型。

 

具体要求:

  1. 命题人员提供(1)基带时域信号;(2)对应的ETM输入信号;(3)PA的输出测量信号(波形数据下载链接:https://share.weiyun.com/8lZ1hZiF)。
  2. 要求利用(1)~(3),构建非线性模型,完成对PA测量输出的回归建模
  3. 给出基于该模型的线性化方案线性构思。

 

注意

  • 如使用AI方法完成任务,需要对所使用的网络结构进行白盒化的数学描述;

 

专家答疑邮箱:

    qianjing3@huawei.com

赛题互动交流答疑社区链接:https://www.chaspark.com/#/races/competitions/1116190184713666560