数据流描述方式应注意哪些问题(VHDL)的,急啊`~`~

来源:百度知道 编辑:UC知道 时间:2024/06/15 10:02:35

数据流描述(dataflow description)以基本信号为基础,描述信号间的相互关系(函数关系),也称为“寄存器传输描述方式”,认为各信号随时存放于各寄存器中,信号的变化只是经过适当操作后在寄存器之间的传递。
数据流描述使用赋值类语句,它描述了数据流程的运动路径、运动方向和运动结果,与使用进程process的系统级描述是不同的。下面是数据流描述常用的几个句式:

数据流描述方式的结构体形式:
Architecture d of 实体名 is
类型说明;
常量说明;
信号说明;
函数定义;
begin
赋值类语句; (并行语句,为信号赋值,表达信号输入/输出关系)
end d;

1.直接赋值语句:
信号名<= 信号值(表达式);
注意的问题:
赋值式双方应为相同类型;
当采用一种类型时,表达式涉及的运算应与该类型相容;
实际数字电路中,信号的类型通常为“STD_LOGIC”,对应的运算通常为逻辑运算;

2.条件赋值语句:
信号名<=表达式1 when 布尔表达式1 else
……
表达式n when 布尔表达式n else
表达式(n+1);
注意的问题:
可以用于表达信号的控制传输;通常采用多个2选1数据选择器形成串接形式;
布尔表达式采用的运算只能是关系运算,结果为“true”时执行when之前的表达式,结果为“false”的时候执行else 之后的语句;
<= 既是赋值符号,又是小于等于符号,在使用时应注意场合和意义;

3.选择赋值语句:
with 选择表达式 select
信号名<=表达式 when 选择值;
……
表达式 when others;
注意的问题:
选择赋值语句根据选择表达式当前所取的不同选择值,对信号进行不同赋值;
语句应用与条件赋值语句类似,用于信号的控制传输;通常采用多路数据选择器方式实现;

4.时间延迟语句