VHDL代码求救,哪个高手帮我看下,入门新手

[复制链接]
3141|2
 楼主| cailiaoyige555 发表于 2011-6-4 22:35 | 显示全部楼层 |阅读模式
做一个FPGA频率计,但是用单片机处理数据,FPGA只做计数用。 如图
file:///C:/Documents%20and%20Settings/lihua/Application%20Data/Tencent/Users/84272367/QQ/WinTemp/RichOle/MMXCIXLA}@J6S41RWPQRT~N.jpg
[img]file:///C:/Documents%20and%20Settings/lihua/Application%20Data/Tencent/Users/84272367/QQ/WinTemp/RichOle/6GCNV[1QTR6VS@KW1~K)(WK.jpg[/img]
代码如下:
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;
[email=always@(posedge]always@(posedge[/email] test_clk)//D触发器
begin
a<=on_clk;
end
[email=always@(posedge]always@(posedge[/email] 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
[email=always@(posedge]always@(posedge[/email] rst or posedge c)//被测频率计数输出位控制信号
begin
if(rst)
  test_count<=32'b0;
else
  test_count<=test_count+1'b1;
end
[email=always@(con_dataout)//]always@(con_dataout)//[/email]被测频率计数器输出,管脚个数不够,板子上引出管脚少,输出时得复用管脚
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

哪个朋友帮我看下,问题出在哪里,我是新手,刚学verilog语言
lwq030736 发表于 2011-6-6 14:18 | 显示全部楼层
你都不说你碰到了什么问题,你叫别人怎么看啊?
sxhhhjicbb 发表于 2011-6-10 21:36 | 显示全部楼层
问问题前,想好.该怎么表达.如果别人这么表达.自己能不能一眼看懂.

善于提问也是技术进步的一种.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

1

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部