From 503957e2883e754fc8424c420c3d9838bd639ed3 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sun, 18 Sep 2022 17:16:46 -0600 Subject: Fix memory simulation --- tb/avalon.hpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'tb/avalon.hpp') diff --git a/tb/avalon.hpp b/tb/avalon.hpp index 38c8792..8964cdb 100644 --- a/tb/avalon.hpp +++ b/tb/avalon.hpp @@ -9,8 +9,8 @@ namespace taller::avalon class slave { public: - virtual std::uint32_t base_address() = 0; - virtual std::uint32_t address_mask() = 0; + virtual std::uint32_t base_address() noexcept = 0; + virtual std::uint32_t address_mask() noexcept = 0; virtual bool read(std::uint32_t addr, std::uint32_t &data) = 0; virtual bool write(std::uint32_t addr, std::uint32_t data, unsigned byte_enable) = 0; @@ -20,11 +20,9 @@ namespace taller::avalon class interconnect { public: - inline interconnect(Platform &plat) noexcept - : plat(plat) - {} + interconnect(Platform &plat) noexcept; - void tick(); + void tick(bool clk); void attach(slave &dev); private: @@ -38,6 +36,11 @@ namespace taller::avalon Platform &plat; slave* active = nullptr; std::vector devices; + std::uint32_t avl_address = 0; + std::uint32_t avl_writedata = 0; + unsigned avl_byteenable = 0; + bool avl_read = false; + bool avl_write = false; }; } -- cgit v1.2.3