/*
 * demux8.h
 *
 *  Created on: 22-05-2017
 *      Author: Krzysztof Jakubczyk
 */

#ifndef DEMUX8_H_
#define DEMUX8_H_

#include "tdefs.h"

struct demux8_logic
{
	struct binary_io we;
	struct binary_io a0;
	struct binary_io a1;
	struct binary_io a2;
	struct binary_io wy[8];
};

struct demux8_io
{
	u32 we_in;
	u32 a0_in;
	u32 a1_in;
	u32 a2_in;
	u32 wy1_out;
	u32 wy2_out;
	u32 wy3_out;
	u32 wy4_out;
	u32 wy5_out;
	u32 wy6_out;
	u32 wy7_out;
	u32 wy8_out;
}__attribute__((__packed__));

struct demux8_params
{
}__attribute__((__packed__));

struct demux8_args
{
	struct demux8_io io;
	struct demux8_params params;
//	u16 crc;
}__attribute__((__packed__));

extern void demux8(void *args, void *logic);
extern int demux8_initlog(void *arguments, void *logic);

#endif /* DEMUX8_H_ */
