在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8695|回复: 19

[活动] 每日一题——1121

[复制链接]
发表于 2012-11-21 08:40:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 vipjph 于 2012-11-28 20:46 编辑

1、说明下列定义的含义
a) int a;
b) int *a;
c) int **a;
d) int a[10];
e) int *a[10];
f) int (*a)[10];
g) int (*a)(int);
h) int (*a[10])(int);

2、If giving total standard cell gate count, all memory macro list including memory type, bit width and depth, all other macro with real size, and IO type and total number. How do you estimate the die size?
如果告诉你标准单元的门数,所有内存的类型和逻辑大小,其他IP的实际大小,以及IO cell的种类和数量,你如何估算整个芯片的面积?

欢迎大家积极讨论,答案稍后揭晓,参与回答者都有一定数目的信元奖励哦,加油~~

-----------------------------------------------------------------------
1、
a) 一个整型数(An integer)
b)一个指向整型数的指针( A pointer to an integer)
c)一个指向指针的的指针,它指向的指针是指向一个整型数( A pointer to a pointer to an intege)r
d)一个有10个整型数的数组( An array of 10 integers)
e) 一个有10个指针的数组,该指针是指向一个整型数的。(An array of 10 pointers to integers)
f) 一个指向有10个整型数数组的指针( A pointer to an array of 10 integers)
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)
h)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )


2、
答案:

IO neck 和 core neck 一般称作 IO limited 和 core limited,IO limited :这个芯片的面积是因为IO个数限制(太多),而不得不做得那么大。core部分其实用不了那么大。这时面积计算就简化为每边IO个数的计算了。Core limited:芯片面积是有core部分的决定的,IO没有那么多
在Core limited情况下,die size的估算如下:

芯片面积 = core面积+ power ring面积 +PAD ring面积
core面积 = RAM面积 + 其他macro面积 + 标准单元面积
RAM面积 = RAM 自身的面积 + RAM power ring面积 + keepout面积+ mbist面积
RAM自身的面积可以通过memory compiler或者查datasheet得到,
有些RAM 可以不要power ring。如果要的话,按照power mesh的宽度 x RAM的长宽 x 2 = 面积
keepout + mbist 的面积一般是RAM自身面积的10%
其他macro的面积,比如PLL,ADC,DAC等,直接把面积加起来,再留3~5%的keepout面积就好了
标准单元的面积=(预估的gate count x 每个gate的面积)/ utilization
utilization与使用的金属层数和设计的用途有关,简单地计算方法是
5层metal:50%
6层metal:60%
7层metal:70%
8层metal:80%
以上不包括power专用的金属层
如果设计是多媒体芯片,一般可以增加3~5% utilizaion,如果是网络芯片,则要减少3~5%。
发表于 2012-11-21 09:23:47 | 显示全部楼层
还真的不知道,先好好考虑一下
发表于 2012-11-21 13:45:43 | 显示全部楼层
1.int a;  定义int型变量a
2.int *a; 定义int*型指针变量a
3.int **a;定义int**型指向指针的指针变量a
4.int a[10];定义十个空间的数组a
5.int *a[10]; 定义指针数组 数组中时指针变量a[1] - a[10]
6.int (*a)[10]; 定义指针a指向int型数组
后面两个真没见过
发表于 2012-11-21 14:35:39 | 显示全部楼层
如果是pad limit,根据pad的宽度,以及pad的最小的pitch来算整个芯片的面积。
如果是core limit,(标准单元的门数X标准单元的面积+内存的逻辑大小+IP面积)/core的利用率 ,算出core的长(x)和宽(y),已知IO pad的长度(z),则芯片的面积是(x+z)*(y+z)
不知道对不对,对其中的内存的类型和逻辑大小不是很理解,内存不是IP吗?还是由寄存器阵列组成的?
发表于 2012-11-21 14:37:59 | 显示全部楼层
g) int (*a)(int);
h) int (*a[10])(int);

这两个是强制类型转换吗?
发表于 2012-11-22 20:11:28 | 显示全部楼层
好好思考一下!
发表于 2012-11-22 21:05:16 | 显示全部楼层
我都不会 希望有一天我也能来回答问题 加油
发表于 2012-11-22 23:34:51 | 显示全部楼层
pad limit 和core limit是啥啊
发表于 2012-11-23 11:30:36 | 显示全部楼层
回复 5# wohewangke


   
g) int (*a)(int);
h) int (*a[10])(int);


int (*a)(int),定义了一个指针a,指针a指向一个函数,函数有一个参数,参数为int类型,函数返回为int类型。
int (*a[10])(int),定义了一个数据,数据元素都是指针,指针指向的函数都是带有一个int参数,返回int类型
发表于 2012-11-23 22:37:12 | 显示全部楼层
Core limited:芯片面积是有core部分的决定的,IO没有那么多
芯片面积 = core面积+ power ring面积 +PAD ring面积

core面积 = RAM面积 + 其他macro面积 + 标准单元面积

RAM面积 = RAM 自身的面积 + RAM power ring面积 + keepout面积 + mbist面积
RAM自身的面积可以通过memory compiler或者查datasheet得到,
有些RAM 可以不要power ring。如果要的话,按照power mesh的宽度 x RAM的长宽 x 2 = 面积
keepout + mbist 的面积一般是RAM自身面积的10%

其他macro的面积,比如PLL,ADC,DAC等,直接把面积加起来,再留3~5%的keepout面积就好了

标准单元的面积=(预估的gate count x 每个gate的面积)/ utilization
utilization与使用的金属层数和设计的用途有关,简单地计算方法是
5层metal:50%
6层metal:60%
7层metal:70%
8层metal:80%
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-23 22:50 , Processed in 0.030554 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表