计数器的VHDL设计.docx
- 文档编号:583939
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:10
- 大小:141.11KB
计数器的VHDL设计.docx
《计数器的VHDL设计.docx》由会员分享,可在线阅读,更多相关《计数器的VHDL设计.docx(10页珍藏版)》请在冰豆网上搜索。
计数器的VHDL设计
计数器的VHDL设计
实验名称:
计数器的VHDL设计
一、带高电平使能信号,低电平清零信号,低电平置数信号的十进制计数器的VHDL设计
1.实体框图
2.程序设计
①编译前的程序
Libraryieee;
Useieee.std_logic_1164.all;
Useieee.std_logic_unsigned.all;
Entitycnt10is
Port(clk,RST,SET,EN:
instd_logic;
CQ:
outstd_logic_vector(3downto0);
Cout:
outstd_logic);
Endcnt10;
Architectureoneofcnt10is
Begin
Process(clk,RST,SET,EN)
VariableCQ1:
std_logic_vector(3downto0);
Begin
ifRST='0'ThenCQ1:
=(others=>'0');
elsifclk'eventandclk='1'then
ifSET='0'ThenCQ1:
=(others=>'1');
elsifEN='1'Then
ifCQ1<9ThenCQ1:
=CQ1+1;
elseCQ1:
=(others=>'0');
endif;
endif;
endif;
ifCQ1=9Thencout<='1';
elsecout<='0';
endif;
CQ<=CQ1;
Endprocess;
Endone;
②程序编译错误情况
错误:
Error(10500):
VHDLsyntaxerrorat/cnt10.vhd(12)neartext"?
;expecting":
",or","
标点符号格式输入不对引起的,切换到英文输入模式重新输入即可
③正确的程序
Libraryieee;
Useieee.std_logic_1164.all;
Useieee.std_logic_unsigned.all;
Entitycnt10is
Port(clk,RST,SET,EN:
instd_logic;
CQ:
outstd_logic_vector(3downto0);
Cout:
outstd_logic);
Endcnt10;
Architectureoneofcnt10is
Begin
Process(clk,RST,SET,EN)
VariableCQ1:
std_logic_vector(3downto0);
Begin
ifRST='0'ThenCQ1:
=(others=>'0');
elsifclk'eventandclk='1'then
ifSET='0'ThenCQ1:
=(others=>'1');
elsifEN='1'Then
ifCQ1<9ThenCQ1:
=CQ1+1;
elseCQ1:
=(others=>'0');
endif;
endif;
endif;
ifCQ1=9Thencout<='1';
elsecout<='0';
endif;
CQ<=CQ1;
Endprocess;
Endone;
3.仿真波形图
4.仿真波形分析
当低电平清零信号有效时,计数器清零;当低电平置数信号有效时,计数器置数
使能信号为高电平且脉冲上升沿有效时,计数器开始计数(从0到9)为十进制计数
一、64进制的二进制计数器的VHDL设计
1.实体框图
2.程序设计
①编译前的程序
Libraryieee;
Useieee.std_logic_1164.all;
Useieee.std_logic_unsigned.all;
Entitycnt64is
Port(clk:
instd_logic;
D:
instd_logic_vector(5downto0);
Q:
out
Endprocess;
Q<=Q1;
Endtwo;
3.仿真波形图
4.仿真波形分析
当脉冲信号为上升沿时,计数器开始计数(0到63),为64进制的二进制计数器
一、64进制的高四位、低四位的BCD码设计
1.实体框图
2.程序设计
①编译前的程序
Libraryieee;
Useieee.std_logic_1164.all;
Useieee.std_logic_unsigned.all;
EntityCDU_64is
Port(clk:
instd_logic;
Q:
outstd_logic_vector(7downto0));
EndCDU_64;
ArchitecturethreeofCDU_64is
Signalcout2,cout1:
std_logic_vector(3downto0);
Begin
Process(clk)
Begin
ifclk'eventandclk='1'Then
if(cout2=6andcout1=3)Then
cout2<="0000";cout1<="0000";
elseif(cout1=9)then
cout2<=cout2+1;cout1<="0000";
elsecout2<=cout2;cout1<=cout1+1;
endif;
endif;
endif;
Endprocess;
Q<=cout2&cout1;
Endthree;
②程序编译错误情况
无
③正确的程序
Libraryieee;
Useieee.std_logic_1164.all;
Useieee.std_logic_unsigned.all;
EntityCDU_64is
Port(clk:
instd_logic;
Q:
outstd_logic_vector(7downto0));
EndCDU_64;
ArchitecturethreeofCDU_64is
Signalcout2,cout1:
std_logic_vector(3downto0);
Begin
Process(clk)
Begin
ifclk'eventandclk='1'Then
if(cout2=6andcout1=3)Then
cout2<="0000";cout1<="0000";
elseif(cout1=9)then
cout2<=cout2+1;cout1<="0000";
elsecout2<=cout2;cout1<=cout1+1;
endif;
endif;
endif;
Endprocess;
Q<=cout2&cout1;
Endthree;
3.仿真波形图
4.仿真波形分析
64进制的BCD码设计:
分为高四位和低四位,当低四位从0到9时,高四位进1,直到低四位从0到9,使得高四位从0到6,最后一次低四位计数到3为止,实现64进制的BCD码计数功能
一、8位左移计数器的VHDL设计
1.实体框图
2.程序设计
①编译前的程序
Libraryieee;
Useieee.std_logic_1164.all;
Entityshfrtis
Port(clk,load:
instd_logic;
DIN:
instd_logic_vector(7downto0);
QB:
outstd_logic);
Endshfrt;
Architecturefourofshfrtis
Begin
process(clk,Load)
variableREG8:
std_logic_vector(7downto0);
Begin
ifclk'eventandclk='1'Then
ifload='1'ThenREG8:
=DIN;
elseREG8(7downto1):
=REG8(6downto0)
REG8(0):
='1';
endif;
endif;
QB<=REG8(7);
Endprocess;
Endfour;
②程序编译错误情况
错误Error(10500):
VHDLsyntaxerroratshfrt.vhd(16)neartext"REG8";expecting";"
发现原程序中少了一个分号,添加后即可。
③正确的程序
Libraryieee;
Useieee.std_logic_1164.all;
Entityshfrtis
Port(clk,load:
instd_logic;
DIN:
instd_logic_vector(7downto0);
QB:
outstd_logic_vector(7downto0));
Endshfrt;
Architecturefourofshfrtis
Begin
process(clk,Load)
variableREG8:
std_logic_vector(7downto0);
Begin
ifclk'eventandclk='1'Then
ifload='1'ThenREG8:
=DIN;
elseREG8(7downto1):
=REG8(6downto0);
REG8(0):
='1';
endif;
endif;
QB<=REG8;
Endprocess;
Endfour;
3.仿真波形图
4.仿真波形分析
当load=1且为下降沿时开始左移移位,最低位补‘1’,输出端为8位同时输出,即实现了并行输出的功能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计数器 VHDL 设计