diff options
| author | Alejandro Soto <alejandro@34project.org> | 2022-12-16 13:19:47 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2022-12-16 22:20:26 -0600 |
| commit | 2c7ad7bd098d885f3df623fe099adf500fbafad7 (patch) | |
| tree | fb3566e130504711d733edb0216149a960fc89ce /tb/avalon.hpp | |
| parent | 6e52e1df7567cdf419a193bf541dd98c0253e5a4 (diff) | |
Improve simulation performance for the most common case
Diffstat (limited to '')
| -rw-r--r-- | tb/avalon.hpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/tb/avalon.hpp b/tb/avalon.hpp index 323bd47..a2cc348 100644 --- a/tb/avalon.hpp +++ b/tb/avalon.hpp @@ -4,6 +4,7 @@ #include <cassert> #include <cstdint> #include <cstdio> +#include <stdexcept> #include <vector> namespace taller::avalon @@ -108,13 +109,22 @@ namespace taller::avalon std::uint32_t status() noexcept; }; + class avl_bus_error : public std::runtime_error + { + public: + using std::runtime_error::runtime_error; + }; + template<class Platform> class interconnect { public: interconnect(Platform &plat) noexcept; - bool tick(bool clk); + bool tick(bool clk) noexcept; + void tick_rising(); + void tick_falling() noexcept; + void attach(slave &dev); void attach_intc(interrupt_controller &intc); void bail() noexcept; |
