2021-12-02AXI 4-Stream Verification IP를 슬레이브로 사용
참고: AXI4-Stream 테스트by축파대학 무내수선생
상기 내용을 참고하여 IP를 제작한다.
<IP名>_v1_0_M00_AXIS.v
파일의 MAXIS_TVALID, M_AXIS_TDATA, M_AXIS_TLAST, M_AXIS_TSTRB의 assign 리뷰 // Add user logic here
에서 무내 추가 설치 // I/O Connections assignments
//assign M_AXIS_TVALID = axis_tvalid_delay;
//assign M_AXIS_TDATA = stream_data_out;
//assign M_AXIS_TLAST = axis_tlast_delay;
//assign M_AXIS_TSTRB = {(C_M_AXIS_TDATA_WIDTH/8){1'b1}};
Block Designaxi4stream_vip_0 설정
벤치 테스트(System Verilog)
https://qiita.com/tethys_seesaa/items/9d4c00212d9ea79b1497
의 설치를 기반으로 AXI4 Stream의 슬레이브로 업데이트합니다.
(PG277 AXI4-Stream Verification IPv1.0 참조)
tb.sv
`timescale 1ns/1ps
import axi4stream_vip_pkg::*;
import sys_axi4stream_vip_0_0_pkg::*;
module tb();
localparam int LP_CLK_PERI = 100;
localparam int LP_RST_PERI = 777;
// DUT instance
logic aresetn, aclk;
sys_wrapper dut(.*);
task rst_gen();
aresetn = '0;
#(LP_RST_PERI);
aresetn = '1;
endtask
task clk_gen();
aclk = '0;
forever #(LP_CLK_PERI/2) aclk = ~aclk;
endtask
task clk_dly(int n);
repeat(n) @(posedge aclk);
endtask
// VIP decreation
sys_axi4stream_vip_0_0_slv_t agent;
task init_agent();
agent = new("master vip agent", dut.sys_i.axi4stream_vip_0.inst.IF);
agent.start_slave();
endtask
// Ready gen method
task rd_rdy();
axi4stream_ready_gen ready_gen;
ready_gen = agent.driver.create_ready("ready_gen 2");
ready_gen.set_ready_policy(XIL_AXI4STREAM_READY_GEN_SINGLE);
ready_gen.set_low_time(1);
agent.driver.send_tready(ready_gen); // rd_driver=>driver
endtask
// Testscenario
initial begin
fork
init_agent();
clk_gen();
rst_gen();
join_none
clk_dly(100);
rd_rdy();
clk_dly(100);
$finish(2);
end
endmodule
물결2000ns까지 실행됩니다.
s_axi_tdata[31:0]의 계수를 볼 수 있습니다.
XXX를 찾을 수 없습니다.
tb.sv에서 다음 오류가 발생했지만 실행할 수 있습니다.
forum에서 비주얼 버그로 보고되었습니다.
import axi4stream_vip_pkg::*;
을 찾을 수 없습니다.import sys_axi4stream_vip_0_0_pkg::*;
을 찾을 수 없습니다.https://support.xilinx.com/s/question/0D52E00006hphJ3SAI/axi-vip-and-axivipv102pkg-is-not-declared?language=ja
You may see the lines underlined in red, this is a visual bug and is being fixed. It is safe to ignore it.
또한 다음과 같은 오류가 발생했지만 Run Simulation이 발생했습니다.
Reference
이 문제에 관하여(2021-12-02AXI 4-Stream Verification IP를 슬레이브로 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/7of9/items/9acd445562944391a82f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)