|
楼主 |
发表于 2014-1-24 08:26:23
|
显示全部楼层
用上面的方法,在iu.vhd 的学习中遇到了极大的困难。原因有很多,最困扰的是comb (组合逻辑)process 内部的顺序,
在iu.vhd文件 comb process中,是 回写,访存,执行,译码,取值的顺序。并不是先取值,然后译码。。。顺序。
*********************************
因为process内部是顺序执行的,但是具有并发特性,
http://www.dzsc.com/dzbbs/20061201/200765203625890572.html
要分清楚执行赋值和完成赋值之间的区别
VHDL中PROCESS中的语句是顺序语句,但它们具有并行运行的特征.这是因为,信号量的赋值是在遇到end PROCESS这条语句的时候完成的,也就是说,在PROCESS中,只执行赋值,而真正的完成赋值(更新信号量的值)是在一个系统延时后才完成的,这个和变量不一样,变量是立即完成赋值的.
对信号来说,执行赋值是一个过程,它具有顺序的特征,而完成赋值是一个结果,它的发生才真正具有硬件描述语言最本质的并行的特征.也看下面的例子:
PROCESS(clk)
x <= a; --信号,执行赋值
y <= b; --信号,执行赋值
z := c; --变量,执行并完成赋值
end PROCESS --系统延时后,此句执行,此时x,y的值才被更新
尽管变量z最后才被赋值,但是他的值更新的时间要比x,y早一个系统延时。
*********************************************************************
上面的帮助很有用,但是不足以解释倒序。
这种倒序在常用用到地方是制造行业的JIT拉动生成模式,
这样更加糊涂了。
又补充看了些计算机组成原理方面的课件,
感觉,这不像是玩《暗黑地狱火》,要一级一级地升,大BOSS在后面才会出现。有点像《刀剑神域》本计划打到100层,结果75层就发现了老大(剧透),或者《迷失》第二季就抓到了敌人老大(结果放走了,事实证明伊拉克人审问能力不足)。
结论,iu.vhd 是需要重点以及仔细学习的,尤其是补充了一下相关资料后更加确认。
*****************************************************************************
难点集中到了流水线,流水线概念好理解(好多课件都使用洗衣机,好像一个模子学出来的)。
|
|