From b590cca595b66448f70b30ba2bb4cb11b73e9c14 Mon Sep 17 00:00:00 2001 From: Matthias Biermann Date: Sat, 30 Nov 2024 15:01:16 +0100 Subject: [PATCH] Aktualisierung des IP axil_master_with_rom --- IP/GIP/axil_master_with_rom/!!ReadMe!!.txt | 25 ++++++++++++++++ .../axil_master_with_rom.srcs/component.xml | 30 ++++++++++++------- .../sources_1/new/axil_master_with_rom.vhd | 1 + .../xgui/axil_master_with_rom_v1_0.tcl | 18 +++++++++++ IP/GIP/axil_master_with_rom/stimuli.mem | 7 +++++ .../stm2mem/stm2mem/x64/Debug/stm2mem.log | 3 ++ .../x64/Release/stm2mem.Build.CppClean.log | 14 +++++++++ .../stm2mem/stm2mem/x64/Release/stm2mem.log | 8 +++++ 8 files changed, 96 insertions(+), 10 deletions(-) create mode 100644 IP/GIP/axil_master_with_rom/!!ReadMe!!.txt create mode 100644 IP/GIP/axil_master_with_rom/stimuli.mem create mode 100644 IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Debug/stm2mem.log create mode 100644 IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Release/stm2mem.Build.CppClean.log create mode 100644 IP/GIP/axil_master_with_rom/stm2mem/stm2mem/x64/Release/stm2mem.log 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