counter16_top.v

来自「清华大学verilog hdl源码例子」· Verilog 代码 · 共 57 行

V
57
字号
// 实验名称 : 16位计数器
// 程序名称 : counter16_top.v 
// 日  期 : 2001/12/18
 
//*********************************************************
//                      定义模块(module)
//*********************************************************
 
module counter16_top(
 
        S1, CLK, L5, BZ
);
 
input           S1;             // 以按键开关S1做为重置讯号输入
input           CLK;            // 以512KHz系统时脉做为计数时脉输入 
output          L5;             // 以编号L5的LED做为计数器的视觉输出
output          BZ;             // 以蜂鸣器做为计数器的音频输出
 
//*********************************************************
 
// 宣告要连接到16位计数器输出值的接线。
 
wire [15:0]     counter_value;
 
// 在这里加入最主要16位计数器模块。
 
counter16 counter16(
 
// 将实验板上的按键开关S1连接到counter16的reset_n port
 
        .reset_n( S1 ),
 
// 将实验板上的512KHz系统时脉连接到counter16的clock port
 
        .clk_in( CLK ),
 
// 将以wire宣告的接线连接到counter16的counter port
 
        .clk16_out( counter_value )
);
 
// 将16位计数器的最高位当做编号L5的LED控制输出。
// 这样子所得到的LED闪烁频率会是 512KHz / 2^16,
// 也就是大约一秒钟闪8次。
 
assign L5 = counter_value[15];
 
// 将16位计数器的位8当做蜂鸣器的输出。这样子所得到的
// 蜂鸣器输出频率会是 512KHz / 2^9,刚好1KHz的音频。
 
assign BZ = counter_value[8];
 
//*********************************************************
 
endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?