# 基于FPGA的多功能数字频率计

### 时间：2017-4-28 18:32:37 点击：

核心提示：基于FPGA的多功能数字频率计...

·测频法

4.2 数字频率计的基本设计方案

4-1 数字频率计原理框图

·计数器模块

module CNT10(

clk,

rst,

en,

cq,

carry_out

);

input clk;

input rst;

input en;

output [3:0]cq;

output carry_out;

reg [3:0]cq;

reg carry_out;

always @(posedge clk)

begin

if(!rst)

begin

cq       <=4'd0;

carry_out<=1'b0;

end

else begin

if(en==1'b1)

begin

if(cq==4'd9)

begin

cq<=4'd0;

carry_out<=1'b1;

end

else begin

cq<=cq+4'd1;

carry_out<=1'b0;

end

end

else begin

carry_out<=1'b0;

cq<=4'd0;

end

end

end

endmodule

·数据锁存器

module REG32B(

din,

dout

);

input[39:0]din;

output[39:0]dout;

reg[39:0]dout;

begin

dout<=din;

end

endmodule

·系统总体设计

module FREQ(

fsin,

clk,

dout2

);

input fsin;

input clk;

output[39:0]dout2;

wire TSTEN;

wire CLR_CNT;

TESTCTL TESTCTL_u(

.CLK     (clk),

.TSTEN   (TSTEN),

.CLR_CNT (CLR_CNT),

);

wire[39:0]dout;

wire s1;

wire s2;

wire s3;

wire s4;

wire s5;

wire s6;

wire s7;

wire s8;

wire s9;

wire s10;

CNT10 CNT10_u1(

.clk       (fsin),

.rst       (CLR_CNT),

.en        (TSTEN),

.cq        (dout[3:0]),

.carry_out (s1)

);

CNT10 CNT10_u2(

.clk       (s1),

.rst       (CLR_CNT),

.en        (TSTEN),

.cq        (dout[7:4]),

.carry_out (s2)

);

CNT10 CNT10_u3(

.clk       (s2),

.rst       (CLR_CNT),

.en        (TSTEN),

.cq        (dout[11:8]),

.carry_out (s3)

);

CNT10 CNT10_u4(

.clk       (s3),

.rst       (CLR_CNT),

.en        (TSTEN),

.cq        (dout[15:12]),

.carry_out (s4)

);

CNT10 CNT10_u5(

.clk       (s4),

.rst       (CLR_CNT),

.en        (TSTEN),

.cq        (dout[19:16]),

.carry_out (s5)

);

CNT10 CNT10_u6(

.clk       (s5),

.rst       (CLR_CNT),

.en        (TSTEN),

.cq        (dout[23:20]),

.carry_out (s6)

);

CNT10 CNT10_u7(

.clk       (s6),

.rst       (CLR_CNT),

.en        (TSTEN),

.cq        (dout[27:24]),

.carry_out (s7)

);

CNT10 CNT10_u8(

.clk       (s7),

.rst       (CLR_CNT),

.en        (TSTEN),

.cq        (dout[31:28]),

.carry_out (s8)

);

CNT10 CNT10_u9(

.clk       (s8),

.rst       (CLR_CNT),

.en        (TSTEN),

.cq        (dout[35:32]),

.carry_out (s9)

);

CNT10 CNT10_u10(

.clk       (s9),

.rst       (CLR_CNT),

.en        (TSTEN),

.cq        (dout[39:36]),

.carry_out (s10)

);

REG32B REG32B_u(

.din  (dout),

.dout (dout2)

);

endmodule

• ##### 您是如何找到本站的？
• 百度搜索
• 查阅资料过程中
• 论坛发现
• 百度贴吧发现
• 朋友介绍
• 上一篇：HighSpeedLogic专题：ACC音频播放器设计
• 下一篇：没有了
• 没有相关文章
• 大名：
• 内容：
• 没有
• 没有