Finding a method to construct them separately instead of in this big block would reduce area significantly. I'm not sure such a method exists.