計(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們正在看...
- 總工會(huì)關(guān)于開展職工大講堂活動(dòng)的實(shí)施方案.doc
- 仔包-總體實(shí)施方案.doc
- 仔包-總體實(shí)施方案60548.doc
- 仔包管理配合及服務(wù)工作內(nèi)容.doc
- 總經(jīng)理與副總經(jīng)理職責(zé)的區(qū)別.doc
- 總經(jīng)理及公司高管工作管理制度.doc
- 總經(jīng)理季度交流會(huì)運(yùn)行方案內(nèi)部溝通機(jī)制.doc
- 總結(jié)matlab計(jì)算積分的常用命令.doc
- 總結(jié)圈梁和構(gòu)造柱的設(shè)置要求.doc
- 總結(jié):英語動(dòng)詞后加todo或doing.doc