In general, it isn't your responsibility to make sure that what you've been tasked to do is the most important thing you should be doing.
Although taking some initiative tends to be a good thing, and you may occasionally find yourself getting punished for doing what you've been told rather than something else.
In this case, I don't see much harm in asking your boss about it:
There are some rumours going around that the product will be demo'd next week.
As you know, we're currently working on software to validate the hardware design.
I'd just like to clarify whether we should continue on the hardware validation, or whether we should shift our priorities to focus on functionality instead, as to make the product seem more impressive to users for the purposes of the demo.
Or aren't there truth to these rumours, or is it perhaps purely focussed around the hardware?
(Customized to how you'd write it and what makes sense for your situation, of course)
This is the extent of what you should do. You only report to your boss - any clarification about what you should be doing should be addressed with him/her and him/her alone.
If you've been working on the wrong things, this will be because of someone else having messed up (unless you haven't been doing enough work). If you feel it sufficiently probable that someone may end up trying to throw you under the bus, it's best to get the above communication in writing (and perhaps make it clearer exactly how little you think there will be to demo from a software point of view). "Last-minute firefighting" may happen if someone messes up - it's just something you'll have to accept.
If you can't get hold of your boss for a sufficient period of time (days...), you could consider approaching someone higher up, perhaps even the CEO, if you deem that appropriate. Do make it clear that you haven't been able to get hold of your boss, as you don't want to make it seem like you're trying to go over his/her head.