freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于vhdl的數(shù)字跑表技術(編輯修改稿)

2024-12-13 21:37 本頁面
 

【文章內容簡介】 時序仿真驗證 設計輸入 器件編程 在線測試 投產 設計修改 圖 MAX+plusⅡ 軟件工作流程 17 VHDL 程序的結構 一、 VHDL 程序的基本單元 VHDL 程序的結構由結構體、實體、配置( CONFIGURATION)、程序包( PACKAGES)和庫( LIBRARIES)組成。在一個具體的應用程序中,最基本的部分為實體和結構體。 在應用程序中,實體是唯一的,結構體可以具有多個。在具有多個結構體的情況下,具體使用哪一個結構體需要指定。配置可以用于描述實體與結構體的連接關系,設計者可以利用配置為實體選擇不同的結構體。 二、 VHDL 程序的結構體 VHDL 語言結構體的完整 格式如下: ARCHITECTURE 結構體 OF 實體名 IS [定義語句 ] BEGIN [并行語句 1; ] [并行語句 2; ] [……] END [ARCHITECTURE] [ 結構體名 ]; 三、 VHDL 程序的實體 VHDL 中實體的完整格式如下: ENTITY 實體名 IS [ GENERIC (類屬表 )。 ] [ PORT (端口表 )。 ] [ BEGIN 實體語句部分 。] END [ ENTITY ] 實體名 。 實體可 以用來給所設計的系統(tǒng)或者電路命名,該所設計的系統(tǒng)或者電路定義一個與其他模塊進行通信的接口。它描述了一個系統(tǒng)或者電路的外觀圖。 實體中的類屬( GENERIC)和端口說明( PORT)用來說明所設計的系統(tǒng)或者電路與其它模塊通信的對象。類屬說明提供靜態(tài)信息通道,適用于規(guī)定端口的大小、實體中包括元件的多少以及時間特性等。端口說明是對外引腳的描述,它包括引腳的名稱、信號的傳輸方向和傳輸?shù)臄?shù)據(jù)類型。實體語句部分定義實體接口中的公共信息。 18 第三章 跑表 的設計 跑表 的功能描述 這里將要討論的 跑表 經常應用在體育競賽中 和一些要求準確計時的領域。它的主要功能描述如下: (1) 要求設置復位開關。當按下復位開關時, 跑表 清零并做好計時準備。在任何情況下只要按下復位開關, 跑表 都要無條件地進行復位操作,即使是在計時過程中也要無條件地進行清零操作。 (2) 要求設置啟 /停開關。實際上啟 /停開關的使用方法與傳統(tǒng)的機械式計時器完全相同:當按下啟 /停開關后,將啟動 跑表 并開始計時;當再按一下啟 /停開關時,將終止 跑表 的計時操作。 (3) 要求計時精度大于 秒。在體育競賽中運動員的成績計時是以 秒為最小單位的,因此要求設計的計時器能 夠顯示 秒的時間。 (4) 要求 跑表 的最長計時時間為 24 小時。在現(xiàn)今的各項體育競賽中,最長時間為12 小時的 跑表 已經足夠了。 (5) 要求有系統(tǒng)電源復位電路的電源復位信號。 根據(jù)上面 跑表 的功能描述,不難給出該 跑表 的輸入和輸出電路。首先來描述一下 跑表 的輸入電路: (1) 首先要按下復位開關 reset 進行 跑表 的服務清零操作,使 跑表 做好計時準備。 (2) 當做好計時準備后按下 跑表 的啟 /停開關 on_off, 跑表 開始計時, 跑表 的最小計時單位是 秒;計時完畢后再按一下 跑表 的啟 /停開關 on_off,將終止 跑表 的 計時操作。 (3) 由于 跑表 的計時精度為 秒,所以提供給 跑表 內部定時的時鐘信號頻率應該大于 100Hz。這里取 1000Hz 的時鐘輸入信號 clk。 (4) 當對 跑表 進行更換電源操作時,由系統(tǒng)電源復位電路提供給該系統(tǒng)一個電源復位信號 sysreset。對于該 跑表 的設計中,系統(tǒng)電源的復位電路是外加的,并不包含在設計當中。 接下來來描述 跑表 的輸出電路: 19 (1) 由于 跑表 的最長計時時間為 24 小時,因此需要一個 8 位的顯示器。這樣,在設計中就需要一個八條輸出線,用來選通指定的一位 LED 七段顯示數(shù)碼管。 (2) 顯示器的 每一位都采用 LED 七段顯示數(shù)碼管進行顯示,因此輸出電路要有一個七條輸出線連接在 LED 七段顯示數(shù)碼管。 綜上所述,可以確定 跑表 的基本方案如下: (1) 當對 跑表 進行更換電源操作時,由系統(tǒng)電源復位電路提供給 跑表 的電源復位信號 sysreset 來控制對 跑表 的復位操作,即使 跑表 清零。 (2) 計時操作過程如下: ? 首先按下復位開關 reset 進行 跑表 的復位清零操作,使 跑表 做好計時準備。 ? 按下 跑表 的啟 /停開關 on_off, 跑表 計時開始。這 時 ,通過輸出線 choose( 7 downto 0)來選擇指定的一位 LED 七段顯示數(shù)碼管 。其中, choose( 7 downto 0)以 100Hz 的頻率使 8 個 LED 七段顯示數(shù)碼管按次序依次點亮,由于頻率很高,所以可以得到一個無閃爍的穩(wěn)定的 跑表 計時輸出。 ? 計時完畢后,按下 跑表 的啟 /停開關 on_off,將終止 跑表 的計時操作。 ? 然后再次按下復位開關 reset 進行 跑表 的復位清零操作,為 跑表 的下次計時做準備。 (3) 跑表 進行計時操作的計時時鐘是由外部時鐘信號 clk 提供的。 根據(jù)上述考慮,可以畫出 跑表 系統(tǒng)的結構框圖, 如圖 31 所示 , 它說明了整個系統(tǒng)的外部輸入和輸出情況。 圖 跑表 系統(tǒng)的結構框圖 20 頂層設計的 VHDL 源代碼 頂層實體設計及 VHDL 源代碼 在任何自頂向下的 VHDL 設計描述中,首先要做的第一步就是描述頂層信號的接口,正如圖 31 所示。系統(tǒng)的接口包括輸入信號、輸出信號、一些 輸入輸出雙向信號以及需要傳輸?shù)哪承﹨?shù)。需要描述的不僅是信號的方 向,還包括信號的類型。 在上面的描述中,實際上已經規(guī)定了 跑表 的輸入輸出信號: (1) 輸入信號 ? 復位開關信號 reset; ? 啟/停開關信號 on_off; ? 系統(tǒng)電源復位信號 sysreset; ? 外部時鐘信號 clk。 (2) 輸出信號 ? LED 七段顯示數(shù)碼管的選通信號 choose( 7 downto 0); ? LED 七段顯示數(shù)碼管的輸出信號 segment( 6 downto 0)。 我們知道, VHDL 的系統(tǒng)接口是由實體說明來描述的。下面是用 圖 31 所示的 結構框圖生成的 跑表 頂層實體說明的 VHDL 源代碼。 源代碼 1 library ieee。 use 。 use 。 use 。 entity stopwatch is port ( reset1 : in std_logic。 on_off : in std_logic。 sysreset : in std_logic。 clk : in std_logic。 choose : out std_logic_vector(7 downto 0)。 segment : out std_logic_vector(6 downto 0))。 end stopwatch。 21 頂層結構體的設計及 VHDL 源代碼 在任何自頂向下的 VHDL 設計描述中,設計人員常常將整個設計的系統(tǒng)劃分為幾個模塊,然后采用結構描述方式對整個系統(tǒng)進行描述?,F(xiàn)在我們就來根據(jù)前面描述的結構功能,確定使用哪些模塊以及這些模塊之間的關系。 由于 跑表 的復位開關和啟 /停開關采用按鍵的輸入方式,其產生時刻和持續(xù)時間的長短是隨機不定的,且存在因開關簧片反彈引起的電平抖動現(xiàn)象,因此必須在每個開關后面安排一個消抖和同步化電路模塊,以保證系統(tǒng)能捕捉到輸入脈沖,并保證每按一鍵,只形成一個寬度為系統(tǒng)時鐘周期的脈沖。同步電路的方案很多 ,圖 32 是一種 既有消抖功能又有同步功能的電路,應用的非常廣泛。 圖 一種常用的消抖同步電路 由于外部時鐘信號 clk 的頻率為 1000Hz,而實際需要的內部計時時鐘頻率為 100Hz和提供給消抖同步電路的頻率為 25Hz,因此需要一個時鐘分頻電路。通過分頻電路,由外部時鐘信號 clk 產生頻率分別為 100Hz 和 25Hz 的時鐘信號。 跑表 的計時操作是在復位開關信號無效并且兩次啟 /停開關信號有效之間才能夠進行,因此需要一個電路來產生一個使能信號。只有當使能信號有效時,才能夠進行 跑表的定時計數(shù)操作。 當 跑表 開始 正常計時的時候,需要進行定時計數(shù)操作,由于時間顯示器是由 8 個LED 七段顯示數(shù)碼管組成的,因此需要產生 8 位的計時信息:小時十位信號、小時個位信號、分十位信號、分個位信號、秒十位信號、秒個位信號、 秒位信號和 秒位 22 信號。這個定時計數(shù)操作可以有一個定時計數(shù)器來完成,定時計數(shù)器的功能就是用來產生 8 位計時信息。 跑表 還要將定時計數(shù)的結果顯示出來,為了節(jié)省資源,我們采用循環(huán)點亮 LED 七段顯示數(shù)碼管的方法來顯示 跑表 的計時輸出。我們通過信號 choose( 7 downtown 0)來進行 8 個 LED 七段顯示數(shù)碼管的選 擇,從而將輸出信號 segment( 6 downtown 0)送到相應的 LED 七段顯示數(shù)碼管上以完成 跑表 計時的顯示。 跑表 顯示的功能可以通過一個單獨的電路來實現(xiàn)。 通過上面的說明,不難看出我們可以將 跑表 系統(tǒng)劃分為 5 個模塊:鍵輸入模塊、時鐘分頻模塊、控制模塊、 跑表 計時模塊、和顯示 模塊。這 5 個模塊的連接關系 如圖 33所示。 圖 跑表 各個模塊之間的連接關系 下面我們就根據(jù)圖 33 所示的各個模塊的連接關系來確定各個模塊的輸入信號和輸出信號。 (1) 鍵輸入模塊 輸入信號 ? 復位開關信號 reset; ? 啟 /停開關 信號 on_off; ? 外部時鐘信號 clk; ? 來消除抖動的時鐘信號 clk1,由時鐘分頻模塊提供。 23 輸出信號 ? 去除抖動后的復位信號 reset0; ? 去除抖動后的啟 /停信號 on_off0。 (2) 時鐘分頻模塊 輸入信號 ? 系統(tǒng)電源復位信號 sysreset; ? 外部時鐘信號 clk。 輸出信號 ? 用來消除抖動的時鐘信號 clk1; ? 跑表 的內部計時時鐘信號 clk0。 (3) 控制模塊 輸入信號 ? 去除抖動后的復位信號 reset0; ? 去除抖動后的啟 /停信號 on_off0; ? 系統(tǒng)電源復位信號 sysreset; ? 跑表 的內部計時時鐘信 號 clk0。 輸出信號 ? 跑表 定時計數(shù)的使能信號 enable。 (4) 跑表 計時模塊 輸入信號 ? 去除抖動后的復位信號 reset0; ? 系統(tǒng)電源復位信號 sysreset; ? 跑表 的內部計時時鐘信號 clk0; ? 跑表 定時計數(shù)的使能信號 enable。 輸出信號 ? 小時十位信號 hr10; ? 小時個位信號 hr; ? 分十位信號 min10; ? 分個位信號 min; ? 秒十位信號 sec10; 24 ? 秒個位信號 sec; ? 秒位信號 sec01; ? 秒位信號 sec001。 (5) 跑表 顯示模塊 輸入信號 ? 系統(tǒng)電源復位信號 sysreset; ? 外部 時鐘信號 clk; ? 小時十位信號 hr10; ? 小時個位信號 hr; ? 分十位信號 min10; ? 分個位信號 min; ? 秒十位信號 sec10; ? 秒個位信號 sec; ? 秒位信號 sec01; ? 秒位信號 sec001。 輸出信號 ? LED 七段顯示數(shù)碼管的選通信號 choose; ? LED 七段顯示數(shù)碼管的輸出信號 segment。 下面根據(jù) 圖 33 所示的各 個模塊的連接關系,給出頂層結構體的 VHDL 源代碼。其中 5 個模塊以元件的形式給出,首先在結構體的說明部分進行元件說明,然后在結構體中進行例化調用。同時在結構體的說明部分還定義了 許多中間信號,主要用來在模塊之間傳遞信息。 源代碼 2 architecture structure of stopwatch is ponent keyin port ( reset : in std_logic。 on_off : in std_logic。 clk : in std_logic。 clk1 : in std_logic。 reset0 : out std_logic。 25 on_off0 : out std_logic)。 end ponent。 ponent clk_div port ( sysreset : in std_logic。 clk : in std_logic。 clk0 :out
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1