FPGA 学习笔记

大学时,学过一段时间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 ;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值