From 6fb3849e73b797d4610a2b782127f927dec0c9c9 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Mon, 14 Nov 2022 21:10:40 -0600 Subject: Implement VGA simulation --- tb/window.hpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tb/window.hpp (limited to 'tb/window.hpp') diff --git a/tb/window.hpp b/tb/window.hpp new file mode 100644 index 0000000..181f3c1 --- /dev/null +++ b/tb/window.hpp @@ -0,0 +1,37 @@ +#ifndef TALLER_wINDOW_HPP +#define TALLER_wINDOW_HPP + +#include +#include + +#include "avalon.hpp" + +namespace taller::avalon +{ + class window : public slave + { + public: + inline window(slave &downstream, std::uint32_t base) + : slave(base, downstream.address_span(), downstream.word_size()), + downstream(downstream) + {} + + inline virtual bool read(std::uint32_t addr, std::uint32_t &data) final override + { + return downstream.read(addr, data); + } + + inline virtual bool write + ( + std::uint32_t addr, std::uint32_t data, unsigned byte_enable = 0b1111 + ) final override + { + return downstream.write(addr, data, byte_enable); + } + + private: + slave &downstream; + }; +} + +#endif -- cgit v1.2.3