dol: initial dol commit
[jump.git] / dol / src / dol / visitor / hds / lib / Fifo.h
diff --git a/dol/src/dol/visitor/hds/lib/Fifo.h b/dol/src/dol/visitor/hds/lib/Fifo.h
new file mode 100644 (file)
index 0000000..e694612
--- /dev/null
@@ -0,0 +1,29 @@
+#ifndef _FIFO_H_\r
+#define _FIFO_H_\r
+\r
+#include "systemc.h"\r
+\r
+class Fifo {\r
+    public:\r
+        Fifo(char* name, unsigned size);\r
+        virtual ~Fifo();\r
+\r
+        virtual unsigned read(void *destination, unsigned len);\r
+        virtual unsigned write(const void *source, unsigned len);\r
+        virtual unsigned used() const;\r
+        virtual unsigned unused() const;\r
+        virtual unsigned size() const;\r
+        virtual char* getName() const;\r
+\r
+    protected:\r
+        char *_buffer;\r
+        //unsigned _head;\r
+        unsigned _tail;\r
+        unsigned _size;\r
+               unsigned _use; \r
+        char *_name;\r
+        sc_event _readEvent;\r
+        sc_event _writeEvent;\r
+};\r
+\r
+#endif\r