diff --git a/IP/GIP/axil_master_with_rom/!!ReadMe!!.txt b/IP/GIP/axil_master_with_rom/!!ReadMe!!.txt
new file mode 100644
index 0000000..d3a7d5d
--- /dev/null
+++ b/IP/GIP/axil_master_with_rom/!!ReadMe!!.txt
@@ -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.
\ No newline at end of file
diff --git a/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/component.xml b/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/component.xml
index 68fbb4c..b98b9a2 100644
--- a/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/component.xml
+++ b/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/component.xml
@@ -243,7 +243,7 @@
viewChecksum
- d022a390
+ 42bb4d39
@@ -259,7 +259,7 @@
viewChecksum
- 7f3446ba
+ 5b35bac9
@@ -288,7 +288,7 @@
viewChecksum
- b1fde575
+ ae260474
@@ -690,6 +690,11 @@
Has Interrupt In
true
+
+ REVISION_NO
+ Revision No
+ 1
+
@@ -722,7 +727,7 @@
sources_1/new/axil_master_with_rom.vhd
vhdlSource
- CHECKSUM_fc50f7a5
+ CHECKSUM_6e98498f
@@ -750,7 +755,7 @@
xgui/axil_master_with_rom_v1_0.tcl
tclSource
- CHECKSUM_b1fde575
+ CHECKSUM_ae260474
XGUI_VERSION_2
@@ -776,6 +781,11 @@
Has Interrupt In
true
+
+ REVISION_NO
+ Revision No
+ 1
+
@@ -793,17 +803,17 @@
axil_master_with_rom
package_project
- 17
- 2024-09-12T07:27:07Z
+ 19
+ 2024-11-28T09:00:23Z
2023.1
-
+
-
-
+
+
diff --git a/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/sources_1/new/axil_master_with_rom.vhd b/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/sources_1/new/axil_master_with_rom.vhd
index aa437f9..4e5d37f 100644
--- a/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/sources_1/new/axil_master_with_rom.vhd
+++ b/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/sources_1/new/axil_master_with_rom.vhd
@@ -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
diff --git a/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/xgui/axil_master_with_rom_v1_0.tcl b/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/xgui/axil_master_with_rom_v1_0.tcl
index 3bc33e6..789977a 100644
--- a/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/xgui/axil_master_with_rom_v1_0.tcl
+++ b/IP/GIP/axil_master_with_rom/axil_master_with_rom.srcs/xgui/axil_master_with_rom_v1_0.tcl
@@ -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}
+}
+
diff --git a/IP/GIP/axil_master_with_rom/stimuli.mem b/IP/GIP/axil_master_with_rom/stimuli.mem
new file mode 100644
index 0000000..b6d6b47
--- /dev/null
+++ b/IP/GIP/axil_master_with_rom/stimuli.mem
@@ -0,0 +1,7 @@
+0001001000110100010101100111100000000001
+0001001000110100010101100111100000001111
+0001001000110100010101100111100000000010
+0000000000000000000000000000101000000111
+0000000000000000000000010000100000000010
+0000000000000000000000000000000000000110
+0000000000000000000000000000000000000000
diff --git a/IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Debug/stm2mem.log b/IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Debug/stm2mem.log
new file mode 100644
index 0000000..4755dcc
--- /dev/null
+++ b/IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Debug/stm2mem.log
@@ -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
diff --git a/IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Release/stm2mem.Build.CppClean.log b/IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Release/stm2mem.Build.CppClean.log
new file mode 100644
index 0000000..e542c28
--- /dev/null
+++ b/IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Release/stm2mem.Build.CppClean.log
@@ -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
diff --git a/IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Release/stm2mem.log b/IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Release/stm2mem.log
new file mode 100644
index 0000000..0fd7ca2
--- /dev/null
+++ b/IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Release/stm2mem.log
@@ -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