薛宏熙《數(shù)字邏輯設(shè)計(jì)》cha
《薛宏熙《數(shù)字邏輯設(shè)計(jì)》cha》由會(huì)員分享,可在線閱讀,更多相關(guān)《薛宏熙《數(shù)字邏輯設(shè)計(jì)》cha(42頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、2008.12 1 第8章 數(shù)字系統(tǒng)設(shè)計(jì) 【 課 前 思 考 】【 學(xué) 習(xí) 指 南 】8.1 數(shù) 字 系 統(tǒng) 的 特 點(diǎn) 和 設(shè) 計(jì) 方 法8.2 交 通 燈 控 制 器 設(shè) 計(jì)8.3 求 最 大 值 電 路 的 設(shè) 計(jì)8.4 數(shù) 字 系 統(tǒng) 中 某 些 技 術(shù) 細(xì) 節(jié)【 本 章 小 結(jié) 】 2008.12 2 8.1數(shù)字系統(tǒng)的特點(diǎn)和設(shè)計(jì)方法 數(shù) 字 系 統(tǒng) ( digital system) 指 規(guī) 模 較 大 、 能 完 成 一 個(gè) 完 整任 務(wù) 的 時(shí) 序 電 路 。 層 次 化 的 設(shè) 計(jì) 方 法 : 把 一 個(gè) 大 系 統(tǒng) 分 解 為 若 干 子 系 統(tǒng) , 待各 個(gè) 子 系 統(tǒng) 完
2、 成 之 后 , 再 綜 合 為 整 個(gè) 系 統(tǒng) 。 數(shù) 字 系 統(tǒng) 分 解 : 數(shù) 據(jù) 通 路 ( data path) : 實(shí) 現(xiàn) 對(duì) 數(shù) 據(jù) 進(jìn) 行 處 理 和 存 儲(chǔ) 的 部 件 , 由寄 存 器 、 多 路 器 和 運(yùn) 算 部 件 等 組 成 。 控 制 器 ( controller) : 向 數(shù) 據(jù) 通 路 發(fā) 出 節(jié) 拍 和 控 制 命 令 的 部 件 ,指 導(dǎo) 數(shù) 據(jù) 通 路 進(jìn) 行 適 當(dāng) 的 操 作 , 以 完 成 指 定 的 任 務(wù) 。 控 制 器 中 的 狀 態(tài) 個(gè) 數(shù) 比 較 少 , 容 易 描 述 和 設(shè) 計(jì) 。 2008.12 3 數(shù)字系統(tǒng)的分解 2008.12
3、4 ASM圖 的擴(kuò)展 給 判 別 框 增 加 一 個(gè) 多 分 支 框 : 對(duì) 操 作 和 給 輸 出 信 號(hào) 賦 值 不 加 區(qū) 分 , 一 律 看 作 操 作 。 畫 ASM圖 時(shí) 集 中 精 力 關(guān) 注 兩 件 事 : 在 當(dāng) 前 狀 態(tài) 和 和 當(dāng) 前 輸 入 的 條件 下 , 要 執(zhí) 行 什 么 操 作 和 即 將 轉(zhuǎn) 入 哪 一 個(gè) 次 態(tài) 。 狀 態(tài) 表 的 擴(kuò) 展 : 在 狀 態(tài) 表 中 允 許 使 用 條 件 語 句 , 以 便 能更 簡 潔 地 描 述 相 應(yīng) 的 操 作 和 狀 態(tài) 轉(zhuǎn) 換 。 條件表達(dá)式 = ? 0 1 2 n 2008.12 5 8.2交通燈控制器設(shè)計(jì)例
4、8.1 2008.12 6 交通燈控制器設(shè)計(jì)(續(xù)) 輸 入 信 號(hào) : 異 步 復(fù) 位 信 號(hào) reset: reset = 0強(qiáng) 制 進(jìn) 入 初 始 狀 態(tài) st0,主 路 綠 燈 亮 , 輔 路 紅 燈 亮 。 時(shí) 鐘 信 號(hào) clk: 同 步 時(shí) 序 電 路 的 激 勵(lì) 信 號(hào) 。 檢 測(cè) 器 信 號(hào) check: check =1表 示 輔 路 上 有 車 輛 等 候 。 輸 出 信 號(hào) : 主 路 交 通 指 示 燈 的 控 制 信 號(hào) HL(0.2): HL(0), HL(1), HL(2)分 別 控 制 主 路 上 綠 燈 、 黃 燈 和 紅 燈 的 亮 滅 。 輔 路 交 通
5、指 示 燈 的 控 制 信 號(hào) FL(0.2): FL(0), FL(1), FL(2)分 別 控 制 輔 路 上 綠 燈 、 黃 燈 和 紅 燈 的 亮 滅 。 2008.12 7 技術(shù)要求和工作狀態(tài)分析 時(shí) 間 參 數(shù) long_time和 short_time: 本 例 設(shè) 定 long_time等 于 10個(gè) 時(shí) 鐘 周 期 ,short_time等 于 3個(gè) 時(shí) 鐘 周 期 。 初 始 狀 態(tài) st0: 主 路 綠 燈 亮 ( HL(0.2) = 100) , 輔 路 紅 燈 亮 ( FL(0.2) = 001) 。 當(dāng) 前 狀 態(tài) 為 st0的 情 況 下 , 若 輔 路 上 有
6、車 等 候 ( check = 1) 且 st0的 持續(xù) 期 超 過 long_time, 轉(zhuǎn) 入 st1。 st1是 一 個(gè) 短 暫 停 留 的 狀 態(tài) : 主 路 黃 燈 亮 ( HL(0.2) = 010) , 輔 路 保 持 紅 燈 亮 ( FL(0.2) = 001) 。 當(dāng) st1的 持 續(xù) 期 超 過 short_time時(shí) , 轉(zhuǎn) 入 st2。 狀 態(tài) st2: 主 路 紅 燈 亮 ( HL(0.2) = 001) , 輔 路 綠 燈 亮 ( FL(0.2) = 100) 。 當(dāng) st2的 持 續(xù) 期 超 過 long_time或 輔 路 上 無 車 等 候 ( check =
7、 0) 時(shí) , 轉(zhuǎn)入 st3。 st3也 是 一 個(gè) 短 暫 停 留 的 狀 態(tài) : 主 路 保 持 紅 燈 亮 ( HL(0.2) = 001) , 輔 路 黃 燈 亮 ( FL(0.2) = 010) 。 當(dāng) st3的 持 續(xù) 期 超 過 short_time時(shí) , 轉(zhuǎn) 入 st0。 2008.12 8 交通燈控制器的電路分解 為 簡 化 設(shè) 計(jì) , 將 交 通 燈 控 制 器 的 電 路 結(jié) 構(gòu) 分 解 為 2部 分 : 計(jì) 時(shí) 器 Timer: 把 Timer當(dāng) 作 一 個(gè) 執(zhí) 行 部 件 。 控 制 器 Controller: 向 Timer發(fā) 出 啟 動(dòng) 命 令 并 接 受 Tim
8、er的 反 饋信 號(hào) Timer Controller start_timer T_enable long short check HL(0.2) FL(0.2) reset clk 2008.12 9 Controller和Timer 之間的相互作用 start_timer: Controller向 Timer發(fā) 出 的 啟 動(dòng) 命 令 。 T_enable: Timer接 到 啟 動(dòng) 命 令 之 后 , 令 T_enable = 1, 控 制 Timer 從 0開 始 增1 計(jì) 數(shù) ; T_enable也 作 為 向 Controller的 反 饋 信 號(hào) 。 start_timer 和
9、T_enable 是 Controller 和 Timer 之 間 的 應(yīng) 答 信 號(hào) 。 計(jì) 時(shí) 器 的 其 它 反 饋 信 號(hào) : Timer的 計(jì) 數(shù) 值 達(dá) 到 short_time 時(shí) , 令 short = 1, 計(jì) 時(shí) 器 Timer 的 計(jì) 數(shù) 值 達(dá) 到 long_time 時(shí) , 令 long = 1, 同 時(shí) 令 T_enable = 0, Timer停 止 計(jì) 數(shù) 。 2008.12 10 交通燈控制器的ASM圖 是 reset = 0? 現(xiàn)態(tài) = ? HL 100 FL 001 St0 HL 001 FL 100 St2 HL 010 FL 001 St1 HL 00
10、1 FL 010 St3 是 short = 1? 是 是 reset check = 1 且 long = 1? check = 0 或 long = 1? short = 1? 否 否 否 否 是 否 現(xiàn)態(tài) st0; HL 000; FL 000; start_timer 1;T_enable 0; 次態(tài) st1 start_timer 1 T_enable 0 次態(tài) st2 start_timer 1 T_enable 0 次態(tài) st3 start_timer 1 T_enable 0 次態(tài) st0 start_timer 1 T_enable 0 現(xiàn)態(tài)次態(tài) 現(xiàn)態(tài)次態(tài) 現(xiàn)態(tài)次態(tài) 現(xiàn)態(tài)次態(tài)
11、 2008.12 11 交通燈控制器的狀態(tài)表 2008.12 12 交通燈控制器的狀態(tài)表(續(xù)) 2008.12 13 交通燈控制器的VHDL描述- 以 上 為 自 定 義 程 序 包 2008.12 14 交通燈控制器的VHDL描述(續(xù)) 2008.12 15 交通燈控制器的VHDL描述(續(xù)) 2008.12 16 交通燈控制器的VHDL描述(續(xù)) 2008.12 17 交通燈控制器的VHDL描述(續(xù)) 2008.12 18 交通燈控制器的VHDL描述(續(xù)) 2008.12 19 交通燈控制器的VHDL描述(續(xù)) 2008.12 20 交通燈控制器的模擬波形 VHDL代 碼 提 交 Quart
12、us 編 譯 模 擬 2008.12 21 交通燈控制器的模擬波形(續(xù)) 模 擬 波 形 與 預(yù) 期 相 符 2008.12 22 8.3求最大值電路的設(shè)計(jì) 輸 入 信 號(hào) : 異 步 復(fù) 位 信 號(hào) reset; 時(shí) 鐘 信 號(hào) clk: 用 于 采 樣 輸 入 數(shù) 據(jù) 并 作 為 同 步 時(shí) 序 電 路 的 激 勵(lì) 信 號(hào) 。 啟 動(dòng) 信 號(hào) start: start = 1 令 電 路 開 始 工 作 。 數(shù) 據(jù) 輸 入 信 號(hào) data(7.0): 字 長 8 比 特 的 無 符 號(hào) 二 進(jìn) 制 整 數(shù) 。其 中 第 1個(gè) 數(shù) 據(jù) 是 被 比 較 數(shù) 據(jù) 的 個(gè) 數(shù) n;后 續(xù) 的 n
13、 個(gè) 數(shù) 據(jù) 是 被 比 較 的 數(shù) 據(jù) 。 數(shù) 據(jù) 有 效 信 號(hào) valid: valid = 1 表 明 當(dāng) 前 的 輸 入 數(shù) 據(jù) 有 效 。 輸 出 信 號(hào) : maxv(7.0): 被 比 較 的 n 個(gè) 數(shù) 據(jù) 中 的 最 大 值 。 done: done = 1 表 示 比 較 完 畢 , 此 時(shí) 的 maxv 有 效 。例 8.2 2008.12 23 求最大值電路的設(shè)計(jì)(續(xù)) 解 題 思 路 : 選 擇 高 頻 的 時(shí) 鐘 信 號(hào) 用 于 采 樣 , 即 時(shí) 鐘 信 號(hào) clk 的周 期 相 對(duì) 于 輸 入 數(shù) 據(jù) 的 變 化 要 短 很 多 。 2008.12 24 電路
14、分解 2008.12 25 電路分解(續(xù)) 控 制 器 ( controller) : 控 制 器 向 數(shù) 據(jù) 通 路 發(fā) 出 控 制 信 號(hào) 并接 受 數(shù) 據(jù) 通 路 的 反 饋 信 號(hào) 。 數(shù) 據(jù) 通 路 ( data path) : 數(shù) 據(jù) 通 路 中 包 含 必 要 的 部 件 以 實(shí)現(xiàn) 所 要 求 的 操 作 。 寄 存 器 A: 用 于 保 存 迄 今 為 止 輸 入 數(shù) 據(jù) 中 的 最 大 值 。 寄 存 器 B: 用 于 保 存 來 自 data的 數(shù) 據(jù) 。 比 較 器 : 將 寄 存 器 A與 寄 存 器 B的 數(shù) 值 相 比 較 , 將 其 中數(shù) 值 大 者 存 入 A。
15、 減 計(jì) 數(shù) 器 counter: 首先接受從 data 送來的數(shù)據(jù) n;此后每進(jìn)行一次數(shù)據(jù)比較,counter 減1;當(dāng) counter = 0 時(shí),數(shù)據(jù)比較執(zhí)行完畢,令 done = 1。 2008.12 26 求最大值電路的狀態(tài)表 2008.12 27 求最大值電路的狀態(tài)表(續(xù)) 2008.12 28 VHDL代碼 2008.12 29 VHDL代碼(續(xù)) 2008.12 30 VHDL代碼(續(xù)) compare_process: PROCESS( reset, clk, state ) - 此進(jìn)程用于描述每個(gè)狀態(tài)下的操作 BEGIN IF ( reset = 1) AND rising
16、_edge( clk ) THEN - 時(shí)鐘上升沿激勵(lì)每個(gè)狀態(tài)下的操作 CASE state IS - CASE語句用于描述每個(gè)狀態(tài)下的操作 WHEN st0 = - 狀態(tài)st0時(shí)的操作 A = 00000000; B = 00000000; maxv = 00000000; done - 狀態(tài)st1時(shí)的操作 IF valid = 1 THEN counter = data; END IF; 2008.12 31 VHDL代碼(續(xù)) 2008.12 32 VHDL代碼(續(xù)) 2008.12 33 VHDL代碼(續(xù)) 2008.12 34 VHDL代碼(續(xù)) 2008.12 35 VHDL代碼(
17、續(xù)) 2008.12 36 模擬波形 上 述 功 能 模 擬 波 形 和 預(yù) 期 相 符 , 但 不 夠 充 分 。 異步清零 St6 st0 reset clk start data valid maxv done A B counter state done = 1,最大值已經(jīng)求出,maxv = 2A start = 1開始工作 狀態(tài)變遷 2008.12 37 8.4數(shù)字系統(tǒng)中某些技術(shù)細(xì)節(jié)- 細(xì) 節(jié) 也 不 可 忽 視 - 2008.12 38 減少時(shí)鐘偏移的布線網(wǎng)絡(luò) 時(shí) 鐘 偏 移 會(huì) 降 低 寄 存 器 工 作 的可 靠 性 。 可 編 程 器 件 中 有 一 個(gè) 或 數(shù) 個(gè) 稱作 全
18、 局 時(shí) 鐘 ( global clock) 的輸 入 引 腳 ; 從 該 引 腳 接 入 的 時(shí) 鐘 信 號(hào)可 以 到 達(dá) 芯 片 中 所 有 觸 發(fā)器 的 時(shí) 鐘 端 , 并 且 采 取 措施 將 時(shí) 鐘 偏 移 降 低 到 最 小 。 左 圖 中 標(biāo) 有 ff 的 結(jié) 點(diǎn) 表 示 觸 發(fā)器 的 時(shí) 鐘 輸 入 端 ( 省 略 了 觸 發(fā)器 的 符 號(hào) ) 。 從 芯 片 的 全 局 時(shí) 鐘 引 腳 到 達(dá) 每個(gè) 觸 發(fā) 器 的 時(shí) 鐘 端 , 經(jīng) 歷 的 緩沖 器 的 個(gè) 數(shù) 以 及 連 線 長 度 都 相同 , 從 而 達(dá) 到 時(shí) 鐘 信 號(hào) 偏 移 最小 。 2008.12 39 觸
19、發(fā)器的異步輸入 在 同 步 時(shí) 序 電 路 內(nèi) 部 所 有 觸 發(fā) 器 共 享 同 一 時(shí) 鐘 脈 沖 。 如 果 不 考 慮 時(shí) 鐘 偏 移 的 話 , 所 有 觸 發(fā) 器 幾 乎 在 同 一 時(shí) 刻 轉(zhuǎn) 換 狀 態(tài) 。 只 要 時(shí) 鐘 周 期 足 夠 長 , 電 路 會(huì) 可 靠 地 工 作 。 在 兩 個(gè) 電 路 的 接 口 處 , 來 自 另 一 個(gè) 電 路 的 數(shù) 據(jù) 輸 入 和 本 電 路 的 時(shí) 鐘 信號(hào) 不 一 定 呈 同 步 關(guān) 系 。 很 難 滿 足 觸 發(fā) 器 關(guān) 于 建 立 時(shí) 間 和 保 持 時(shí) 間 的 要 求 。 當(dāng) 觸 發(fā) 器 的 建 立 時(shí) 間 或 保 持 時(shí) 間
20、 得 不 到 滿 足 時(shí) , 觸 發(fā) 器 的 輸 出 電 平有 可 能 停 留 在 既 非 高 電 平 、 又 非 低 電 平 的 狀 態(tài) , 被 稱 為 亞 穩(wěn) 定 狀 態(tài)( metastable state ) 。 亞 穩(wěn) 定 狀 態(tài) 不 可 能 持 久 , 經(jīng) 過 一 段 時(shí) 間 后 , 最 終 會(huì) 轉(zhuǎn) 變 到 某 一 個(gè) 穩(wěn)定 狀 態(tài) ( 狀 態(tài) 0或 狀 態(tài) 1) 。 觸 發(fā) 器 處 于 亞 穩(wěn) 定 狀 態(tài) 的 持 續(xù) 時(shí) 間 是 不 確 定 的 , 為 此 需 要 找 到 一 個(gè) 解 決 方 案 。 2008.12 40 觸發(fā)器異步輸入的解決方案 異 步 輸 入 的 數(shù) 據(jù) dat
21、a連 接 到 DFF1的 數(shù) 據(jù) 輸 入 端 D1, DFF1的 輸 出端 Q1連 接 到 DFF2的 數(shù) 據(jù) 輸 入 端 D2, DFF1和 DFF2連 接 成 移 位 寄存 器 。 由 于 data 和 clock 是 異 步 關(guān) 系 , 所 以 Q1可 能 進(jìn) 入 亞 穩(wěn) 定 狀 態(tài) ; 如果 clock 的 周 期 足 夠 長 , 則 在 clock下 一 個(gè) 有 效 邊 沿 到 來 之 前 , Q1會(huì) 達(dá) 到 穩(wěn) 定 狀 態(tài) 。 DFF2的 輸 出 Q2不 會(huì) 進(jìn) 入 亞 穩(wěn) 定 狀 態(tài) , 可 以 安 全 地 連 接 到 本 電 路的 其 它 部 分 。 此 方 案 的 后 果 :
22、 電 路 其 它 部 分 使 用 輸 入 數(shù) 據(jù) data時(shí) , 會(huì) 導(dǎo) 入 1 個(gè)時(shí) 鐘 周 期 的 延 遲 。 2008.12 41 消除機(jī)械開關(guān)抖動(dòng)的電路 需 要 產(chǎn) 生 單 脈 沖 時(shí) , 可 用 RS鎖 存 器 消 除 機(jī) 械 開 關(guān) 的 抖 動(dòng) : (a)未消除抖動(dòng)的電路 (b) 消除抖動(dòng)的電路 VDD VDD VDD GND GND 2008.12 42 本章小結(jié) 本 章 介 紹 了 數(shù) 字 系 統(tǒng) 的 特 點(diǎn) 和 設(shè) 計(jì) 方 法 , 并 通 過 2個(gè) 實(shí)例 展 示 了 整 個(gè) 設(shè) 計(jì) 過 程 。 設(shè) 計(jì) 方 法 具 有 一 般 性 。 一 個(gè) 大 型 數(shù) 字 系 統(tǒng) , 很 難 做 到 一 次 成 功 , 往 往 需 要 反復(fù) 地 檢 查 和 修 改 。 為 了 縮 短 設(shè) 計(jì) 周 期 , 采 用 VHDL描 述 電 路 的 功 能 , 通過 EDA工 具 生 成 目 標(biāo) 電 路 , 是 一 個(gè) 較 好 的 選 擇 。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案