首页 » 技术文章 » VHDL设计中信号与变量问题的研究

VHDL设计中信号与变量问题的研究

作者:冯艳娜  时间:2010-04-12 11:55  来源:EDN


   如果把count类型改为signal,则结果将大不一样。

  signal count: std_logic_vector(3 downto 0);
  process(clk)
  variable init :std_logic;
  begin
  if (clk''event) and (clk=''1'') then
  if (init = ''0'') then
  count<= "1001"; --(1)
  init := ''1'
  end if;
  count<=count+1; --(2)

  由于信号的赋值不是立即发生的,在语句(1)后面还存在对信号count的赋值操作(2),因此,语句(1)在此不起作用,count的最后值是语句 (2)的值。因此如果将count设为signal的话,程序实现的是从0开始的16个十六进制数的循环。在这里,对信号赋初值的语句是不可行的。

  仿真结果

  将设计好的VHDL程序在Altera公司提供的软件maxplusⅡ10.1环境下进行编译仿真,得到的仿真结果如图1、图2所示,其中图1是 count为变量的结果,图2是count为信号的结果,其中输出y[6...0]分别与七段数码管的abcdefg七段相连。

  从图1可以看出,在第一个时钟脉冲上升沿,结果是“1110111”,数码管显示即为A,然后依次为b,C,d, E,F,0,1...9,A...循环下去,此处用小写的b和d,主要是与数字8进行区别。

                

  从图中可以看出,在第一个时钟脉冲上升沿,结果是“1111110”,数码管显示即为0,然后依次示1...9,A, b,C,d,E,F,0,...循环下去。

相关推荐

力科公司专家Eric博士即将举行免费网络在线研讨会

力科  信号  S参数  2011-09-16

一种频率特性测试仪的设计

信号  测试  2011-08-03

单片机多机冗余设计及控制模块的VHDL语言描述

单片机  VHDL  2011-05-19

嵌入式单总线控制器设计

DS1820  VHDL  总线控制器  2011-01-11

SDH中E1接口数字分接复用器VHDL设计及FPGA实现

SDH  E1  VHDL  FPGA  2010-09-01

一种用VHDL语言实现的帧同步算法

帧同步  搜索态  VHDL  2010-08-16
在线研讨会
焦点