A Novel FPGA Implementation of Hierarchical Temporal Memory Spatial Pooler