1 / 5
文档名称:

VHDL实验报告JK触发器、同步计数器.doc

格式:doc   大小:361KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

VHDL实验报告JK触发器、同步计数器.doc

上传人:xunlai783 2018/2/6 文件大小:361 KB

下载得到文件列表

VHDL实验报告JK触发器、同步计数器.doc

文档介绍

文档介绍:Verilog HDL实验报告
Verilog 实验报告
题目: JK触发器、同步计数器
系部名称
:
通信工程
专业名称
:
通信工程
班级
:
班内序号
:
学生姓名
:
时间
:

实验内容:
用JK触发器构成同步计数器:
设计一个同步计数器,其逻辑图和JK触发器的逻辑图所示。清零信号clear低电平有效,输入数据在时钟信号clock的上升沿被锁存,触发器在clock的下降沿输出,当count_enable信号为低电平时停止计数。写出同步计数器的verilog描述和激励模块,在激励模块中使用clear和count_enable对计数器进行测试,并显示输出计数Q[3:0]。
实验原理图:
JK触发器构成同步计数器
源代码:
//主模块
module synchronous_counter(clear,clock,count_enable,Q);
input clear,clock,count_enable;
output [3:0] Q;
wire qbar1,qbar2,qbar3,qbar0;
wire a,b,c;

assign a = Q[0] & count_enable;
assign b = a & Q[1];
assign c = b & Q[2];
JK_flip_flop myJK(count_enable,count_enable,clock,clear,Q[0],qbar0);
JK_flip_flop myJK1(a,a,clock,clear,Q[1],qbar1);
JK_flip_flop myJK2(b,b,clock,clear,Q[2],qbar2);
JK_flip_flop myJK3(c,c,clock,clear,Q[3],qbar3);
endmodule//调用的JK触发器模块
module JK_flip_flop(j,k,clock,clear,q,qbar);
input j,k,clock,clear;
output q,qbar;
wire a,b,y,ybar,c,cbar,d,q,qbar;
assign a = ~ (((qbar & j)& clock) & clear);
assign b = ~ ((clock & k) & q);
assign y = ~ (a & ybar);
assign ybar = ~ ((y & clear) & b);
assign c = ~(y & cbar);
assign cbar = ~ clock;
assign d = ~ (cbar & ybar);
assign q = ~ (c & qbar);
assign qbar = ~ ((q & clear) & d);

endmodule
测试文件源代码:
module count_test;
reg count_enable=1,clock=0,