哪个帮我看下代码,我新手,刚学verilog,先谢谢了
做一个FPGA频率计,但是用单片机处理数据,FPGA只做计数用。module FQ_tester(test_clk,M_clk,rst,con_dataout,dataout);
input test_clk;//被测频率
input rst;
input M_clk;//标准频率
output dataout;//被测频率计数输出
inout con_dataout;//被测频率计数输出位控制信号
reg con_dataout;
reg on_clk=1'b1;//开门信号
reg dataout;
reg a;//D触发器输出
reg M_count;//标准频率计数器
reg test_count;//被测频率计数器
wire b,c;
assign b=a&M_clk;
assign c=a&test_clk;
always@(posedge test_clk)//D触发器
begin
a<=on_clk;
end
always@(posedge b)//标准频率计数器
begin
M_count<=M_count+1'b1;
if(M_count==25'd25000000)
begin
M_count<=25'b0000000000000000000000000;
on_clk<=~on_clk;
con_dataout<=2'b00;
end
end
always@(posedge rst or posedge c)//被测频率计数输出位控制信号
begin
if(rst)
test_count<=32'b0;
else
test_count<=test_count+1'b1;
end
always@(con_dataout)//被测频率计数器输出,管脚个数不够,板子上引出管脚少,输出时得复用管脚
begin
case(con_dataout)
2'b00: dataout=test_count;
2'b01: dataout=test_count;
2'b10: dataout=test_count;
2'b11:
begin
dataout=test_count;
on_clk=~on_clk;
end
endcase
end
endmodule
谢谢帮我看下,指点下
页:
[1]