集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1304|回复: 0

哪个帮我看下代码,我新手,刚学verilog,先谢谢了

[复制链接]
cailiaoyige555 发表于 2011-6-4 22:45:15 | 显示全部楼层 |阅读模式
做一个FPGA频率计,但是用单片机处理数据,FPGA只做计数用。

module FQ_tester(test_clk,M_clk,rst,con_dataout,dataout);
input test_clk;//被测频率
input rst;
input M_clk;//标准频率
output dataout;//被测频率计数输出
inout[1:0] con_dataout;//被测频率计数输出位控制信号
reg con_dataout;
reg on_clk=1'b1;//开门信号
reg[7:0] dataout;
reg a;//D触发器输出
reg[24:0] M_count;//标准频率计数器
reg[31:0] 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[31:24];
        2'b01: dataout=test_count[23:16];
        2'b10: dataout=test_count[15:8];
        2'b11:
                begin
                        dataout=test_count[7:0];
                        on_clk=~on_clk;
                end
        endcase
end
endmodule


谢谢帮我看下,指点下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-23 10:47 , Processed in 0.062765 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表