0924
C1、C2的抽头,接我们所需要的定制的时钟。
那个肯定是时钟的上游,clock的source。
这是一个例子,一个典型应用的例子。
下面我们来说一下,它的属性和规则。
Avalon它是一种标准,这种标准制定的时候就考虑了握手和握手之间的物理规律,那些上帝制定的规律。
把那些上帝制定的规律讨论清楚了,然后呢,我们从容地驾驭它。
那么要描述这种规律呢,我们仍然是用属性和规则,properties,和signal rules,用这两者来描述它。
0925
属性呢,相当于一种说明,辅助性的说明。
而规则呢,是一种设计的时候,必须要遵循的那种规则。
每个接口都定义了一个或者多个规则。
有些是必须的,有些是可选的。
必须的,就是说有这个信号,就必须有这个规则。
可选的,有这个信号,有这个接口,未必要有这个规则。
取决于设计者。
这上面写的是槽接口,国内的有些文献上面写的是宿接口。
Source就是源。我们来讨论它的时钟。
对于时钟,它的interface,它的时钟的下游和时钟的上游,sink和source。
0926
Sink就是下游,source就是上游。
它引用的参考时钟,显然是时钟的下游,它引用的抽头的,显然是时钟的上游,clock source。
然后它的规则是这么定制的,规则有个规则名。
规则名不一定是信号名。
但信号名一定会对应一个规则名。
这个规则名就叫clk,它的宽度是1个比特,方向是输入,现在指向时钟的sink。
时钟的下游一定是输入的方向。
而且必要性是yes。
就是说有这个信号,就有这个规则。
它一定是必要的。
另外,还有一个属性,就是时钟的速率。
时钟的速率,它是作为属性,来约束出来的。
0927
时钟的速率,是0到2的32次方减一,PPT没打清楚。
2的32次方减一,这是芯片设计所必需的,过了这个范围就达不到了。
工具也达不到。
现在指的是时钟源,时钟的上游。
时钟上游呢,规则也只有一个。
必要性也是yes,有这个信号,就有这个规则。
那么属性有三个,一个是关联直接时钟。
0928
因为它是一个输出的端口,它跟哪个时钟关联呢?
想想看,如果是锁相环的话,时钟源是哪个?
当然是C0、C1、C2的抽头。
C0、C1、C2的抽头,一定会关联一个参考时钟,这就使用属性约束出来的。
然后是时钟速率,还有时钟速率是否已知。
它默认的是未知,也可能是已知的。
通过时钟复位,我们来简单地看一下这个规则。
就是Avalon是如何来做的。
这个我们稍微快一点。
重点我们在存储映射上面。
复位呢,也分成两个interface。
一个是复位的下游,sink。
一个是复位的上游,source。
锁相环上,我们也看到,锁相环上有一个全局复位。
一个global reset,那个呢,应该是复位的下游,复位的sink。
0929
但是锁相环上有一个端口,往往会把它作为内部时钟的复位,就是locked信号,我们把它用作复位的上游。
因为我们写逻辑,我们很少写复位的上游,很少写复位的source。
复位源,基本上没有写过。
只有一种情况,就是用锁相环的这个locked,我们把它做成复位源。
对于这个复位槽,它有两个规则,一个是reset,一个是reset_n。
一个是正逻辑,一个是负逻辑。
正逻辑和负逻辑,我们说过很多很多遍了。
但今天有些同学还不是十分清楚。
正逻辑,0是假,1是真。负逻辑,就是刚好相反。
0是真,1是假。
下划线n嘛,是低电平为真,高电平为假。
宽度是1个,方向是input。
它是一个sink,它是复位的下游,它是输入的。
必要性也是yes。
有了这个信号,就有了这个规则。
0930
另外呢,它的属性有若干个。
有一个associated clock,关联时钟。
还有一个synchronous edges。
同步的沿。
默认是Deassert。
NONE就是不需要同步,也可以做Deassert,也可以做Both,就是说高低两者都可以做。
就是说既可以做异步,也可以做同步复位。
也可以做异步复位,同步置位。
另外呢,复位源,刚讨论的是复位槽,现在我们来说的是复位源,reset source。
复位源就是复位的上游,我们说以前没有做过。
0931
这个呢,也有两个规则,一个是reset,一个是reset_n。
宽度是1位,方向是output,因为它是上游嘛。
方向肯定是输出的。
也是必要的。
有这个信号就有这个规则。
它的属性有关联时钟,有同步沿。
有直接关联的复位。
因为它是一个复位的上游,所以说它要关联一个复位。
这个呢,就是我们对时钟复位的简单的讨论。
这个比较简单,它通过时钟复位,你可以看得到,Avalon的LIP如何来组织它的这种协议。
下面呢,就进入正文。
0932
我们来讨论Avalon的Memory Map,其实呢,这个MM和ST同时都很重要。
MM它指的是主从传输,就是在数据传输之中有双向通道,双向传输。
一个方向的,刚才已经讲了。
源,宿,上游下游。
这个呢,称之为流传输。
0933
有别于流水线的pipeline。
虽然说这个里面用到了流水线技术。
虽然都是流,但是含义不一样。
这个讲的是河流,数据是一个方向。
另外呢,主从方式,数据有双向的传输。
当有双向传输的时候呢,称之为主从传输。
