summaryrefslogtreecommitdiff
path: root/tb/jtag_uart.hpp
blob: 6db50f837ed0021ee6722c47405b890245c67628 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef TALLER_JTAG_UART_HPP
#define TALLER_JTAG_UART_HPP

#include <cstdint>

#include "avalon.hpp"

namespace taller::avalon
{
	class jtag_uart : public slave
	{
		public:
			jtag_uart(std::uint32_t base) noexcept;

			virtual bool read(std::uint32_t addr, std::uint32_t &data) noexcept final override;
			virtual bool write(std::uint32_t addr, std::uint32_t data, unsigned byte_enable) noexcept final override;

		private:
			bool ctrl_re = false;
			bool ctrl_we = false;
			bool ctrl_ac = true;
	};
}

#endif