計算機組成原理 第 4 章_第1頁
計算機組成原理 第 4 章_第2頁
計算機組成原理 第 4 章_第3頁
計算機組成原理 第 4 章_第4頁
計算機組成原理 第 4 章_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

現(xiàn)代計算機組成原理潘

明 潘

編著科學(xué)出版社第4章CPU功能模塊設(shè)計4.1

8位CPU功能與結(jié)構(gòu)CPU的功能指令控制操作控制時序控制數(shù)據(jù)加工4.1

8位CPU功能與結(jié)構(gòu)2.CPU的組成結(jié)構(gòu)圖4-1

CPU組成部件邏輯結(jié)構(gòu)圖4.2

CPU中的基本部件4.2.1.算術(shù)邏輯單元(ALU)算術(shù)邏輯單元(ALU)是計算機的核心部件之一,它能執(zhí)行加法和減法等算術(shù)運算,也能執(zhí)行“與”、“或”、“非”等邏輯運算。算術(shù)邏輯單元的基本功能可以根據(jù)74LS181的功能用VHDL編輯而成。表4-1ALU181的運算功能選擇端高電平作用數(shù)據(jù)M=HM=L算術(shù)操作S3

S2

S1

S0邏輯功能Cn=L(無進位)

Cn=H(有進位)00000001加10010+

10011減1(2的補碼)0100

加10101加加+

1011001111000加11001加11010加110111100*1101加11110加111114.2

CPU中的基本部件4.2.1.算術(shù)邏輯單元(ALU)【例4-1】LIBRARY

IEEE;USE

IEEE.STD_LOGIC_1164.ALL;USE

IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY

ALU181

ISPORT

(

S

:

IN

STD_LOGIC_VECTOR(3

DOWNTO

0

);A,B

:

IN

STD_LOGIC_VECTOR(7

DOWNTO

0);F

:

OUT

STD_LOGIC_VECTOR(7

DOWNTO

0);COUT

:

OUT

STD_LOGIC_VECTOR(3

DOWNTO

0);M,CN

:

IN

STD_LOGIC;CO,F(xiàn)Z

:

OUT

STD_LOGIC

);END

ALU181;ARCHITECTURE

behav

OF

ALU181

ISSIGNAL

A9,B9,F(xiàn)9:STD_LOGIC_VECTOR(8

DOWNTO

0);(接下頁)4.1

8位CPU功能與結(jié)構(gòu)BEGINA9

<=

"0"

&

A

;

B9

<=

"0"

&

B

;PROCESS(M,CN,A9,B9)BEGINCASE

S

ISWHEN

"0000"=>IF

M="0"

THEN

F9<=A9

+

CN

;

ELSE

F9<=NOT

A9;

END

IF;W4HE.N2".0100.1"算=>I術(shù)I術(shù)F

M邏="輯0"單THE元N

F(9<A=L(AU9)OR

B9)+CN;ELSE

F9<=NOT(A9

OR

B9);END

IF;WHEN

"0010"=>IF

M="0"

THEN

F9<=(A9

OR

(NOT

B9))+CN;ELSEF9<=(NOT

A9)

AND

B9;

END

IF;WHEN

"0011"=>IF

M="0"

THEN

F9<=

"000000000"-CN

;ELSEF9<="000000000";END

IF;WHEN

"0100"=>IF

M="0"

THEN

F9<=A9+(A9

AND

NOT

B9)+CN

;ELSE

F9<=NOT

(A9

AND

B9);

END

IF;WHEN

"0101"=>IF

M="0"

THEN

F9<=(A9

OR

B9)+(A9

AND

NOT

B9)+CN

;ELSE

F9<=NOT

B9;

END

IF;WHEN

"0110"=>IF

M="0"

THEN

F9<=A9

-B9

-

CN

;

ELSE

F9<=A9

XOR

B9;

END

IF;WHEN

"0111"=>IF

M="0"

THEN

F9<=(A9

AND

(NOT

B9))-CN

;ELSE

F9<=A9

AND

(NOT

B9);

END

IF;WHEN

"1000"

=>IF

M="0"

THEN

F9<=A9

+

(A9

AND

B9)+CN;ELSE

F9<=(NOT

A9)

OR

B9;END

IF;WHEN

"1001"

=>IF

M="0"

THEN

F9<=A9

+

B9

+

CN;

ELSE

F9<=NOT(A9

XOR

B9);(接下頁)4.1

8位CPU功能與結(jié)構(gòu)END

IF;WHEN

"1010"

=>IF

M="0"

THEN

F9<=(A9

OR

(NOTB9))+(A9AND

B9)+CN

;ELSE

F9<=B9;

END

IF;WHEN

"1011"

=>IF

M="0"

THEN

F9<=(A9

AND

B9)-

CN

;

ELSE

F9<=A9

ANDB9;END4I.F;2.1.算術(shù)邏輯單元(ALU)WHEN

"1100"

=>IF

M="0"

THEN

F9<=A9

+

A9

+

CN;

ELSE

F9<=

"000000001";

ENDIF;WHEN

"1101"

=>IF

M="0"

THEN

F9<=(A9

OR

B9)+A9

+

CN

;ELSE

F9<=A9

OR

(NOT

B9);

END

IF;WHEN

"1110"

=>IF

M="0"

THEN

F9<=(A9

OR(NOT

B9))+A9+CN;

ELSE

F9<=A9

ORB9;END

IF;WHEN

"1111"

=>IF

M="0"

THEN

F9<=A9-CN;

ELSE

F9<=A9

;

END

IF;WHEN

OTHERS

=>F9<=

"000000000"

;END

CASE;IF

(A9=

B9)

THEN

FZ

<=

"0";END

IF;END

PROCESS;F<=

F9(7

DOWNTO

0)

;

CO

<=

F9(8)

;COUT

<=

"0000"

WHEN

F9(8)

=

"0" ELSE

"0001"

;END

behav;4.2

CPU中的基本部件4.2.1.算術(shù)邏輯單元(ALU)圖4-2

ALU邏輯結(jié)構(gòu)圖4.2

CPU中的基本部件4.2.2數(shù)據(jù)緩沖寄存器【例4-2】LIBRARY

IEEE;USE

IEEE.STD_LOGIC_1164.ALL;ENTITY

LATCH8

ISPORT

(

GATE

:

IN

STD_LOGIC;DIN

:

IN

STD_LOGIC_VECTOR(7

DOWNTO

0);DOUT

:

OUT

STD_LOGIC_VECTOR(7

DOWNTO

0)

);END

LATCH8;ARCHITECTURE

behav

OF

LATCH8

ISBEGINPROCESS(GATE,

DIN)BEGINEND

IF;IF

GATE

=

"1"THEN

DOUT

<=

DIN

;END

PROCESS;END

behav;4.2

CPU中的基本部件GS1S0M功能000任意保持0100循環(huán)右移0101帶進位循環(huán)右移0010循環(huán)左移0011帶進位循環(huán)左移任意11任意加載待移位數(shù)4.2.3移位運算器表4-2

移位運算器的功能4.2

CPU中的基本部件4.2.3移位運算器【例4-3】Library

IEEE;USE

IEEE.STD_LOGIC_1164.ALL;ENTITY

SHIFTER

ISPORT

(CLK,

M,

C0

:

IN

STD_LOGIC;S

:

IN

STD_LOGIC_VECTOR(1

DOWNTO

0);D

:

IN

STD_LOGIC_VECTOR(7

DOWNTO

0);QB

:

OUT

STD_LOGIC_VECTOR(7

DOWNTO

0);CN

:

OUT

STD_LOGIC);END

ENTITY;ARCHITECTURE

BEHAV

OF

SHIFTER

ISSIGNAL

ABC

:

STD_LOGIC_VECTOR(2

DOWNTO

0);SIGNAL

REG

:

STD_LOGIC_VECTOR(7

DOWNTO

0);SIGNAL

CY

:

STD_LOGIC

;(接下頁)4.1

8位CPU功能與結(jié)構(gòu)BEGINPROCESS

(CLK,ABC,C0)BEGINIF

CLK"EVENT

AND

CLK

=

"1"

THENCASE

ABC

ISWHEN"011"=>REG(0)<=C0;REG(7

DOWNTO

1)<=REG(6

DOWNTO

0);CY<=

REG4(7.)2;.3移位運算器--帶進位循--環(huán)左移WHEN"010"=>REG(0)<=REG(7);REG(7

DOWNTO

1)<=REG(6

DOWNTO

0);--循環(huán)左移WHEN"100"=>REG(7)<=REG(0);REG(6

DOWNTO

0)<=REG(7

DOWNTO

1);--循環(huán)右移WHEN

"101"

=>REG(7)<=

C0

;

REG(6

DOWNTO

0)

<=

REG(7

DOWNTO

1);

CY

<=REG(0);--帶進位--循環(huán)右移WHEN

"110"=>REG(7

DOWNTO

0)

<=WHEN

"111"=>REG(7

DOWNTO

0)

<=D(7

DOWNTO

0);D(7

DOWNTO

0);--加載待移位數(shù)--加載待移位數(shù)--保持WHEN

OTHERS

=>

REG

<=

REG

;

CY

<=

CY

;END

CASE;END

IF;END

PROCESS;ABC

<=

S

&

M;

QB(7

DOWNTO

0)

<=

REG(7

DOWNTO

0);

CN

<=

CY;END

BEHAV;4.2

CPU中的基本部件圖4-3正弦信號發(fā)生器結(jié)構(gòu)框圖4.2.4程序存儲器與數(shù)據(jù)存儲器1.工作原理4.2

CPU中的基本部件4.2.4程序存儲器與數(shù)據(jù)存儲器定制初始化數(shù)據(jù)文件【例4-4】WIDTH=8;DEPTH

=

64;ADDRESS_RADIX

=

HEX;DATA_RADIX

=

HEX;CONTENT

BEGIN:

FF;:

FE;:

FC;:

F9;:

F5;…(數(shù)據(jù)略去)3E

:

FE;3F

:

FF;END;4.2

CPU中的基本部件圖4-4將波形數(shù)據(jù)填入mif文件表中4.2.4程序存儲器與數(shù)據(jù)存儲器2.定制初始化數(shù)據(jù)文件4.2

CPU中的基本部件圖4-5

ASM格式建hex文件4.2.4程序存儲器與數(shù)據(jù)存儲器2.定制初始化數(shù)據(jù)文件4.2

CPU中的基本部件圖4-6

sdata.hex文件的放置路徑4.2.4程序存儲器與數(shù)據(jù)存儲器2.定制初始化數(shù)據(jù)文件4.2

CPU中的基本部件圖4-7

定制新的宏功能塊4.2.4程序存儲器與數(shù)據(jù)存儲器3.定制LPM_ROM元件4.1

8位CPU功能與結(jié)構(gòu)圖4-8LPM宏功能塊設(shè)定4.2.4程序存儲器與數(shù)據(jù)存儲器3.定制LPM_ROM元件4.1

8位CPU功能與結(jié)構(gòu)圖4-9

選擇data_rom模塊數(shù)據(jù)線和地址線寬度4.2.4程序存儲器與數(shù)據(jù)存儲器3.定制LPM_ROM元件4.2

CPU中的基本部件圖4-10

選擇地址鎖存信號inclock4.2.4程序存儲器與數(shù)據(jù)存儲器3.定制LPM_ROM元件4.2

CPU中的基本部件圖4-11

調(diào)入ROM初始化數(shù)據(jù)文件并選擇在系統(tǒng)讀寫功能4.2.4程序存儲器與數(shù)據(jù)存儲器3.定制LPM_ROM元件【例4-5】LIBRARY

ieee;USE

ieee.std_logic_1164.all;LI4BR.AR1Y

alte8ra位_mf;CPU功能與結(jié)構(gòu)USE

altera_mf.altera_mf_components.all;

--使用宏功能庫中的所有元件ENTITY

data_rom

ISPORT

(address

:

IN

STD_LOGIC_VECTOR

(5

DOWNTO

0);4.2.4程序i存ncl儲oc器k與數(shù)據(jù):存IN儲ST器D_LOGIC;3.定制LPMq_ROM元件:

OUT

STD_LOGIC_VECTOR

(7

DOWNTO

0)

);END

data_rom;:

STD_LOGIC_VECTOR

(7

DOWNTO

0);--例化altsyncram元件,調(diào)用了LPM模塊ARCHITECTURE

SYN

OF

data_rom

ISSIGNAL

sub_wire0COMPONENT

altsyncramaltsyncramGENERIC

(--參數(shù)傳遞語句intended_device_family:

STRING;--類屬參量數(shù)據(jù)類型定義STRING;width_awidthad_anumwords_aoperation_modeoutdata_reg_aaddress_aclr_aoutdata_aclr_awidth_byteena_a:

NATURAL;:

NATURAL;:

NATURAL;:

STRING;::

STRING;:

STRING;:

NATURAL;頁)4.1

8位CPU功能與結(jié)構(gòu)3.定制LPM_ROM元件init_file:

STRING;lpm_hint

:

STRING;lpm_type:

STRING);PORT

(

clock0:

IN

STD_LOGIC

;--altsyncram元件接口聲明address_a:

IN

STD_LOGIC_VECTOR

(5

DOWNTO

0);q_a

:

OUT

STD_LOGIC_VECTOR

(7

DOWNTO

0)

);END

COMPONENT;BEG4IN.2.4程序存儲器與數(shù)據(jù)存儲器q

<=

sub_wire0(7

DOWNTO

0);altsyncram_component

:altsyncramGENERIC

MAP(intended_device_family=>"Cyclone",--參數(shù)傳遞映射width_a=>

8,widthad_a

=>

6,numwords_a

=>

64,operation_mode

=>

"ROM",--數(shù)據(jù)線寬度8--地址線寬度6--數(shù)據(jù)數(shù)量64--LPM模式ROMoutdata_reg_a

=>

"UNREGISTERED",address_aclr_a

=>

"NONE",outdata_aclr_a

=>

"NONE",--輸出無鎖存--無異步地址清0--無輸出鎖存異步清0width_byteena_a=>1,

--byteena_a輸入口寬度1init_file=>"./dataHEX/SDATA.hex",--ROM初始化數(shù)據(jù)文件,此處已修lpm_hint

=>

"ENABLE_RUNTIME_MOD=YES,INSTANCE_NAME=NONE",lpm_type

=>

"altsyncram"

)--LPM類型PORT

MAP

(clock0

=>

inclock,

address_a

=>

address,q_a

=>

sub_wire0

);END

SYN;

SYN;4.2

CPU中的基本部件4.2.4程序存儲器與數(shù)據(jù)存儲器4.完成頂層設(shè)計【例4-6】正弦信號發(fā)生器頂層設(shè)計LIBRARY

IEEE;--正弦信號發(fā)生器源文件USE

IEEE.STD_LOGIC_1164.ALL;USE

IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY

SINGT

ISPORT(CLK:IN

STD_LOGIC;

--信號源時鐘DOUT:OUT

STD_LOGIC_VECTOR(7

DOWNTO

0));--8位波形數(shù)據(jù)輸出END;ARCHITECTURE

DACC

OF

SINGT

ISCOMPONENT

data_rom--調(diào)用波形數(shù)據(jù)存儲器LPM_ROM文件:data_rom.vhd聲明

PORT(address:IN

STD_LOGIC_VECTOR(5

DOWNTO

0);--6位地址信號inclock:IN

STD_LOGIC;--地址鎖存時鐘q

:

OUT

STD_LOGIC_VECTOR

(7

DOWNTO

0)

);END

COMPONENT;(接下頁)4.1

8位SIGNAL

Q1:STD_LOGIC_VECTOR(5

DOWNTO

0);--設(shè)定內(nèi)部節(jié)點作為地址計數(shù)器BEGINPROCESS(CLK

)CPU功--L能PM_R與OM地結(jié)址發(fā)構(gòu)生器進程BEGINIF

CLK"EVENT

AND

CLK="1"THEN

Q1<=Q1+1;--Q1作為地址發(fā)生器計數(shù)器END

IF;EN4D.P2R.OC4ES程S;序存儲器與數(shù)據(jù)存儲器u1:4d.a(chǎn)t完a_成ro頂m

層PO設(shè)RT計MAP(address=>Q1,q=>DOUT,inclock=>CLK);--例化

END;圖4-13仿真波形輸出4.2

CPU中的基本部件4.2.4程序存儲器與數(shù)據(jù)存儲器4.完成頂層設(shè)計圖4-14

嵌入式邏輯分析儀獲得的波形4.2

CPU中的基本部件4.2.4程序存儲器與數(shù)據(jù)存儲器5.微程序的LPM_ROM圖4-15

LPM_ROM的結(jié)構(gòu)圖4.2

CPU中的基本部件4.2.4程序存儲器與數(shù)據(jù)存儲器5.微程序的LPM_ROM圖4-16

rom_a.mif中的數(shù)據(jù)4.2

CPU中的基本部件4.2.4程序存儲器與數(shù)據(jù)存儲器6.LPM_RAM的調(diào)用和結(jié)構(gòu)圖4-17編輯定制RAM4.2

CPU中的基本部件4.2.4程序存儲器與數(shù)據(jù)存儲器6.LPM_RAM的調(diào)用和結(jié)構(gòu)圖4-18

LPM_RAM的仿真波形4.2

CPU中的基本部件4.2.4程序存儲器與數(shù)據(jù)存儲器6.LPM_RAM的調(diào)用和結(jié)構(gòu)圖4-19

8位LPM_RAM原理圖模塊4.2

CPU中的基本部件4.2.5先進先出存儲器FIFO圖4-20

FIFO編輯窗4.2

CPU中的基本部件4.2.5先進先出存儲器FIFO圖4-21

FIFO的仿真波形4.2

CPU中的基本部件4.2.6流水線乘法累加器(1)用VHDL設(shè)計16位加法器【例4-7】LIBRARY

IEEE;USE

IEEE.STD_LOGIC_1164.ALL;USE

IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY

ADDER16B

ISPORT

(

CIN

:

IN

STD_LOGIC;A,B

:

IN

STD_LOGIC_VECTOR(15

DOWNTO

0);S

:

OUT

STD_LOGIC_VECTOR(15

DOWNTO

0);COUT

:

OUT

STD_LOGIC

);END

ADDER16B;ARCHITECTURE

behav

OF

ADDER16B

ISSIGNAL

SINT

:

STD_LOGIC_VECTOR(16

DOWNTO

0);SIGNAL

AA,BB

:

STD_LOGIC_VECTOR(16

DOWNTO

0);BEGINAA<="0"&A;

BB<="0"&

B;SINT

<=

AA

+

BB

+

CIN;

S

<=

SINT(15

DOWNTO

0);

COUT

<=

SINT(4);END

behav;4.2

CPU中的基本部件4.2.6流水線乘法累加器(2)頂層原理圖文件設(shè)計圖4-22在原理圖編輯窗加入LPM元件4.2

CPU中的基本部件4.2.6流水線乘法累加器(2)頂層原理圖文件設(shè)計圖4-23將LPM乘法器設(shè)置為流水線工作方式4.2

CPU中的基本部件4.2.6流水線乘法累加器(3)仿真圖4-24乘法累加器電路4.2

CPU中的基本部件4.2.6流水線乘法累加器(3)仿真圖4-25

muladd工程仿真波形4.2

CPU中的基本部件4.2.7程序計數(shù)器與地址寄存器1.程序計數(shù)器圖4-26程序計數(shù)器結(jié)構(gòu)圖4.2

CPU中的基本部件4.2.7程序計數(shù)器與地址寄存器2.地址寄存器圖4-27地址寄存器結(jié)構(gòu)圖4.2

CPU中的基本部件4.2.8指令寄存器圖4-28指令寄存器結(jié)構(gòu)圖4.2

CPU中的基本部件圖4-29指令譯碼器結(jié)構(gòu)圖4.2.9指令譯碼器與控制器1.指令譯碼器(Instruction

Decoder.

ID)4.2

CPU中的基本部件4.2.9指令譯碼器與控制器微程序控制器微命令,微操作,微指令和微程序相容性微操作和相斥性微操作4.2

CPU中的基本部件4.2.9指令譯碼器與控制器3.微程序控制的基本原理圖4-30微程序控制的基本原理圖4.2

CPU中的基本部件4.2.9指令譯碼器與控制器微程序執(zhí)行過程從控制存儲器中取出一條“取指令”用的微指令,并送到微指令寄存器。指令操作碼通過微地址形成線路,產(chǎn)生對應(yīng)的微程序入口。逐條取出對應(yīng)的微指令。執(zhí)行完對應(yīng)的一條指令的一段微程序后,返回0號或1號微地址單元,讀取“取指令”的微指令,以便取下一條指令。5.微指令地址形成部件圖4-31分支轉(zhuǎn)移控制邏輯QuartusII原理圖4.2

CPU中的基本部件6.?dāng)?shù)據(jù)寄存器存取控制邏輯圖4-32數(shù)據(jù)寄存器控制邏輯4.2

CPU中的基本部件4.2.10時序產(chǎn)生器1.連續(xù)節(jié)拍發(fā)生電路設(shè)計圖4-33節(jié)拍脈沖發(fā)生器的工作原理4.2

CPU中的基本部件4.2.10時序產(chǎn)生器1.連續(xù)節(jié)拍發(fā)生電路設(shè)計圖4-34節(jié)拍脈沖發(fā)生器工作波形4.2

CPU中的基本部件4.2.10時序產(chǎn)生器2.單步節(jié)拍發(fā)生電路圖4-35單步運行電路工作原理4.2

CPU中的基本部件4.2.10時序產(chǎn)生器2.單步節(jié)拍發(fā)生電路圖4-36單步運行電路工作波形4.2

CPU中的基本部件4.2.10時序產(chǎn)生器3.單步/連續(xù)節(jié)拍發(fā)生電路圖4-37單步/連續(xù)運行電路工作原理4.2

CPU中的基本部件4.2.10時序產(chǎn)生器3.單步/連續(xù)節(jié)拍發(fā)生電路圖4-38單步運行電路工作波形4.3數(shù)據(jù)通路設(shè)計4.3.1模型機的數(shù)據(jù)通路圖4-39單總線結(jié)構(gòu)的模型機CPU的內(nèi)部數(shù)據(jù)通路4.3數(shù)據(jù)通路設(shè)計4.3.2模型機的電路結(jié)構(gòu)圖4-40簡單模型CPU的數(shù)據(jù)通路4.4在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用(1)打開在系統(tǒng)存儲單元編輯窗圖4-41

In-System

Memory

Content

Editor編輯窗4.4在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用(2)讀取ROM中的波形數(shù)據(jù)圖4-42與實驗系統(tǒng)上的FPGA通信正常情況下的編輯窗界面4.4在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用(2)讀取ROM中的波形數(shù)據(jù)圖4-43從FPGA中的ROM讀取波形數(shù)據(jù)4.4在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用(3)寫數(shù)據(jù)圖4-44

編輯波形數(shù)據(jù)4.4在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用(3)寫數(shù)據(jù)圖4-45下載編輯數(shù)據(jù)后的SignalTap

II采樣波形(4)輸入輸出數(shù)據(jù)文件4.5

嵌入式鎖相環(huán)調(diào)用4.5.1建立嵌入式鎖相環(huán)元件圖4-46選擇參考時鐘為20MHz4.5

嵌入式鎖相環(huán)調(diào)用4.5.1建立嵌入式鎖相環(huán)元件圖4-47

選擇控制信號4.5

嵌入式鎖相環(huán)調(diào)用4.5.1建立嵌入式鎖相環(huán)元件圖4-48選擇e0的輸出頻率為210MHz4.5

嵌入式鎖相環(huán)調(diào)用4.5.2測試鎖相環(huán)圖4-49

PLL元件的仿真波形4.5

嵌入式鎖相環(huán)調(diào)用4.5.2測試鎖相環(huán)單頻率輸出的VHDL文本調(diào)用PLL的示例:ENTITY

DDS_VHDL

ISPORT(

CLKK:IN

STD_LOGIC;--此時鐘進入鎖相環(huán)FWORD:IN

STD_LOGIC_VECTOR(7

DOWNTO

0);...;ARCHITECTURE

one

OF

DDS_VHDL

ISCOMPONENT

PLLU

--調(diào)入PLL聲明PORT

(inclk0

:

IN

STD_LOGIC

:=

"0";c0

:

OUT

STD_LOGIC

);END

COMPONENT;COMPONENT

REG32B...;u6

:

SIN_ROM

PORT

MAP(

address=>D32B(31

DOWNTO

22),

q=>POUT,inclock=>CLK

);u7:

PLL20

PORT

MAP(inclk0=>CLKK,c0=>CLK);--例化

END;習(xí)

題4-1.簡述微程序控制器和組合邏輯控制器的異同點。.簡要說明圖6-1中,CPU各組成部件的作用??刂破饔赡男┎考M成,運算器由哪些部件組成?.在微硬序控制器中,微程序計數(shù)器uPC可以用uAR來代替,試問是否可以用具有計數(shù)功能的存儲器地址寄存器AR來代替程序計數(shù)器PC?為什么?.試說明機器指令和微指令之間的關(guān)系。.機器指令包含哪兩個基木要素?微指令義也含哪兩個基本要素?程序靠什么實現(xiàn)順序執(zhí)行?靠什么實現(xiàn)轉(zhuǎn)移?微程序中順序執(zhí)行和轉(zhuǎn)移依靠什么方法?習(xí)

題4-6.完成下列數(shù)據(jù)傳輸功能,說明數(shù)據(jù)傳輸?shù)木唧w操作步驟:編號

能12345678910111213從INPUT端口輸入數(shù)據(jù)寫入R1從INPUT端口輸入數(shù)據(jù)寫入R2從INPUT端口輸入數(shù)據(jù)寫入RAM某單元將RAM某單元內(nèi)容讀入R1將RAM某單元內(nèi)容讀入R2將R1內(nèi)容寫入RAM某單元將R2內(nèi)容寫入RAM某單元將R1內(nèi)容傳到R2將R2內(nèi)容傳到R1將R1內(nèi)容輸出到LED端口顯示將R2內(nèi)容輸出到LED端口顯示將RAM某單元內(nèi)容輸出到LED端口顯示從INPUT端口輸入數(shù)據(jù)送LED端口顯示助記符IN

R1,PORTIN

R2,PORTIN

RAM,PORTLD

R1,RAMLD

R2,RAMST

RAM,R1ST

RAM,R2

MOV

R2,R1MOV

R1,R2OUT

LED,R1OUT

LED,R2OUT

LED,RAMOUR

LED,PORT習(xí)

題.

如果不使用MegaWizard

Plug-In

Manager工具,如何在自己的設(shè)計中調(diào)用LPM模塊?以計數(shù)器lpm_counter為例,寫出調(diào)用該模塊的程序,其中參數(shù)自定。.LPM_ROM、LPM_RAM、LPM_FIFO等模塊與FPGA中嵌入的EAB,ESB,M4K有怎樣的聯(lián)系關(guān)系?.參考QuartusII的Help(Contents),詳細(xì)說明LPM元件altcam、altsyncram、lpm_fifo、lpm_shiftreg的使用方法,以及其中各參量的含義和設(shè)置方法。實驗與設(shè)計實驗4-1.算術(shù)邏輯運算單元ALU設(shè)計實驗參考實驗示例和實驗課件:/CMPUT_EXPMT/CH4_Expt/DEMO_41_alu/和實驗

4_1.ppt。實驗與設(shè)計圖4-50算術(shù)邏輯單元ALU實驗原理圖實驗與設(shè)計實驗4-1.算術(shù)邏輯運算單元AL設(shè)計實驗F[7..0]SW_BMBUSA[7..0]

B[7..0]01010101

101010101001010101

1010101010表4-3A[7..0],B[7..0]設(shè)置值檢查寄存器內(nèi)容

S3

S2

S1

S0實驗與設(shè)計表4-4S

3

S

2

S

1

S

0A[7

..0

]B[7

..0

]算術(shù)運算M=0邏輯運算(M=1

)Cn=0

(無進位)cn=1

(有進位)0000AA55F=()F=()F=()0001AA55F=()F=()F=()0010AA55F=()F=()F=()0011AA55F=()F=()F=()0100FF01F=()F=()F=()......省略

0101FF01F=()F=()F=()11015501F=()F=()F=()11105501F=()F=()F=()11115501F=()F=()F=()實驗與設(shè)計實驗4-1.算術(shù)邏輯運算單元AL設(shè)計實驗表4-5

8種常用的算術(shù)與邏輯運算Cn4傳送取反加1求負(fù)加法減法按位加操作

S3S2S1S0

M

Cn

DR1

DR2

運算關(guān)系及結(jié)果顯示邏輯乘

66

FFDR1

DR2DR2(

)DR1

DR2DR2(

)DR1

DR2

(

)DR1

DR2

DR2(

)(

)(

)(

)DR1

DR2DR2

+1

DR2DR2

+1

DR2DR1

+

DR2DR2(

)實驗與設(shè)計實驗4-2.帶進位算術(shù)邏輯運算單元ALU設(shè)計實驗參考實驗示例和實驗課件:/CMPUT_EXPMT/CH4_Expt/DEMO_42_aluc/和實驗

4_2.ppt。實驗與設(shè)計圖4-51

帶進位控制的ALU實驗與設(shè)計邏輯運算(M=1)F=()F=()F=()F=()F=()F=()F=()F=()F=()F=()F=()F=()S3

S2

S1

S0A[7..0]B[7..0]0101FF010110FF010111FF011000FFFF1001FFFF1010FFFF算術(shù)運算M=0cn=0(無進位)

cn=1(有進位)F=(F=())F=()F=()F=()F=(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論