05.07.2013 Views

Script for Laboratory: Designing embedded ASIPs - CES

Script for Laboratory: Designing embedded ASIPs - CES

Script for Laboratory: Designing embedded ASIPs - CES

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

included. This template is a good starting point to create a new project from the scratch.<br />

Usually you can copy from your last project to create a new one, but sometimes it is better to<br />

start from the scratch.<br />

TEMPLATE_<br />

PROJECT TEMPLATE_<br />

PROJECT<br />

ASIPMeisterProjects<br />

dlx_basis AnotherProject<br />

dlx_basis AnotherProject<br />

dlx_basis AnotherProject<br />

Figure 2-1<br />

The directory structure <strong>for</strong> all ASIP Meister Projects<br />

The biggest part of the directory structure is placed inside each ASIP Meister project directory,<br />

e.g. “dlx_basis”, as shown in Figure 2-2. Every project directory contains three subdirectories<br />

and a set of local files. Those directories and files will be explained in the remainder<br />

of this section.<br />

The “Applications” directory contains all your user applications that you want to run and<br />

simulate on the CPU, and the scripts that are needed to support those tasks. Every application<br />

is placed inside a specific subdirectory <strong>for</strong> this application. When you want to work with the<br />

scripts, then you allays do so from this specific subdirectory. For example, you might want to<br />

work with “Application 1”, as shown in Figure 2-2. Your first step is to compile this application.<br />

Inside the “Application 1” directory, you have provided the source code “application1.c”.<br />

To compile it you have to enter the “Application 1” directory and to execute<br />

../mkimg application1.c<br />

The reference “../” to access the mkimg-script is important. The script expects to be called<br />

from the place, where the results shall be placed, so always execute the scripts from the<br />

application specific subdirectory, never from the “Applications” directory itself! The details<br />

about the parameters, the created output files and the different versions of the script<br />

(mkimg_fromS, mkall, …) are explained in Chapter 8.3. The concept of calling the scripts<br />

from the specific application subdirectory is also important <strong>for</strong> the scripts dlxsim and<br />

initMem, which are explained in Chapter 3.3 and Chapter 6.3 respectively.<br />

The scripts inside the “Applications” directory are only wrappers <strong>for</strong> the real scripts. Those<br />

wrappers first read the “env_settings” file from your project directory (e.g. “dlx_basis” in<br />

Figure 2-2). This file contains all in<strong>for</strong>mation about your current project, e.g. which compiler<br />

to use and which dlxsim to call. Afterwards the wrapper scripts call the real scripts. The real<br />

scripts are placed at a global position. This enables us to make changes to those scripts<br />

without the need to copy those changes to all your projects. The env_settings file is explained<br />

in a later paragraph of this subchapter.<br />

- 12 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!