OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [orpsocv2/] [boards/] [actel/] [ordb1a3pe1500/] [backend/] [par/] [README] - Blame information for rev 408

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 408 julius
Actel place and route environment
2
 
3
Backend flow post-synthesis through to programming file can be performed here.
4
 
5
The scripts are designed to run the Actel backend tools in batch/shell mode.
6
 
7
All make commands should be run in the run/ path.
8
 
9
Performing place and route:
10
 
11
If the settings in bin/Makefile are what is desired, then a simple
12
 
13
$ make all
14
 
15
will perform all steps from synthesis through to layout. The result will be the
16
.adb file located in the run/ path.
17
 
18
To alter the configuration (partially seen by running 'make print-config')
19
inspect bin/Makefile to see the various options. To see the script generated
20
which is passed to the Actel Designer, run
21
 
22
$ make create-compile-par.tcl
23
 
24
while also setting all variables as desired on the command line, and inspect
25
the resulting TCL file to ensure it is correct.
26
 
27
When running 'make all', the constraint SDC and PDC files will be automatically
28
generated by the script, and will be left in the run/ path.
29
 
30
Both PDC and SDC are dependent upon the defines in the RTL Verilog file
31
design_defines.v - to see what modules and options are set in design_defines.v
32
run:
33
 
34
$ make print-defines
35
 
36
Among the printed information will be which modules where enabled, and the PDC
37
and SDCs are generated based on this.
38
See the main Makefile, bin/Makefile, and the rule for $(SDC_FILE) to add or
39
modify timing rules.
40
 
41
To print the configuration of the makefile (targeted FPGA part and family, tool
42
settings, and board I/O bonfiguration) run:
43
 
44
$ make print-config
45
 
46
PDC files:
47
 
48
The physical constraints generation system may seem overly compilcated to begin
49
with, but is design to make it easy and simple to add additional board and
50
module support, switch the design between boards, or modify existing
51
configurations.
52
 
53
The physical constraints file generation starts with defining some variables
54
with pin numbers, corresponding to the actual FPGA pins, depending on the FPGA
55
board. At present, the only CPU board supported is the ORSoC CPU board pin out.
56
The variables assigned pin numbers are in the bin/orsoccpuboard.mkpins file.
57
This file is design to be included by other files, wishing to use the ORSoC CPU
58
board variables (pin numbers). The variables in the CPU board file are then
59
used by other files, namely files which define uses for expansion pins on the
60
CPU board. For example, the two headers, JP1 and JP6, and their associated
61
variables from the ORSoC CPU board .mkpins file are used in the
62
orsocexpboard.mkpins file. Support for other I/O boards could be added by
63
creating a new .mkpins file, and creating a list of new, appropriate variable
64
names corresponding to the pins from the CPU board (in the ORSoC CPU board's
65
case, the JP1 and JP6 header pin variables.)
66
 
67
Finally, the variables for each actual I/O in the design must be assigned
68
something. The .mkpinassigns do this. They tie together the CPU and any I/O
69
board variable assigns, making it simple and easy to assign the variables used
70
in the Makefile during PDC generation, to the variables created in the .mkpins
71
files. The three main parts, then, the CPU board .mkpins file, expansion board
72
.mkpins file, overall board .mkpinassigns file and Makefile PDC rule are the
73
components to generating a PDC.
74
 
75
Of course, a .mkpinassigns file can also simply contain raw pin numbers for
76
each I/O port pin, or include a single .mkpins file with just a single board
77
definition. The idea is it's highly modular and configurable before doing the
78
final define of each I/O port's signal.
79
 
80
Every possible I/O from the design has an entry in the $(PDC_FILE) rule of the
81
Actel backend PAR Makefile. Almost all are surrounded by if statements checking
82
for the corresponding module's inclusion in the design.
83
 
84
Set the overall I/O config .mkpinassigns file by setting BOARD_CONFIG at make
85
time. The default is orsoccpuexpio.mkpinassigns. All these files should reside
86
in the bin/ path.
87
 
88
$ make all BOARD_CONFIG=mynew.mkpinassigns
89
 
90
To test the generated PDC file, do
91
 
92
$ make pdc_file BOARD_CONFIG=mynew.mkpinassigns
93
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.