Aktualisierung des IP axil_master_with_rom
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
Sythesierbarer AXIL-Master für Tests in Simulation und auf dem Zynq
|
||||
Script-Dateien sollten die Endung .stm besitzen.
|
||||
|
||||
Das Uebersetzen in eine .mem-Datei (für Viavdo) erfolgt am besten ueber Anklicken von convertAll.bat.
|
||||
Mit diesem Script werden alle .stm-Dateien im aktuellen Ordner in .mem-Dateien übersetzt.
|
||||
|
||||
Die Auswahl der genutzten .mem-Datei kann ueber die IP-Konfiguration erfolgen.
|
||||
|
||||
Ein Visual-Studio-C++-Projekt des Uebersetzungsprogramms befindet sich im Ordner stm2mem
|
||||
|
||||
Wichtig:
|
||||
========
|
||||
Wenn Sie eine "out-of-context"-SYNTHESE durchfuehren (was die Default-Einstellung bei Vivado ist)
|
||||
!! UND !!
|
||||
die MEM-Datei geaendert haben, müssen Sie in der IP-Konfiguration den Eintrag "Revision No" aendern.
|
||||
Welchen Wert Sie eintragen, ist egal - solange er sich vom vorherigen unterscheidet.
|
||||
|
||||
Hintergrund:
|
||||
Die Änderung der MEM-Datei bekommt Vivado nicht mit. Bei einer Out-of-Context-Synthese würde das IP daher
|
||||
nicht neu synthetisiert werden. Damit wird also die Aenderung der MEM-Datei nicht in das synthetisierte Design uebernommen.
|
||||
Die Aenderung der Revision-No. gaukelt Vivado eine Aenderung des IPs vor und damit wird es neu
|
||||
synthetisiert - incl. der Daten aus der geaenderten MEM-Datei.
|
||||
|
||||
Bei der SIMULATION ist dieses Vorgehen nicht erforderlich, da hier die MEM-Datei mit jedem Start der Simulation erneut
|
||||
eingelesen wird.
|
||||
@@ -243,7 +243,7 @@
|
||||
<spirit:parameters>
|
||||
<spirit:parameter>
|
||||
<spirit:name>viewChecksum</spirit:name>
|
||||
<spirit:value>d022a390</spirit:value>
|
||||
<spirit:value>42bb4d39</spirit:value>
|
||||
</spirit:parameter>
|
||||
</spirit:parameters>
|
||||
</spirit:view>
|
||||
@@ -259,7 +259,7 @@
|
||||
<spirit:parameters>
|
||||
<spirit:parameter>
|
||||
<spirit:name>viewChecksum</spirit:name>
|
||||
<spirit:value>7f3446ba</spirit:value>
|
||||
<spirit:value>5b35bac9</spirit:value>
|
||||
</spirit:parameter>
|
||||
</spirit:parameters>
|
||||
</spirit:view>
|
||||
@@ -288,7 +288,7 @@
|
||||
<spirit:parameters>
|
||||
<spirit:parameter>
|
||||
<spirit:name>viewChecksum</spirit:name>
|
||||
<spirit:value>b1fde575</spirit:value>
|
||||
<spirit:value>ae260474</spirit:value>
|
||||
</spirit:parameter>
|
||||
</spirit:parameters>
|
||||
</spirit:view>
|
||||
@@ -690,6 +690,11 @@
|
||||
<spirit:displayName>Has Interrupt In</spirit:displayName>
|
||||
<spirit:value spirit:format="bool" spirit:resolve="generated" spirit:id="MODELPARAM_VALUE.HAS_INTERRUPT_IN">true</spirit:value>
|
||||
</spirit:modelParameter>
|
||||
<spirit:modelParameter spirit:dataType="integer">
|
||||
<spirit:name>REVISION_NO</spirit:name>
|
||||
<spirit:displayName>Revision No</spirit:displayName>
|
||||
<spirit:value spirit:format="long" spirit:resolve="generated" spirit:id="MODELPARAM_VALUE.REVISION_NO">1</spirit:value>
|
||||
</spirit:modelParameter>
|
||||
</spirit:modelParameters>
|
||||
</spirit:model>
|
||||
<spirit:choices>
|
||||
@@ -722,7 +727,7 @@
|
||||
<spirit:file>
|
||||
<spirit:name>sources_1/new/axil_master_with_rom.vhd</spirit:name>
|
||||
<spirit:fileType>vhdlSource</spirit:fileType>
|
||||
<spirit:userFileType>CHECKSUM_fc50f7a5</spirit:userFileType>
|
||||
<spirit:userFileType>CHECKSUM_6e98498f</spirit:userFileType>
|
||||
</spirit:file>
|
||||
</spirit:fileSet>
|
||||
<spirit:fileSet>
|
||||
@@ -750,7 +755,7 @@
|
||||
<spirit:file>
|
||||
<spirit:name>xgui/axil_master_with_rom_v1_0.tcl</spirit:name>
|
||||
<spirit:fileType>tclSource</spirit:fileType>
|
||||
<spirit:userFileType>CHECKSUM_b1fde575</spirit:userFileType>
|
||||
<spirit:userFileType>CHECKSUM_ae260474</spirit:userFileType>
|
||||
<spirit:userFileType>XGUI_VERSION_2</spirit:userFileType>
|
||||
</spirit:file>
|
||||
</spirit:fileSet>
|
||||
@@ -776,6 +781,11 @@
|
||||
<spirit:displayName>Has Interrupt In</spirit:displayName>
|
||||
<spirit:value spirit:format="bool" spirit:resolve="user" spirit:id="PARAM_VALUE.HAS_INTERRUPT_IN">true</spirit:value>
|
||||
</spirit:parameter>
|
||||
<spirit:parameter>
|
||||
<spirit:name>REVISION_NO</spirit:name>
|
||||
<spirit:displayName>Revision No</spirit:displayName>
|
||||
<spirit:value spirit:format="long" spirit:resolve="user" spirit:id="PARAM_VALUE.REVISION_NO">1</spirit:value>
|
||||
</spirit:parameter>
|
||||
</spirit:parameters>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:coreExtensions>
|
||||
@@ -793,17 +803,17 @@
|
||||
</xilinx:taxonomies>
|
||||
<xilinx:displayName>axil_master_with_rom</xilinx:displayName>
|
||||
<xilinx:definitionSource>package_project</xilinx:definitionSource>
|
||||
<xilinx:coreRevision>17</xilinx:coreRevision>
|
||||
<xilinx:coreCreationDateTime>2024-09-12T07:27:07Z</xilinx:coreCreationDateTime>
|
||||
<xilinx:coreRevision>19</xilinx:coreRevision>
|
||||
<xilinx:coreCreationDateTime>2024-11-28T09:00:23Z</xilinx:coreCreationDateTime>
|
||||
</xilinx:coreExtensions>
|
||||
<xilinx:packagingInfo>
|
||||
<xilinx:xilinxVersion>2023.1</xilinx:xilinxVersion>
|
||||
<xilinx:checksum xilinx:scope="busInterfaces" xilinx:value="0aaf36f4"/>
|
||||
<xilinx:checksum xilinx:scope="addressSpaces" xilinx:value="7de09551"/>
|
||||
<xilinx:checksum xilinx:scope="fileGroups" xilinx:value="463e05eb"/>
|
||||
<xilinx:checksum xilinx:scope="fileGroups" xilinx:value="bafc35fc"/>
|
||||
<xilinx:checksum xilinx:scope="ports" xilinx:value="16714312"/>
|
||||
<xilinx:checksum xilinx:scope="hdlParameters" xilinx:value="90e558f6"/>
|
||||
<xilinx:checksum xilinx:scope="parameters" xilinx:value="4719db48"/>
|
||||
<xilinx:checksum xilinx:scope="hdlParameters" xilinx:value="541ba524"/>
|
||||
<xilinx:checksum xilinx:scope="parameters" xilinx:value="c46d6fa5"/>
|
||||
</xilinx:packagingInfo>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:component>
|
||||
|
||||
+1
@@ -31,6 +31,7 @@ entity axil_master_with_rom is
|
||||
(
|
||||
HAS_INTERRUPT_IN : boolean := true;
|
||||
HAS_FINISHED_OUT : boolean := false;
|
||||
REVISION_NO : integer := 1;
|
||||
STIM_FILENAME : string := "../../stimuli.mem"
|
||||
);
|
||||
port
|
||||
|
||||
+18
@@ -3,6 +3,10 @@ proc init_gui { IPINST } {
|
||||
ipgui::add_param $IPINST -name "Component_Name"
|
||||
#Adding Page
|
||||
set Page_0 [ipgui::add_page $IPINST -name "Page 0"]
|
||||
#Adding Group
|
||||
set Revision [ipgui::add_group $IPINST -name "Revision" -parent ${Page_0}]
|
||||
ipgui::add_param $IPINST -name "REVISION_NO" -parent ${Revision}
|
||||
|
||||
#Adding Group
|
||||
set Stimuli_Filename [ipgui::add_group $IPINST -name "Stimuli Filename" -parent ${Page_0}]
|
||||
ipgui::add_param $IPINST -name "STIM_FILENAME" -parent ${Stimuli_Filename}
|
||||
@@ -39,6 +43,15 @@ proc validate_PARAM_VALUE.HAS_INTERRUPT_IN { PARAM_VALUE.HAS_INTERRUPT_IN } {
|
||||
return true
|
||||
}
|
||||
|
||||
proc update_PARAM_VALUE.REVISION_NO { PARAM_VALUE.REVISION_NO } {
|
||||
# Procedure called to update REVISION_NO when any of the dependent parameters in the arguments change
|
||||
}
|
||||
|
||||
proc validate_PARAM_VALUE.REVISION_NO { PARAM_VALUE.REVISION_NO } {
|
||||
# Procedure called to validate REVISION_NO
|
||||
return true
|
||||
}
|
||||
|
||||
proc update_PARAM_VALUE.STIM_FILENAME { PARAM_VALUE.STIM_FILENAME } {
|
||||
# Procedure called to update STIM_FILENAME when any of the dependent parameters in the arguments change
|
||||
}
|
||||
@@ -64,3 +77,8 @@ proc update_MODELPARAM_VALUE.HAS_INTERRUPT_IN { MODELPARAM_VALUE.HAS_INTERRUPT_I
|
||||
set_property value [get_property value ${PARAM_VALUE.HAS_INTERRUPT_IN}] ${MODELPARAM_VALUE.HAS_INTERRUPT_IN}
|
||||
}
|
||||
|
||||
proc update_MODELPARAM_VALUE.REVISION_NO { MODELPARAM_VALUE.REVISION_NO PARAM_VALUE.REVISION_NO } {
|
||||
# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
|
||||
set_property value [get_property value ${PARAM_VALUE.REVISION_NO}] ${MODELPARAM_VALUE.REVISION_NO}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
0001001000110100010101100111100000000001
|
||||
0001001000110100010101100111100000001111
|
||||
0001001000110100010101100111100000000010
|
||||
0000000000000000000000000000101000000111
|
||||
0000000000000000000000010000100000000010
|
||||
0000000000000000000000000000000000000110
|
||||
0000000000000000000000000000000000000000
|
||||
@@ -0,0 +1,3 @@
|
||||
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(517,5): warning MSB8004: Das Output-Verzeichnis endet nicht mit einem nachstehenden Schrägstrich. Der Schrägstrich wird in dieser Buildinstanz hinzugefügt, da er für die ordnungsgemäße Auswertung des Output-Verzeichnisses erforderlich ist.
|
||||
stm2mem.cpp
|
||||
stm2mem.vcxproj -> D:\netcase\Vorlesungen_Studis\ElektronischeSysteme_Studis\IP\GIP\axil_master_with_rom\stm2mem.exe
|
||||
@@ -0,0 +1,14 @@
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\vc143.pdb
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\stm2mem.obj
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem.exe
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem.pdb
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\stm2mem.ipdb
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\stm2mem.iobj
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\stm2mem.tlog\cl.command.1.tlog
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\stm2mem.tlog\cl.items.tlog
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\stm2mem.tlog\cl.read.1.tlog
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\stm2mem.tlog\cl.write.1.tlog
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\stm2mem.tlog\link.command.1.tlog
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\stm2mem.tlog\link.read.1.tlog
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\stm2mem.tlog\link.secondary.1.tlog
|
||||
d:\netcase\vorlesungen_studis\elektronischesysteme_studis\ip\gip\axil_master_with_rom\stm2mem\stm2mem\x64\release\stm2mem.tlog\link.write.1.tlog
|
||||
@@ -0,0 +1,8 @@
|
||||
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(517,5): warning MSB8004: Das Output-Verzeichnis endet nicht mit einem nachstehenden Schrägstrich. Der Schrägstrich wird in dieser Buildinstanz hinzugefügt, da er für die ordnungsgemäße Auswertung des Output-Verzeichnisses erforderlich ist.
|
||||
stm2mem.cpp
|
||||
Code wird generiert.
|
||||
1173 of 1173 functions (100.0%) were compiled.
|
||||
0 functions were new in current compilation
|
||||
0 functions had inline decision re-evaluated but remain unchanged
|
||||
Codegenerierung ist abgeschlossen.
|
||||
stm2mem.vcxproj -> D:\netcase\Vorlesungen_Studis\ElektronischeSysteme_Studis\IP\GIP\axil_master_with_rom\stm2mem.exe
|
||||
Reference in New Issue
Block a user