計(jì)算機(jī)硬件課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告.rar
計(jì)算機(jī)硬件課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)部分1)16進(jìn)制計(jì)數(shù)器,該計(jì)數(shù)器有清零和計(jì)數(shù)允許功能。輸入信號(hào)為clk,清零拉制信號(hào)為clr(低電平有效),計(jì)數(shù)允許控制信號(hào)為en(高電平有效),輸出信號(hào)為a、b、c、d,要求畫出16進(jìn)制計(jì)數(shù)器的時(shí)序圖。[時(shí)序圖]:abcd000001000120010300114010050101601...
該文檔為壓縮文件,包含的文件列表如下:
內(nèi)容介紹
原文檔由會(huì)員 xiaowei 發(fā)布
計(jì)算機(jī)硬件課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
<設(shè)計(jì)說明書>
實(shí)驗(yàn)部分
1) 16進(jìn)制計(jì)數(shù)器,該計(jì)數(shù)器有清零和計(jì)數(shù)允許功能。輸入信號(hào)為CLK,清零拉制信號(hào)為CLR(低電平有效),計(jì)數(shù)允許控制信號(hào)為EN(高電平有效),輸出信號(hào)為A、B、C、D,要求畫出16進(jìn)制計(jì)數(shù)器的時(shí)序圖。
[時(shí)序圖]:
A B C D
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
[源程序]:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity demo1 is--定義實(shí)體demo1
port(clk,clr,en:in std_logic;--定義clk,clr,en模式為輸入
A,B,C,D: out std_logic);--定義A,B,C,D模式為輸出
end;
architecture demo1_arch of demo1 is--定義結(jié)構(gòu)體demo1_arch
signal count:std_logic_vector(3 downto 0);--定義信號(hào)為4位邏輯矢量
begin
A<=count(0);
B<=count(1);
C<=count(2);
D<=count(3);
process(clk,clr)
Begin
if(clr='0') then
count<="0000";--實(shí)現(xiàn)清零的功能
elsif rising_edge(clk) then--否則當(dāng)CLK為上升沿時(shí)
if(en='1') then
if(count="1111") then
count<="0000";--EN為高電平下,計(jì)到15時(shí)候歸0
else
count<=count+'1';--否則持續(xù)自+1
end if;
end if;
end if;
end process;--結(jié)束進(jìn)程
end demo1_arch;--結(jié)束結(jié)構(gòu)體
[引腳設(shè)置]:
clk in 11
clr in 14
en in 24
A out 15
B out 16
C out 17
D out 18
[程序說明]:
這個(gè)程序設(shè)計(jì)思路較簡單,指導(dǎo)書上有20進(jìn)制的程序范例,唯一不同的就是20進(jìn)制則定義信號(hào)為5位邏輯矢量,輸出為ABCDE,而16進(jìn)制則定義信號(hào)為4位邏輯矢量,輸出為ABCD。還有就是在最后要改成計(jì)到1111(15)時(shí)清零,而不是10011(19)。
<設(shè)計(jì)說明書>
實(shí)驗(yàn)部分
1) 16進(jìn)制計(jì)數(shù)器,該計(jì)數(shù)器有清零和計(jì)數(shù)允許功能。輸入信號(hào)為CLK,清零拉制信號(hào)為CLR(低電平有效),計(jì)數(shù)允許控制信號(hào)為EN(高電平有效),輸出信號(hào)為A、B、C、D,要求畫出16進(jìn)制計(jì)數(shù)器的時(shí)序圖。
[時(shí)序圖]:
A B C D
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
[源程序]:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity demo1 is--定義實(shí)體demo1
port(clk,clr,en:in std_logic;--定義clk,clr,en模式為輸入
A,B,C,D: out std_logic);--定義A,B,C,D模式為輸出
end;
architecture demo1_arch of demo1 is--定義結(jié)構(gòu)體demo1_arch
signal count:std_logic_vector(3 downto 0);--定義信號(hào)為4位邏輯矢量
begin
A<=count(0);
B<=count(1);
C<=count(2);
D<=count(3);
process(clk,clr)
Begin
if(clr='0') then
count<="0000";--實(shí)現(xiàn)清零的功能
elsif rising_edge(clk) then--否則當(dāng)CLK為上升沿時(shí)
if(en='1') then
if(count="1111") then
count<="0000";--EN為高電平下,計(jì)到15時(shí)候歸0
else
count<=count+'1';--否則持續(xù)自+1
end if;
end if;
end if;
end process;--結(jié)束進(jìn)程
end demo1_arch;--結(jié)束結(jié)構(gòu)體
[引腳設(shè)置]:
clk in 11
clr in 14
en in 24
A out 15
B out 16
C out 17
D out 18
[程序說明]:
這個(gè)程序設(shè)計(jì)思路較簡單,指導(dǎo)書上有20進(jìn)制的程序范例,唯一不同的就是20進(jìn)制則定義信號(hào)為5位邏輯矢量,輸出為ABCDE,而16進(jìn)制則定義信號(hào)為4位邏輯矢量,輸出為ABCD。還有就是在最后要改成計(jì)到1111(15)時(shí)清零,而不是10011(19)。
TA們正在看...
- 危險(xiǎn)廢棄物處置中心供電系統(tǒng)設(shè)計(jì)(含cad圖紙).zip
- 某電機(jī)修造廠總降壓變電所及高壓配電系統(tǒng)設(shè)計(jì)開題...doc
- 3×100_mw火力發(fā)電廠電氣部分設(shè)計(jì)(含完整cad圖紙).zip
- 絢麗綠色花紋ppt模板.ppt
- 信息技術(shù)課堂學(xué)習(xí)品質(zhì)的創(chuàng)新實(shí)踐策略研究.docx
- ppt模版-石頭的故事.ppt
- ppt模版-學(xué)繪畫.ppt
- ppt模版-信息時(shí)代.ppt
- ppt模版-愛護(hù)大自然.ppt
- ppt模版-兒童節(jié).ppt