实验六Verilog设计分频器计数器电路答案参考模板.doc

上传人:doc321 文档编号:15003606 上传时间:2022-03-03 格式:DOC 页数:28 大小:742KB
返回 下载 相关 举报
实验六Verilog设计分频器计数器电路答案参考模板.doc_第1页
第1页 / 共28页
实验六Verilog设计分频器计数器电路答案参考模板.doc_第2页
第2页 / 共28页
实验六Verilog设计分频器计数器电路答案参考模板.doc_第3页
第3页 / 共28页
实验六Verilog设计分频器计数器电路答案参考模板.doc_第4页
第4页 / 共28页
实验六Verilog设计分频器计数器电路答案参考模板.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《实验六Verilog设计分频器计数器电路答案参考模板.doc》由会员分享,可在线阅读,更多相关《实验六Verilog设计分频器计数器电路答案参考模板.doc(28页珍藏版)》请在三一文库上搜索。

1、实验六Verilog设计分频器/计数器电路一、实验目的1、进一步掌握最基本时序电路的实现方法;2、学习分频器/计数器时序电路程序的编写方法;3、进一步学习同步和异步时序电路程序的编写方法。二、实验内容1、用Verilog设计一个10分频的分频器,要求输入为clock(上升沿有效),reset(低电平复位),输出clockout为4个clock周期的低电平,4个clock周期的高电平),文件命名为fenpinqi10.v。2、用Verilog设计一异步清零的十进制加法计数器,要求输入为时钟端CLK(上升沿)和异步清除端CLR(高电平复位),输出为进位端C和4位计数输出端Q,文件命名为couter

2、10.v。3、用Verilog设计8位同步二进制加减法计数器,输入为时钟端CLK(上升沿有效)和异步清除端CLR(低电平有效),加减控制端UPDOWN,当UPDOWN为1时执行加法计数,为0时执行减法计数;输出为进位端C和8位计数输出端Q,文件命名为couter8.v。4、用VERILOG设计一可变模数计数器,设计要求:令输入信号M1和M0控制计数模,当M1M0=00时为模18加法计数器;M1M0=01时为模4加法计数器;当M1M0=10时为模12加法计数器;M1M0=11时为模6加法计数器,输入clk上升沿有效,文件命名为mcout5.v。5、VerilogHDL设计有时钟时能的两位十进制计

3、数器,有时钟使能的两位十进制计数器的元件符号如图所示,CLK是时钟输入端,上升沿有效;ENA是时钟使能控制输入端,高电平有效,当ENA=1时,时钟CLK才能输入;CLR是复位输入端,高电平有效,异步清零;Q3.0是计数器低4位状态输出端,Q7.0是高4位状态输出端;COUT是进位输出端。三、实验步骤实验一:分频器1、 建立工程1 / 282、 创建Verilog HDL文件3、 输入10分频器程序代码并保存4、 进行综合编译5、 新建波形文件6、 导入引脚7、 设置信号源并保存8、 生成网表9、 功能仿真10、 仿真结果分析由仿真结果可以看出clockout输出5个clock周期的低电平和5个

4、clock的高电平达到10分频的效果,设计正确。实验二:十进制加法计数器(异步清零)1、 建立工程2、 创建Verilog HDL文件3、 输入加法计数器代码并保存4、 进行综合编译5、 新建波形文件6、 导入引脚7、 设置信号源并保存8、 生成网表9、 功能仿真10、 仿真结果分析由仿真结果可以看出异步清除端CLR高电平时,输出Q清零,CLR低电平则Q进行1到9的计数,超过9进位端C为1 ,Q从0 开始重新计数如此循环。因此设计正确。实验三:8位同步二进制加减计数器1、 建立工程2、 创建Verilog HDL文件3、 输入同步8位加减法计数器程序代码并保存4、 进行综合编译5、 新建波形文

5、件6、 导入引脚7、 设置信号源并保存8、 生成网表9、 功能仿真10、 仿真结果分析由仿真波形图可以看出当时钟clock的上升沿到来时,clr为低电平时清零,实现同步复位。当updown为低电平时,计数器做减法操作;当updown为低电平时,计数器做加法操作。所以设计正确。实验四:可变模数计数器1、 建立工程2、 创建Verilog HDL文件3、 输入可变模数计数器程序代码并保存module mcout5_ljj (M1,M0,CLK,out,c,CLR);input M1,M0,CLK,CLR;output c;output5:0out;reg c;reg5:0M,N;reg5:0out

6、;always(posedge CLK or posedge CLR)begin if (CLR) begin out=0;N=0; end else begin N=M; case(M1,M0) b00: M=18; b01: M=4; b10: M=12; b11: M=6; endcase if(N=M) begin if(out=(M-1) begin out=0;c=c; end else begin out=out+1; end end else begin out=0;c=0; end endendendmodule4、 进行综合编译5、 新建波形文件6、 导入引脚7、 功能仿真

7、11、 仿真结果分析当M1M0=00时波形图,此时为模18的加法计数器当M1M0=01时波形图,此时为模4加法计数器当M1M0=10时波形图,此时为模12加法计数器当M1M0=01时波形图,此时为模6加法计数器实验五:2位十进制计数器1、 建立工程2、 创建Verilog HDL文件3、 输入2位十进制计数器程序代码并保存module counter8 (clk,clr,ena,cout,ql,qh);input clk,clr,ena;output cout;output3:0 ql,qh;reg3:0qh,ql;reg cout;always (posedge clk or posedge clr)begin if(clr) begin qh=0; ql=0; cout=0; end else if(ena) begin ql=ql+1; if(ql=b1010) begin ql=0;qh=qh+1; if(qh=b1010) begin qh=0; cout=cout; end end endendendmodule4、 进行综合编译5、 新建波形文件6、 导入引脚7、 设置信号源并保存8、 生成网表9、 功能仿真和结果分析Q3.0是进位输出端,Q7.3是高四位的状态输出端,结果正确。10、 生成俩位十进制计数器元件

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1