module fp_verilog(clk,reset_n,fm);
input clk,reset_n;
output fm;
reg fm;
reg [19:0] counter;
always@(posedge clk or negedge reset_n)
if(!reset_n)
counter<=20'b0;
else
begin
if(counter[19])
begin
fm<=1'b1;counter<=20'b0;
end
else
begin
fm<=1'b0;counter<=counter+1'b1;
end
end
endmodule
我的板子的蜂鸣器是电磁式 的 这个代码驱动带不起来 高手指点一下 为什么 怎么样才能响
此帖出自
小平头技术问答
高脉冲宽度太窄,仅一个系统时钟周期。最好是方波驱动。
module fp_verilog(clk,reset_n,fm);
input clk,reset_n;
output fm;
reg [19:0] counter;
reg h;
always@(posedge clk or negedge reset_n)
if(!reset_n)
counter<=5'h00000;
else
counter<=counter+1;
always @(posedge clk or negedge reset_n)
if(!reset_n)
h<=1'b0;
else
if(counter==5'hfffff)
h<=~h;
assign fm=h;
endmodule
代码这样写是不是 脉冲宽度就大了 而且也是 方波现在学习感觉太艰难了 遇到很多不会的问题 自己会上网查 然后到这里来问 FPGA 只是一个工具 要想做电子工程师 模拟 数字 以及微机原理 计算机结构 通信知识 接口知识 等等 需要看的东西太多了 您作为一个过来者 能给点建议 什么的 ,因为需要看的东西太多了 要是盲目的去看 或者 急于求成 可能会是事倍功半的效果 也很可能走入误区
[ 本帖最后由 leomeng 于 2011-11-12 13:35 编辑 ]学习没捷径!
1. FPGA学习关键理解好数字电路。因为FPGA设计的数字电路,所以如果你的电路设计的好,则FPGA也会设计很好的。
FPGA语法表达很简单,而且都是固定式。不像高级语言那样变化丰富。但如果做测试,当然另外考虑。
一周热门 更多>