VHDL程序设计教程第二讲.pdf
文本预览下载声明
VHDL 硬件描述语言与
数字逻辑电路设计
VHDL 硬件描述语言与
(第二讲)
数字逻辑电路设计
VHDL的数据类型及运算操作符
主讲:陶海红
西安电子科技大学雷达信号处理国家重点实验室
主讲:宋万杰
雷达信号处理
雷达信号处理
国防科技重点实验室
国防科技重点实验室
3.1 VHDL语言的客体及分类
在VHDL语言中凡是可以赋予一个值的对象就称为客体. 客体主要
包括信号,变量,常数三种.
1 变量 :变量说明局部量,只能在进程语句,函数语句和过程语句
结构中使用.变量在赋值时不能产生附加延时,其说明格式如下:
VARIABLE 变量名:数据类型 约束条件 := 表达式样;
2
信号 :信号说明全局量,只能在构造体,包集合,实体场合下使用,
信号代入时可以产生附加延时,信号值的代入符是 “ ”.
SIGNAL 信号名:数据类型 约束条件:=表达式;
3 常数 :说明全局量,适用信号和变量的说明场合下使用.
CONSTANT 常数名: 数据类型 :=表达式;
用VHDL语言描述2输入“与非” 门:
library ieee ;
use ieee.std_logic_1164.all ;
entity nand2 is
port( a,b :in std_logic ;
y :out std_logic
) ;
end nand2;
architecture func of nand2 is
signal tmp : std_logic;
begin
process(a,b)
variable comb:std_logic_vector(1 downto 0);
begin
comb:=ab ;
case comb is
when “00” = tmp=‘1’ ;
when “01” = tmp=‘1’ ;
when “10” = tmp=‘1’ ;
when “11” = tmp=‘0’ ;
when others= tmp=‘X’ ;
end case;
end process;
信号与变量的区别
1 赋值符号不同: 变量 tmp:=‘1’ ;
信号 tmp=‘1’ ;
2 赋值操作过程不同:
变量的赋值是立即生效的
信号的赋值是到了规定的仿真时间才生效(只
要不碰到WAIT语句或进程执行结束,进程执
行过程中信号值是不进行代入的)。
信号与变量的区别示例
1
显示全部