EDA数字秒表设计样本Word下载.docx
- 文档编号:13728081
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:16
- 大小:104.04KB
EDA数字秒表设计样本Word下载.docx
《EDA数字秒表设计样本Word下载.docx》由会员分享,可在线阅读,更多相关《EDA数字秒表设计样本Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
2)选取模块:
按扫描信号指定选取输出
3)3-8译码模块:
通过SEL给信号来控制8位数码管位亮灭
4)计时模块:
分别对毫秒,秒,分计时
5)显示模块:
通过CHOICE模块输出信号来控制
三、单元模块设计
1、模块名:
sel模块设计
(1)模块功能:
CLK为扫描时钟脉冲,SELOUT端不断发出扫描到信号
(2)端口定义:
CLK为信号输入端
SELOUT[2..0]为选取到信号输出
(3)VHDL源程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityselis
port(clk:
instd_logic;
selout:
outstd_logic_vector(2downto0));
endsel;
architectureoneofselis
signalcount:
std_logic_vector(2downto0);
begin
process(clk)
begin
ifclk'
eventandclk='
1'
then
if(count="
101"
)then
count<
="
000"
;
else
count<
=count+1;
endif;
endprocess;
selout<
=count;
endone;
(4)仿真成果
阐明:
来一种上升沿,SELOUT值增1,可以证明模块是对的。
2、模块名:
选取模块设计
a,b,c为控制信号;
data1[3..0],data2[3..0],data3[3..0],data4[3..0],data5[3..0],data6[3..0]分别是毫秒低位,毫秒高位,秒低位,秒高位,分低位,分高位数据值;
ch_out[3..0]为选取输出端。
entitychoiceis
port
(a,b,c:
data1,data2,data3,data4,data5,data6:
instd_logic_vector(3downto0);
ch_out:
outstd_logic_vector(3downto0)
);
endchoice;
architecturebehaveofchoiceis
signalch:
ch
(2)<
=c;
ch
(1)<
=b;
ch(0)<
=a;
process(ch)
begin
casechis
when"
=>
ch_out<
=data1;
001"
=data2;
010"
=data3;
011"
=data4;
100"
=data5;
=data6;
whenothers=>
null;
endcase;
endbehave;
abc值递增,ch_out选取输出data1,data2,data3,data4,data5,data6值,证明模块是对的
3、模块名:
3-8译码模块设计
通过SEL给信号来控制8位数码管位亮灭。
输入端SEL[2..0]值大小来选取输出Q值
输出端Q[7..0]来控制灯哪位亮
LIBRARYieee;
ENTITYdecode3_8IS
PORT(SEL:
INstd_logic_vector(2downto0);
Q:
OUTstd_logic_vector(7downto0)
ENDdecode3_8;
ARCHITECTUREaOFdecode3_8IS
BEGIN
Q<
="
11111110"
whensel=0else
"
11111101"
whensel=1else
"
11111011"
whensel=2else
11110111"
whensel=3else
11101111"
whensel=4else
11011111"
whensel=5else
11111111"
ENDa;
Sel值递增,Q相应位会亮,证明模块是对的。
4.1模块名:
毫秒计时模块设计
对毫秒位计数
clk为信号时钟输入端
reset为复位端
pause为暂停端
co为进位信号输出端
qh:
毫秒信号高位输出端
ql:
毫秒信号低位输出端
entitym100is
(clk:
reset:
pause:
co:
outstd_logic;
qh:
bufferstd_logic_vector(3downto0);
ql:
bufferstd_logic_vector(3downto0)
endm100;
architecturebehaveofm100is
begin
co<
='
when(qh="
1001"
andql="
)else'
0'
process(clk,reset,pause)
if(reset='
qh<
0000"
ql<
elsif(pause='
)then
=qh;
=ql;
elsif(clk'
if(ql="
ql<
if(qh="
qh<
elseqh<
=qh+1;
endif;
elseql<
=ql+1;
endif;
毫秒为100进制,高位和地位都是10进制,高位到10会有进位,可以证明模块对的性
4.2模块名:
秒计时模块设计
reset为复位端
pause为暂停端
co为进位信号输出端
qh:
ql:
entitym60_secis
(reset:
pause:
ci:
endm60_sec;
architecturebehaveofm60_secis
0101"
andci='
process(reset,pause,ci)
elsif(pause='
qh<
ql<
elsif(ci'
eventandci='
if(qh="
elseqh<
秒进制为60进制,高位到6会有进位,低位为10进制,可以证明模块对的性
4.3模块名:
分计时模块设计
entitym60_minis
in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 数字 秒表 设计 样本