[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Parallella Community • View topic - Top level module instance
Page 1 of 1

Top level module instance

PostPosted: Sun May 18, 2014 8:14 pm
by rec

Re: Top level module instance

PostPosted: Sun May 18, 2014 9:21 pm
by hamster
The top level module is chosen by the designer - it defaults to the top of the design tree, or you can right click on a sub-module and select "set as top module". You might need to change the default if you were testing a subcomponent, or had a large design that spanned multiple FPGAs

It is the inputs and outputs of this module that gets connected to the external pins of the FPGA (or to the internal connections to the ARM cores).

Re: Top level module instance

PostPosted: Mon May 19, 2014 1:27 am
by ysapir
To be precise, C's main() function is being called from the C Runtime (aka CRT0). The CRT is a wrapper around your program that handles the initialization of the state of the program and environment. After initializing interrupt vector, global and static variables, etc. it calls main(). Upon return from main(), the CRT's exit() procedures takes care of cleanup.

CRT0 itself is called by the SYNC Interrupt, which is fired upon reset. The first function is the start() function, which is the interrupt handler for the SYNC event (IRQ 0).

You can have a look at CRT0 here:

https://github.com/adapteva/epiphany-ne ... any/crt0.S

Re: Top level module instance

PostPosted: Mon May 19, 2014 6:17 am
by rec