一、目的:
完整、連貫地運用《數字邏輯》所學到的知識,熟練掌握 eda 工具基本使用方法,為學習好後續《計算機原理》課程做鋪墊。
二、設計內容
(一) 按照給定的資料通路、資料格式和指令系統,使用 eda 工具設計一台用硬連線
邏輯控制的簡易計算機;
(二) 要求靈活運用各方面知識,使得所設計的計算機具有較佳的效能;
(三) 對所設計計算機的效能指標進行分析,整理出設計報告。
三、詳細設計
用vhdl語言設計的zf
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity zf is
port (x, en,clk:in std_logic;
zf:out std_logic)
;end entity;
architecture bhv of zf is
begin
process (clk, en)
begin
if(en=
'1') then
if(clk'event and clk='
0') then zf<=x;
--down side and en=
0 end if
; end if
; end process;
end architecture;
rtl檢視
用vhdl語言設計的cf
library ieee;
use ieee.std_logic_1164.all ;
use ieee.std_logic_unsigned.all;
entity cf is
port (x,en,clk:in std_logic;
cf:out std_logic)
;end entity;
architecture bhv of cf is
begin
process (clk, en)
begin
if(en=
'1')then
if(clk'event and clk='
0' ) then cf<=x;
--down side
end if
; end if
; end process ;
end architecture;
rtl檢視
用vhdl語言設計的ir
library ieee;
use ieee.std_logic_1164.all;
entity ir is
port
(input:in std_logic_vector
(7 downto 0);
clock,ld:in std_logic;
output_a,output_b:out std_logic_vector
(3 downto 0);
r:out std_logic_vector
(7 downto 0))
;end ir;
architecture bhv of ir is
signal i:
std_logic_vector
(7 downto 0):
="00000000"
;begin
process (clock,input,ld)
begin
if(clock'event and clock='
0') then--rising clock .
if(ld=
'1') then i<=input;
end if
; end if
; end process;
output_a<=i(
7 downto 4);
output_b<=i(
3 downto 0);
r<=i;
end bhv;
rtl檢視
cpu的設計我採用的是分層設計的方法。
最頂層的設計如圖:
func部分如圖:
decoder部分如圖:
zhiling部分如圖:
(萌新的數電學習)用VHDL語言設計通用暫存器組
實驗背景 暫存器是cpu內的重要組成部分,模型機的通用暫存器組包含3個8位暫存器a b c,實現對此3個暫存器的讀寫操作。其介面及功能如下 vhdl語言 library ieee use ieee.std logic 1164.all use ieee.std logic unsigned.all ...
(萌新的數電學習)用 VHDL語言設計乙個異或門
實驗背景 異或門是一種用途廣泛的閘電路。典型應用是作為加法器的單元電路。vhdl 第一種寫法 library ieee 庫宣告 use ieee.std logic 1164.all entity yihuomen is 實體 port a,b in std logic y out std logi...
萌新的Linux學習之路(四)
一 使用者是什麼 使用者就是系統中使用者的身份,在系統中使用者儲存為若干字元 若干系統配置檔案 1.使用者資訊涉及到的系統配置檔案 二 使用者管理 1.使用者的建立 useradd u 引數 使用者名稱 指定使用者的uid useradd g 組 使用者名稱 指定使用者初始組資訊。這個組必須已經存在...