if( !rst ) begin out <= data; end else begin out[7] <= out[0]; out[6:0] <= out[7:1]; end end endmodule
module check_chipscope_v(clk); input clk; wire [35:0] control_one; wire [35:0] control_two; wire [7:0] outdata; wire [7:0] async_in; wire [0:0] async_out; wire [0:0] trig0; wire [0:0] trig1; shift_wave mywave( .clk(clk), .rst(async_out), .out(outdata) ); i_icon myicon( .CONTROL0(control_one), .CONTROL1(control_two) ); v_vio myvio( .CONTROL(control_two), .ASYNC_OUT({async_out,trig1}), .ASYNC_IN(outdata) ); i_ila myila( .CLK(clk), .CONTROL(control_one), .TRIG0(trig0), .TRIG1(trig1),
.DATA(outdata) );
endmodule
生成.bit文件后,双击
,打开Chipscope,点击
由电
缆查找FPGA,然后选择配置文件,软件自动下载到FPGA中,之后就可以进行在线调试了。
要注意的是,调用过多的核,会占用更多的FPGA资源,特别是ILA核,占用BRAM,当BRAM不够的时候,在综合是就会产生错误提示找不到核的模块,而无法进行布线和在线仿真,所以必须注重于资源的分配问题。详细的chipscope使用在后面介绍。