|
书中说下面的进程可以完成一个硬件求平均的功能,每一个时钟脉冲由a输入一个数值,4个时钟脉冲后将获得4个数值的平均值.
可是我觉得:进程中的语句是顺序执行的,但同时也有并行的特点.当clk上升沿到来时
ave <= a;
ave <= ave + a;
ave <= ave + a;
ave <= (ave + a)/4 ;
上面的4个赋值语句应该是同时发生的,那么也就不能实现求平均的功能了,我的想法哪里有问题呢???
...
PROCESS
BEGIN
WAIT UNTIL clk ='1';
ave <= a;
WAIT UNTIL clk ='1';
ave <= ave + a;
WAIT UNTIL clk ='1';
ave <= ave + a;
WAIT UNTIL clk ='1';
ave <= (ave + a)/4 ;
END PROCESS ;
|
|