 
-
注册时间
-
2009-11-15
-
积分
-
156
|
多谢老大这么快速的回帖,明白了你的说意思了。老大是说一个单元(比如streamer unit)内部各个模块(streamer fetch, Loader, commit.....)之间的独立性不强。
attila在我看来定位应该是一个cmodel,而不是RTL model, 也就是说不是面向硬件实现的。我个人觉得如果要设计一个Graphic pipeline,首先要从功能上进行划分,划分成各个unit,就像attila一样,有streamer unit , clipper , Memory controller, PrimitiveAssebly, Rasterizer , Shader.....) ,Unit的内聚性要好(高内聚必然导致独立性不强),Unit之间的耦合降到最低.Attila 用signal的抽象机制实现了unit之间的低耦合(相当于Unit与Unit之间引入了一层抽象),Unit的行为变得更加模式化,状态判断-->接收read
signal--->做相应处理--->Write Signal 这样既统一了unit之间的接口,也降低了unit之间的相关性,缺点是每个cycle都有一堆一堆的signal,也就是老大说的一堆指针送来送去。
从程序的结构来分析,Sim工程那部分只是个壳,真正的具体实现分离到emul那个工程中,软件设计上达到了功能和实现的分离。所以说attila的构架设计,从软件上看,我觉得还是有很多可取之处的。接触时间短,理解不深,还请老大和各位高手批评指正错误之处,谢谢。
另外,也想知道要做到硬件实现上的高效性,具体如何做,构架怎么设计?再次谢谢!:) |
-
1
查看全部评分
-
|