VHDL循环-程序似乎使用以前的值

VHDL循环-程序似乎使用以前的值,vhdl,Vhdl,误差计算一次。我有3个输入到神经元(一个是bias,所以我把它设为-1)和3个权重(w0,w1,w2,old_权重),每个输入一个,所以我用3次迭代在循环中进行更新。以下是测试台: d - expected_result y - actual_result error = expected_result - actual_result new_weight = old_weight + (input * error) 第二组: up_w0 = -1 up_w1 = 49 up_w2 = 49

误差计算一次。我有3个输入到神经元(一个是bias,所以我把它设为-1)和3个权重(w0,w1,w2,old_权重),每个输入一个,所以我用3次迭代在循环中进行更新。以下是测试台:

d - expected_result
y - actual_result
error = expected_result - actual_result
new_weight = old_weight + (input * error)
第二组:

up_w0 = -1
up_w1 = 49
up_w2 = 49
第三:

up_w0 = 31
up_w1 = 48
up_w2 = 17
第四:

up_w0 = 31
up_w1 = 17
up_w2 = 48

语句序列
exp对exp和act并发赋值语句进行赋值(在流程之外,也更改灵敏度列表,将
exp
act
替换为
d
y
),或使用
错误:=有符号(d)-有符号(y)不依赖于信号更新的位置。前者不能很好地工作,您的模型是离散的,并且依赖于所有同时变化的输入来正确跟踪
错误
。问题的可能重复之处可能是您尚未理解变量和信号之间的差异。如果我是对的,我建议你立即停止编码,看看VHDL的书。理解这种差异是在VHDL中做任何有用的事情之前首先要理解的事情。“…我建议你立即停止编码…”xD这很有趣。
up_w0 = 31
up_w1 = 48
up_w2 = 17
up_w0 = 31
up_w1 = 17
up_w2 = 48
up_w0 = -1
up_w1 = 49
up_w2 = 49