a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > VHDL設計中信號與變量問題的研究

VHDL設計中信號與變量問題的研究

作者: 時間:2010-04-17 來源:網絡 收藏

  在程序中,可以充分利用的系統默認值,來靈活實現目標。本文從應用的角度舉例說明了的區別,以及正確的使用方法,并介紹了為賦予初始值的技巧。

本文引用地址:http://www.j9360.com/article/151920.htm

  概述

  隨著集成電路技術的發展,用傳統的方法進行芯片或系統設計已不能滿足要求,迫切需要提高設計效率,因此能大大降低設計難度的設計方法被越來越廣泛地采用。用VHDL語言設計系統的主要方法是:設計者根據VHDL的語法規則,對系統目標的邏輯行為進行描述,然后通過綜合工具進行電路結構的綜合、編譯、優化,通過仿真工具進行邏輯功能仿真和系統時延的仿真,最后把設計的程序下載到芯片中,成功地實現系統功能。

  在VHDL設計中,最常用的數據對象主要有三種:信號(signal)、變量(variable)和常數(constant)。信號是電子電路內部硬件連接的抽象。它除了沒有數據流動方向說明以外,其他性質幾乎和“端口”一樣;信號是一個全局量,它可以用來進行進程之間的通信。變量只能在進程語句、函數語句和過程語句結構中使用,是一個局部量。

  在VHDL語言中,對信號賦值是按仿真時間進行的,到了規定的仿真時間才進行賦值,而變量的賦值是立即發生的。下面的例子是從賦初值的角度說明信號與變量的這種區別的。

  例如用VHDL語言實現初值為A的十六進制的16個數的循環顯示。

  對于如此的設計要求,如果用變量實現,則VHDL程序如下。

  library ieee;

  use ieee.std_logic_1164.all;

  use ieee.std_logic_unsigned.all;

  entity sevenauto is

  port(clk:in std_logic;

  y:out std_logic_vector(6 downto 0));

  end sevenauto;

  architecture behave of sevenauto is

  begin

  process(clk)

  variable count:std_logic_vector(3 downto 0);

  variable init:std_logic;

  begin

  if (clk''event) and (clk=''1'') then

  if (init = ''0'') then

  count:= 1001;

  init:=''1'

  end if;

  count:=count+1;

  case count is

  when 0000=>y=1111110;

  when 0001=>y=0110000;

  when X2=>y=1101101;

  when X3=>y=1111001;

  when X4=>y=0110011;

  when X5=>y=1011011;

  when X6=>y=1011111;

  when X7=>y=1110000;

  when X8=>y=1111111;

  when X9=>y=1111011;

  when XA=>y=1110111;

  when XB=>y=0011111;

  when XC=>y=1001110;

  when 1101=>y=0111101;

  when 1110=>y=1001111;

  when 1111=>y=1000111;

  when thers=>y=XXXXXXX;

  end case;

  end if;

  end process;

  end behave;


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉