VHDL扩展标准与功能验证详解
1. VHDL扩展标准
VHDL有许多重要的扩展标准,这些标准增强了其功能和适用性。
1.1 受保护的共享变量(IEEE 1076a)
在VHDL中,进程间交换时变数据的常用方式是通过信号。信号本质上代表子电路之间的电线,子电路的非零延迟在信号赋值语句中体现。而共享变量用于在仿真运行期间支持进程间通信用于簿记和监督任务,如统计进程调用次数、跟踪异常或特殊事件、协调测试台中不同进程的活动或收集统计数据等,这种情况下零延迟通信是可行的。如果没有共享变量,程序员可能会被迫使用信号,这会掩盖其初衷并增加执行时间。
为避免不同进程同时对全局变量进行读写操作带来的问题,需要对访问进行控制。受保护的共享变量提供了同步手段,对其访问是排他的,必须通过调用为其编写的函数或过程来进行。例如:
-- 声明受保护的共享变量
shared variable event_counter : shared_counter;
-- 受保护类型声明
type shared_counter is protected
procedure : reset;
procedure : increment ( by : integer := 1 );
impure function value return integer;
end protected;
-- 受保护类型体
type shared_counter is protected body
variable count : integer := 0;
procedure reset is
VHDL扩展与功能验证详解
超级会员免费看
订阅专栏 解锁全文
42

被折叠的 条评论
为什么被折叠?



