module struct_packet {
    signal header_version: internal u4;
    signal header_length: internal u12;
    signal header_checksum: internal u16;
    signal payload_byte: internal u8;
    signal valid: in bool;

    guard process {
        when valid
        for 1 cycles;
    }

    reflex update_header {
        on process {
            header_version = 1;
            header_length = 64;
            header_checksum = 43981;
            payload_byte = 0;
        }
    }
}