簡易計算機系統綜合設計 時鐘節拍

2021-08-15 02:29:22 字數 1356 閱讀 8920

根據部件各個的控制訊號,我們知道有些部件需要時鐘有些不需要時鐘,這些需要時鐘訊號的部件有些可以同時運作,不如pc計數器的加一操作和指令暫存器的存指令操作,但是有些部件就一定需要乙個先後順序,比如說加法,肯定是要等運算完以後才給通用暫存器時鐘訊號去吧運算結果存進指定的暫存器。所有這裡的多個時鐘訊號的週期必然有區別,處理的方法這裡說兩種思路:

設定多個時鐘訊號,可以同時進行部件公用乙個時鐘訊號,不能同步的用不同的時鐘訊號;

只用乙個時鐘,但是加乙個計數器,根據經過時鐘訊號的個數,將當期的訊號傳給對應的部件。

這兩種方法其實細想的話其實差別不大,我這裡用的是第二種方法。

(1)vhdl**:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity szjp is

port(clk:in std_logic;

t1,t2,t3,t4:out std_logic);

end entity szjp;

architecture st of szjp is

signal q:std_logic_vector(1 downto 0):="00";

begin

process(clk)

begin

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

q<=q+1;

end if;

if(q="00") then t1<='0';t2<='0';t3<='0';t4<='1';

elsif(q="01")then t1<='1';t2<='0';t3<='0';t4<='0';

elsif(q="10")then t1<='0';t2<='1';t3<='0';t4<='0';

else t1<='0';t2<='0';t3<='1';t4<='0';

end if;

end process;

end st;

(2)

引腳說明:

輸入端為時鐘訊號clk,輸出端為表示第幾個時鐘上公升沿的輸出,t1~t4分別表示第一到第四個時鐘上公升沿。

(3)波形**:

顯然t1,t2,t3,t4這四個輸出的上公升沿分別為clk時鐘訊號的第1、2、3、4個時鐘上公升沿,符合設計要求。

簡易計算機系統綜合設計 CPU綜合

當完成了各個部件之後,接著要做的就是把各個部件組裝起來,配合運作,要使所有部件能夠協調地運作,首先得要有乙個比較明朗的思路,我們先來分析一下cpu的執行流程 上圖為簡易計算機系統的整體構架,現對其執行整體流程進行說明 1 取址階段 不受時鐘控制的輸入 由sm 0確定 有 madd 00 選擇器選擇從...

簡易計算機系統綜合設計 概述

概述 我們的計算機在執行的過程中,操作流程可以大致看成乙個 取指令 執行指令 的過程。這次的設計便是基於這一思想進行簡易計算機系統的設計。本次設計中的指令是乙個8為的二進位制串,通過不同的指令來實現不同的具體操作。我們分析一下需要幹什麼?首先考慮取指令 我們首先需要儲存指令,這樣計算機才能去讀取指令...

簡易計算機系統綜合設計 C,Z暫存器

看過了控制器的設計以後,你可能會注意到控制器有兩個輸入c和z不是 於解碼器的輸出,這裡對c和z進行說明。c和z的值分別是跳轉指令jc和jz是否有效的乙個判斷條件 當c 1時,jc有效 z 1時,jz有效。c是邏輯運算的進製輸出,包括加法的進製 減法的借位以及移位時被移出去的那一位 注意是移出去的那一...