I am trying to wrap my head around exactly what goes on in an FPGA when I program it, specifically using VHDL. I know all code outside processes run concurrently but what about processes in different vhdl files in the same project? Does the FPGA only run them in the order in which the designer connects their components in the top level entity? Or do they all run concurrently and I have to make sure they are triggered in sequence?
for example I have written three different VHDL files for a CLOCK, A COMPARATOR and a HEXIDECIMAL DISPLAY. (i've omitted a few files for simplicity) I want it so when the clock triggers the comparator, it does its job and then the result is shown on the display, and I have connected them appropriately.
So will all the components run immediately I switch the FPGA on without waiting for its predecessor to do its job? or do they wait till its their turn/they have a signal coming in? I am unsure of whether I should poll the hexadecimal decimal till it sees a signal coming in (input'event) or if that would be unnecessary.