实验六Verilog设计分频器计数器电路答案.docx
- 文档编号:10255882
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:8
- 大小:16.49KB
实验六Verilog设计分频器计数器电路答案.docx
《实验六Verilog设计分频器计数器电路答案.docx》由会员分享,可在线阅读,更多相关《实验六Verilog设计分频器计数器电路答案.docx(8页珍藏版)》请在冰豆网上搜索。
实验六Verilog设计分频器计数器电路答案
实验六Verilog设计分频器/
计数器电路
时间2021.03.10
创作:
欧阳治
一、实验冃的
1、进一步掌握最基本时序电路的实现方法;
2、学习分频器/计数器时序电路程序的编写方法;
3、进一步学习同步和异步时序电路程序的编写方法。
二、实验内容
1、用Verilog设计一个10分频的分频器,要求输入为clock(上升沿有效),rusct(低电平复位),输出clockout为4个clock周期的低电平,4个clock周期的高电平),文件命名为fcnpinqilO.Vo
2、用Verilog设计一异步清零的十进制加法计数器,要求输入为时钟端CLK(上升沿)和异步清除端CLR(高电平复位),输出为进位端C和4位计数输出端Q,文件命名为couterlO.Vo
3、用Verilog设计8位同步二进制加减法计数器,输入为时钟端CLI<(上升沿有效)和异步清除端CLR(低电平有效),加减控制端UPDCWN,当UPDOWN为1时执行加法计数,为()时执行减法计数;输出为进位端C和8位计数输出端Q,文件命名为coutcrB.Vo
4、用VERILOG设计一可变模数计数器,设计要求:
令输入信号Ml和M0控制计数模,当M1M()=()()时为模18加法计数器;M1M()=()1时为模4加法计数器;当M1M()=1()时为模12加法计数器;M1M0二11时为模6加法计数器,输入elk上升沿有效,文件命名为mcout5.Vo
5、VerilogHDL设计有时钟时能的两位十进制计数器,有时钟使能的两位十进制计数器的元件符号如图所示,CLK是时钟输入端,上升沿有效;ENA是时钟使能控制输入端,高电平有效,当ENA=1时,时钟CLK才能输入;CLR是复位输入端,高电平有效,异步清零;Q[3..0]是计数器低4位状态输出端,Q[7..O]是高4位状态输出端;C()UT是进位输出端。
三、实验步骤
实验一:
分频器
1、建立工程
2、创建VerilogHDL文件
3、输入1()分频器程序代码并保存
4、进行综合编译
5、新建波形文件
6、导入引脚
7、设置信号源并保存
8、生成网表
9、功能仿真
10、仿真结果分析
由仿真结果可以看出clockout输出5个clock周期的低电平和5个clock的高电平达到1()分频的效果,设计正确。
实验二:
十进制加法计数器(异步清零)
1、建立工程
2、创建VerilogHDL文件
3、输入加法计数器代码并保存
4、进行综合编译
5、新建波形文件
欧阳治创编2021.03.10欧阳治
创编2021.03.10
6、导入引脚
7、设置信号源并保存
8、生成网表
9、功能仿真
10、仿真结果分析
由仿真结果可以看出异步清除端CLR高电平时,
输出Q清零,CLR低电平则Q进行1到9的计数,超过9进位端C为1,Q从()开始重新计数如此循环。
因此设计正确。
实验三:
8位同步二进制加减计数器
1、建立工程
2、创建VerilogHDL文件
3、输入同步8位加减法计数器程序代码并保存
4、进行综合编译
5、新建波形文件
6、导入引脚
7、设置信号源并保存
8、生成网表
9、功能仿真
10、仿真结果分析
欧阳治创编2021.03.10欧阳治
创编2021.03.10
由仿真波形图可以看出当时钟clock的上升沿到来时,clr为低电平时清零,实现同步复位。
当updown为低电平时,计数器做减法操作;当updown为低电平时,计数器做加法操作。
所以设计正确。
实验四:
可变模数计数器
1、建立工程
2、创建VerilogHDL文件
3、输入可变模数计数器程序代码并保存
modulemcout5_ljj(Ml,M0,CLK,out,c,CLR);
inputMl,MO,CLI<,CLR;
outputc;
output[5:
()]out;
regc;
rcg[5:
0]M,N;
rcg[5:
()]out;
always@(poscdgcCLKorposcdgeCLR)
begin
if(CLR)
begin
out<=();N<=();
end
else
bcgin
Nv二M;
casc({Ml,M0})
!
b()():
Mv=18;
*b()l:
Mv=4;
’bl():
Mv=12;
'bll:
M<=6;
endcase
if(N二二M)
begin
if(out==(M-l))
begin
out<=0;c<=〜c;
end
else
begin
out<=out+l;
end
end
else
begin
out<=();c<=0;
end
end
end
cndmodulc
4、
进行综合编译
5、
新建波形文件
6、
导入引脚
7、
功能仿真
11、
仿真结果分析
当M1M()=O()时波形图,此时为模18的加法计数
器
当M1M()=O1时波形图,此时为模4加法计数器
当M1MO=1()时波形图,此时为模12加法计数器
当M1M()=()1时波形图,此时为模6加法计数器
实验五:
2位十进制计数器
1、建立工程
2、创建VerilogHDL文件
3、输入2位十进制计数器程序代码并保存
modulecounters(clk,clr,cna,cout,ql,qh);
inputclk,clr,cna;
outputcout;
output[3:
0]ql,qh;
rcg[3:
()]qh,ql;
regcout;
always@(posedgcelkorposedgeclr)
begin
if(clr)
begin
qh<=();
qlv=();
cout<=();
欧阳治创编2021.03.10欧阳治
创编2021.03.10
end
elseif(cna)
begin
qlv=ql+l;
if(ql==*bl()l())beginqlv=();qhv=qh+l;
if(qh==,bl()10)begin
qh<=();
cout<二〜cout;
end
end
end
end
cndmodulc
4、
进行综合编译
5、
新建波形文件
6、
导入引脚
7、
设置信号源并保存
8、生成网表
9、功能仿真和结果分析
Q[3..O]是进位输出端,Q[7..3]是高四位的状态输出
端,结果正确。
10、生成俩位十进制计数器元件
时间2021.03.10创作:
欧阳治
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 Verilog 设计 分频器 计数器 电路 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)