1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
---|
2 | <html xmlns="http://www.w3.org/1999/xhtml"> |
---|
3 | <head> |
---|
4 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
---|
5 | <meta name="generator" content="ScreenSteps http://www.screensteps.com/" /> |
---|
6 | <title>Exporting as Peripheral Core</title> |
---|
7 | <link href="../neutral.css" media="screen" rel="stylesheet" type="text/css" /> |
---|
8 | </head> |
---|
9 | |
---|
10 | <body class="lucida"> |
---|
11 | <div id="wrapper"> |
---|
12 | <div id="header"> |
---|
13 | <a id="logo" href="http://warp.rice.edu/trac/"><img src="http://warp.rice.edu/images/warpLogo.jpg" alt="Rice University WARP - Wireless Open-Access Research Platform" height="45" width="285" /></a> |
---|
14 | </div> |
---|
15 | <div id="mainnav" class="nav"> |
---|
16 | <ul> |
---|
17 | <li class="first active"><a href="/trac/wiki">Home</a></li><li><a href="/forums">Forums</a></li><li><a href="/trac/browser">Browse Source</a></li> |
---|
18 | </ul> |
---|
19 | </div> |
---|
20 | <div id="LessonContent"> |
---|
21 | <div class="LessonHeader"> |
---|
22 | <h1 class="LessonTitle">Exporting as Peripheral Core</h1> |
---|
23 | </div> |
---|
24 | <div class="summary"> |
---|
25 | <p>The final step to create a custom HDL core is described in this section. The result is a peripheral core (pcore) that can be inserted into a Xilinx Platform Studio (XPS) project.</p> |
---|
26 | </div> |
---|
27 | |
---|
28 | <div id="step_1" class="lessonStep top"> |
---|
29 | |
---|
30 | <div class="image"> |
---|
31 | <img src="images/Exporting_as_Peripheral_Core/media_1222052238358.png" width="417" height="289"> |
---|
32 | </div> <p>Before generating the HDL core, set the intial value of the <strong>phaseInc</strong> register back to 1 embedding this value into the hardware design. The From Registers will get memory-mapped in the process of generation and we will be able to change their values by reading and writing certain address locations.</p> |
---|
33 | </div> |
---|
34 | <div class="clear"></div> |
---|
35 | <div id="step_2" class="lessonStep top"> |
---|
36 | |
---|
37 | <div class="image"> |
---|
38 | <img src="images/Exporting_as_Peripheral_Core/media_1222052262140.png" width="560" height="365"> |
---|
39 | </div> <p>In order to create memory map, drag in the <strong>EDK Processor</strong> block from the Xilinx Library.</p> |
---|
40 | </div> |
---|
41 | <div class="clear"></div> |
---|
42 | <div id="step_3" class="lessonStep top"> |
---|
43 | |
---|
44 | <div class="image"> |
---|
45 | <img src="images/Exporting_as_Peripheral_Core/media_1222052284363.png" width="419" height="496"> |
---|
46 | </div> <p>Double-clicking it will reveal the options window. Click <strong>Add</strong> to create the register map. This will populate the map with the list of registers found in the system. The registers can be expanded to see their address locations. Click <strong>Apply</strong> to save.</p> |
---|
47 | </div> |
---|
48 | <div class="clear"></div> |
---|
49 | <div id="step_4" class="lessonStep top"> |
---|
50 | |
---|
51 | <div class="image"> |
---|
52 | <img src="images/Exporting_as_Peripheral_Core/media_1233876573946.png" width="419" height="496"> |
---|
53 | </div> <p>Move to the <strong>Implementation</strong> tab of the EDK Processor block. Here check <strong>Register Read-Back</strong> as shown above. Click <strong>Ok</strong> or <strong>Apply</strong> to save.</p> |
---|
54 | </div> |
---|
55 | <div class="clear"></div> |
---|
56 | <div id="step_5" class="lessonStep top"> |
---|
57 | |
---|
58 | <div class="image"> |
---|
59 | <img src="images/Exporting_as_Peripheral_Core/media_1222052727145.png" width="434" height="586"> |
---|
60 | </div> <p>Open the <strong>System Generator</strong> block. It will reveals a whole set of options to create the design. As the model is going to be part of a Xilinx Platform Studio project, choose <strong>EDK Export Tool</strong> to the Compilation. This will create all the supporting files so it can be recognized by the Embedded Development Kit (EDK) that Xilinx provides.</p> |
---|
61 | </div> |
---|
62 | <div class="clear"></div> |
---|
63 | <div id="step_6" class="lessonStep top"> |
---|
64 | |
---|
65 | <div class="image"> |
---|
66 | <img src="images/Exporting_as_Peripheral_Core/media_1222052998431.png" width="434" height="586"> |
---|
67 | </div> <p>The WARP Boards are Virtex-II Pro FPGA-based so select the <strong>Virtex2P </strong>-> <strong>xc2vp70 </strong>-> <strong>-6 </strong>-> <strong>ff1517</strong>. This selects the correct target as each FPGA has a different architecture inside.</p> |
---|
68 | |
---|
69 | |
---|
70 | <p>Finally, click <strong>Generate</strong> to start the compilation.</p> |
---|
71 | </div> |
---|
72 | <div class="clear"></div> |
---|
73 | <div id="step_7" class="lessonStep top"> |
---|
74 | |
---|
75 | <div class="image"> |
---|
76 | <img src="images/Exporting_as_Peripheral_Core/media_1222053233488.png" width="349" height="162"> |
---|
77 | </div> <p>The above window will pop-up once the generation is complete. At this point there is an XPS-compatible peripheral core available in the <strong>./netlist/pcores</strong> folder. This includes the HDL for the core and associated data files that identifies the type of core, the memory-mapped locations etc.</p> |
---|
78 | </div> |
---|
79 | <div class="clear"></div> |
---|
80 | |
---|
81 | </div> |
---|
82 | <div id="lessonNavigation"> |
---|
83 | <table> |
---|
84 | <tr> |
---|
85 | <td class="lessonNav_Left"><a href="Simulating_the_Design.html"><< Simulating the Design</a></td> |
---|
86 | <td class="lessonNav_TOC"><a href="../Custom_Peripherals.html">Top</a></td> |
---|
87 | <td class="lessonNav_Right"></td> |
---|
88 | </tr> |
---|
89 | </table> |
---|
90 | </div> |
---|
91 | </div> |
---|
92 | </body> |
---|
93 | </html> |
---|