People here say, with reason, that we ought to be able to simulate every physical system, given a good enough model, enough time, bandwidth, resolution, memory and computing resources.
This should be by and large true, but consider this: computational fluid dynamics with turbulence is still an open problem. For instance, smooth solutions to the Navier-Stokes equations are not known to exist.
Yet, turbulence seems like a really easy problem compared to thought and consciousness. We even have a mathematical model that describes it. Sure, with enough computing resources we can do a good enough job of simulating turbulence in most regimes, but not all. For instance, Computational Fluid Dynamics with magneto-hydro-dynamic elements is really hard. Yet this is required for developing for instance nuclear fusion, a topic with a huge economic importance. Still, these simulations require the best supercomputers that we are able to muster at present. The race to build still-better computers to run better CFD simulations is still on. and is likely to go on for quite a while.
So total brain simulation or brain upload is not likely to occur anytime soon. We are much more likely to develop increasingly sophisticated AI based on learning and bottom-up strategies that do not care much about how the real human brain works. These strategies basically work: we can now beat the best humans at chess. Computer vision improves all the time. Soon we may have self-driving cars. Perhaps in the future a long-term sustainable and stable economy will be achieved thanks to AI progress.
However this teaches us next to nothing on how the brain works. Perhaps one day we will have the Singularity that Kurzweil keep talking about, but the resulting super-strong AIs are not likely to care about us poor inefficient meatbags that we are. Why should they? Simulating us would simply take too much resources.