基于verilog的FPGA简单编程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于verilog的FPGA简单编程相关的知识,希望对你有一定的参考价值。
小灯亮灭的时间掌握好,用一个计数器来掌握小灯亮灭的时间,不一定要分频。比如说,50MHz的时钟,小灯没1秒变化一次,那么1秒钟走过了50M个时钟,所以把计数器的最大值设置为50M。每次计数器益处,小灯的状态变化。module
xunhuan
(clk,reset,LED);
parameter
N=30;
parameter
MAX=30'h2FAF080;
//
50M
input
clk,reset;
output
LED;
reg
ledreg;
reg
[N-1:0]
counter;
always@(posedge
clk
or
negedge
reset)
if(!reset)
counter<=0;
else
if
(counter==MAX)
counter<=0;
else
counter<=counter+1;
always@(posedge
clk
or
negedge
reset)
if
(!reset)
ledreg<=0;
else
if
(counter==0)
ledreg<=~ledreg;
assign
LED=ledreg;
endmodule 参考技术A 这个程序
完全不能综合啊,综合后,这个电路应该是等效于
out
=
1;
完全不能out
=
0
啊;
可以这样修改(针对FPGA):
reg
out
=
0;
always
@(posedge
clk)
begin
out
=
~out;
end
最理想的修改方式是(针对ASIC):
always
@(posedge
clk)
begin
if(reset)
begin
out
<=
0;
end
else
begin
out
<=
~out;
end
end
这里有一个前提是,clk时钟频率不至于太快,要匹配人眼的反应频率。比如clk可以是10Hz(赫兹)左右(这样每秒钟闪10次),如果时钟clk是1MHz,那么你还是看到灯只会亮,因为闪的太快了,人眼完全看不清闪,只看到亮
FPGA教程案例45图像案例5——基于FPGA的图像均值滤波verilog实现,通过MATLAB进行辅助验证
--------------------------------------------------------------------------------------------------------------------------------
目录
以上是关于基于verilog的FPGA简单编程的主要内容,如果未能解决你的问题,请参考以下文章
FPGA人员检测基于FPGA的人员检测,verilog编程实现,含硬件测试
中值滤波+SAD匹配跟踪基于verilog编程开发的FPGA中值滤波和SAD模板匹配跟踪