#include #include #include #include #include #define ROUNDS 12 using namespace hls; using namespace std; // ap_uint<448> data typedef struct{ ap_uint<512> data; ap_uint<1> last; }axiWord; typedef struct{ ap_uint<512> datstream; ap_uint<1> last; }chachaOut; typedef struct{ ap_uint<32> stat[4]; }keepstate; typedef ap_uint<5> uint5; typedef ap_uint<32> uint32; typedef ap_uint<33> uint33; typedef ap_uint<64> uint64; typedef ap_uint<256> uint256; void ps2chacha_fifo(stream &ps2ip,stream &ps2ipIntFifo); //void chacha2ps_fifo(stream &ip2psIntFifo,stream &ip2ps); keepstate QR(uint32 a,uint32 b,uint32 c,uint32 d); uint32 MOD_Ov(uint33 a); uint32 LITTLE_INT32(uint32 x); void chachaCore(stream &ps2ipIntFifo, stream &masterOut); void my_chacha_hls(stream& slaveIn,stream& masterOut);