声明对 simple_port 值敏感的事件和 event_port 之间的区别
Difference between declaring an event that is sensitive to a simple_port value and event_port
我想知道这两者有什么区别:
1) simple_port
data_valid : simple_port of bit is instance;
keep data_valid.hdl_path() == "data_valid_o";
event data_valid_f is fall(data_valid$) @sim;
on data_valid_f {
-- do some stuff
};
2) event_port
data_valid : event_port is instance;
keep data_valid.hdl_path() == "data_valid_o";
keep data_valid.edge() == fall;
on data_valid$ {
-- do some stuff
};
提前致谢!
简而言之,event_port
将检测毛刺,即模拟周期内的零时间信号变化。
simple_port
的值将由模拟周期结束时的信号值决定,无论在此之前切换了多少次。
我想知道这两者有什么区别:
1) simple_port
data_valid : simple_port of bit is instance;
keep data_valid.hdl_path() == "data_valid_o";
event data_valid_f is fall(data_valid$) @sim;
on data_valid_f {
-- do some stuff
};
2) event_port
data_valid : event_port is instance;
keep data_valid.hdl_path() == "data_valid_o";
keep data_valid.edge() == fall;
on data_valid$ {
-- do some stuff
};
提前致谢!
简而言之,event_port
将检测毛刺,即模拟周期内的零时间信号变化。
simple_port
的值将由模拟周期结束时的信号值决定,无论在此之前切换了多少次。