实验六Verilog设计分频器计数器电路.doc

上传人:PIYPING 文档编号:11454721 上传时间:2021-08-06 格式:DOC 页数:25 大小:3.21MB
返回 下载 相关 举报
实验六Verilog设计分频器计数器电路.doc_第1页
第1页 / 共25页
实验六Verilog设计分频器计数器电路.doc_第2页
第2页 / 共25页
实验六Verilog设计分频器计数器电路.doc_第3页
第3页 / 共25页
实验六Verilog设计分频器计数器电路.doc_第4页
第4页 / 共25页
实验六Verilog设计分频器计数器电路.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

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

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

2、er10.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、打开QuartusII,新建一个工程f_fenpinq10yjq2、新建一个VerilogHDL 文件 3、输入程序:module fenpinqi10(clk,reset,clkout);input clk,reset;output clkout;reg clkout;

4、reg2:0 cnt;always (posedge clk , negedge reset)begin if(!reset) begin clkout=0;cnt=0;end else if(cnt=4) begin cnt=0;clkout=clkout;end else cntgeneral 下拉选fenpinqi10)5、编译6、执行fileCreate/UpdateCreate Symbol Files for Current Flie为VHDI设计文件生成原件符号 7、建立波形文件8、导入引脚9、仿真结果如下: 总结:仿真结果与实验一的题意相符,所以仿真正确。第二个实验:1、打开Q

5、uartusII,新建一个工程couter10yjq2、新建一个VerilogHDL文件输入文件couter10yjq.v3、输入程序module couter10 (CLK,CLR,C,Q);input CLK,CLR;output C;output3:0 Q;reg C=0;reg3:0Q=0;always(posedge CLK ) begin if (CLR=1) begin Q=0;C=0; end else begin Q=Q+1; end if(Q=9) begin C=C;Qgeneral 下拉选couter10)5、编译6、执行fileCreate/UpdateCreate

6、Symbol Files for Current Flie为VHDI设计文件生成原件符号 7、建立波形文件8、导入引脚9、仿真结果如下:总结:仿真结果与题意相符,故仿真正确。第三个实验1、打开QuartusII,新建一个工程couter8yjq2、新建一个VerilogHDL文件输入文件couter8yjq.v3、输入程序module couter8 (CLK,CLR,UPDOWN,C,Q);input CLK,CLR,UPDOWN;output C;output7:0Q;reg C;reg7:0Q;always(posedge CLK)beginif (CLR=0) begin C=0;Q=

7、0; endelse if (UPDOWN=1) begin if (Q=b1111111) begin Q=0;C=C; end else Q=Q+1; end else begin if (Q=b0000000) begin Q=b1111111;C=C; end else Qgeneral 下拉选couter8)5、编译6、执行fileCreate/UpdateCreate Symbol Files for Current Flie为VHDI设计文件生成原件符号 7、建立波形文件8、导入引脚9、仿真总结:仿真结果与题意相符,故仿真正确。第四个实验1、打开QuartusII,新建一个工程m

8、cout5yjq2、新建一个VerilogHDL文件输入文件mcout5yjq.v3、输入程序module mcout5 (M1,M0,CLK,out,c,CLR);input M1,M0,CLK,CLR;output c;output5:0out;reg c;reg5:0M;reg5:0N;reg5:0out;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; end

9、case if(N=M) begin if(out=M) begin out=0;c=c; end else begin out=out+1; end end else begin out=0;cgeneral 下拉选mcout5)5、编译6、执行fileCreate/UpdateCreate Symbol Files for Current Flie为VHDI设计文件生成原件符号 7、建立波形文件8、导入引脚9、仿真总结:仿真结果与题意相符,故仿真正确。第五个实验1、打开QuartusII,新建一个工程counter2_10yjq2、新建一个VerilogHDL文件输入文件counter2_

10、10yjq.v3、输入程序module counter2_10 (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; coutgeneral 下拉选counter2_10)5、编译6、执行fileCreate/UpdateCreate Symbol Files for Current Flie为VHDI设计文件生成原件符号 7、建立波形文件8、导入引脚9、仿真总结:仿真结果与题意相符,故仿真正确。

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

当前位置:首页 > 科普知识


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