您的位置:首页 > 其它

FPGA 学习笔记

2010-12-25 22:21 501 查看
大学时,学过一段时间FPGA编程,但是后来一直没有碰过,本来以为温习起来应该很快,但是一做才发现,基本全忘完了,又得重新学习,于是把学习过程中的笔记记下来。

一、TestBench学习:testbench用来测试和验证自己的模块功能是否正确,以前一直认为直接用FPGA开发软件产生一些激励即可仿真,但是实际上对于大型工程,这些就显得力不从心了!因此应该学会自己编写testbench来测试自己的模块是否正确;

一般简单testbench:激励的产生、复位信号的产生、或者其他测试激励的产生。

1、时钟的产生:

对于Verilog 可以使用initial语句和always语句,下面分别写下:

'timescale 1ns/1ps //时间单位为1ns,时间精度为1ps

parameter PERIOD=20;//周期为20ns

initial begin//使用initial语句

clk=0 ;

forever

#(PERIOD/2) clk=~clk ;

end

always begin//always语句单元是顺序执行的

#(PERIOD/2) clk=0 ;//

#(PERIOD/2) clk=1 ;//注意这里使用阻塞赋值啊

end

2、复位信号的产生

这里使用任务,来复用复位信号的产生

initial begin

reset_task(100) ;

end

task reset_task ;

input[15:0] wait_time ;

begin

Rst_n=1 ;

#wait_time ;

Rst_n=0 ;

end

endtask ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: