FM模型一般封装了cpu的读写操作,编写时用行为级描述即可,
例如要编写一个BFM模拟CPU读一个设计的RAM
module bfm_cpu(cs,data,addr,rd_en);
output cs;
output rd_en;
output[7:0] data;
output[15:0] addr;
reg cs;
reg rd_en;
reg[7:0] data;
reg [7:0] data_from_ram;
task read;
input[15:0] addr_rd;
begin
cs=0;
rd_en=1;
addr=addr_rd;
wait @posedge clk //wait for a clk
data_from_ram=data;
cs=1;
end
endtask
task write;
...
endtask
...
...
read(24); // 调用
...
endmodule
声明一下,有个朋友需要,所以就搜了一下给贴出来了,这是别人写的,我转过来了。
文章评论(0条评论)
登录后参与讨论