原創 by DeeZeng工具
Intel FPGA Quartus 軟件中的 Qsys工具 也就是 Platform Designer 系統集成工具,能夠ui
若是咱們不對 qsys子模塊進行設置,那在新的qsys中整合的時候,將只能使用qsys子模塊中固定的設置。spa
那咱們如何將 qsys 子系統設置成像自定義ip 同樣有參數傳入呢?設計
咱們能夠經過 Instance Parameters 的方式實現,qsys子系統添加後效果以下圖3d
具體的步驟以下:code
在 Instance 窗口界面設置 參數傳入orm
# request a specific version of the scripting API package require -exact qsys 16.1 # Set the name of the procedure to manipulate parameters set_module_property COMPOSITION_CALLBACK compose proc compose {} { set_instance_parameter_value dma_read_master_0 DATA_WIDTH [ get_parameter_value DATA_WIDTH ] set_instance_parameter_value dma_read_master_0 LENGTH_WIDTH [ get_parameter_value LENGTH_WIDTH ] set_instance_parameter_value dma_read_master_0 FIFO_DEPTH [ get_parameter_value FIFO_DEPTH ] set_instance_parameter_value dma_read_master_0 GUI_MAX_BURST_COUNT [ get_parameter_value GUI_MAX_BURST_COUNT ] set_instance_parameter_value modular_sgdma_dispatcher_0 DESCRIPTOR_FIFO_DEPTH [ get_parameter_value DESCRIPTOR_FIFO_DEPTH ] set_instance_parameter_value mm_clock_crossing_bridge_1 DATA_WIDTH [ get_parameter_value DATA_WIDTH ] set_instance_parameter_value mm_clock_crossing_bridge_1 MAX_BURST_SIZE [ get_parameter_value GUI_MAX_BURST_COUNT ] set_instance_parameter_value mm_clock_crossing_bridge_1 RESPONSE_FIFO_DEPTH [ get_parameter_value RESPONSE_FIFO_DEPTH] set_instance_parameter_value mm_clock_crossing_bridge_1 ADDRESS_WIDTH [ get_parameter_value LENGTH_WIDTH] set_instance_parameter_value mm_bridge_0 DATA_WIDTH [ get_parameter_value DATA_WIDTH ] set_instance_parameter_value mm_bridge_0 MAX_BURST_SIZE [ get_parameter_value GUI_MAX_BURST_COUNT ] set_instance_parameter_value mm_bridge_0 ADDRESS_WIDTH [ get_parameter_value LENGTH_WIDTH] }
操做完如上6個步驟,將qsys 子系統保存好。blog
在另外的qsys中調用的時候,咱們將能夠看到:ip
這樣 咱們的qsys 子系統,也可以進行參數設置了!相似於一個可設置參數的ip。 ci