1 |
2 |
tak.sugawa |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2 |
|
|
<HTML>
|
3 |
|
|
<HEAD>
|
4 |
|
|
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
5 |
|
|
<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 9.0.2.0 for Windows">
|
6 |
|
|
<META http-equiv="Content-Style-Type" content="text/css">
|
7 |
|
|
<TITLE></TITLE>
|
8 |
|
|
</HEAD>
|
9 |
|
|
<BODY>
|
10 |
|
|
<P><B>7 Examples of C compilation</B><BR>
|
11 |
|
|
FPGA Vendor's library is not attached since they are property of vendors.
|
12 |
|
|
Set them under \lib folder as below to run RTL/Delay simulation in Veritak.(XilinxCorelib
|
13 |
|
|
is not attached in free Web Edition. BaseX or higher edition will be necessary.)<BR>
|
14 |
|
|
<IMG src="folder_structure.png" width="847" height="334" border="0"><BR>
|
15 |
|
|
<BR>
|
16 |
|
|
<B>7.1 RTL</B><BR>
|
17 |
|
|
<BR>
|
18 |
|
|
In RTL simulation using UART is too slow for debugging the cpu. Therefore output is changed
|
19 |
|
|
to console instead of UART PORT. Please note RTL
|
20 |
|
|
simulation takes very long time in running actual 10msec .</P>
|
21 |
|
|
<TABLE border=1>
|
22 |
|
|
<TBODY>
|
23 |
|
|
<TR>
|
24 |
|
|
<TD width=176>Folder</TD>
|
25 |
|
|
<TD width=136>C Program</TD>
|
26 |
|
|
<TD>Description</TD>
|
27 |
|
|
<TD>Batch File</TD>
|
28 |
|
|
<TD>Veritak Project(\bench\verilog)</TD>
|
29 |
|
|
</TR>
|
30 |
|
|
<TR>
|
31 |
|
|
<TD width=176>\bench\c_src\count</TD>
|
32 |
|
|
<TD width=136>count_tak.c</TD>
|
33 |
|
|
<TD>By Steve Rhords</TD>
|
34 |
|
|
<TD>compile.bat</TD>
|
35 |
|
|
<TD>altera_rtl/xilinx_rtl</TD>
|
36 |
|
|
</TR>
|
37 |
|
|
<TR>
|
38 |
|
|
<TD width=176>\bench\c_src\pi</TD>
|
39 |
|
|
<TD width=136>pi2.c</TD>
|
40 |
|
|
<TD>pi 10digits</TD>
|
41 |
|
|
<TD>compile.bat</TD>
|
42 |
|
|
<TD>altera_rtl_no_wave/xilinx_rtl_no_wave</TD>
|
43 |
|
|
</TR>
|
44 |
|
|
<TR>
|
45 |
|
|
<TD width=176>\bench\c_src\dhrystone</TD>
|
46 |
|
|
<TD width=136>dhry21_tak.c</TD>
|
47 |
|
|
<TD>Dhrystone</TD>
|
48 |
|
|
<TD>compile.bat</TD>
|
49 |
|
|
<TD>altera_rtl_no_wave/xilinx_rtl_no_wave</TD>
|
50 |
|
|
</TR>
|
51 |
|
|
<TR>
|
52 |
|
|
<TD width=176>\bench\c_src\reed solomon</TD>
|
53 |
|
|
<TD width=136>rs_tak.c</TD>
|
54 |
|
|
<TD>By Phil Karn</TD>
|
55 |
|
|
<TD>compile.bat</TD>
|
56 |
|
|
<TD>altera_rtl_no_wave/xilinx_rtl_no_wave</TD>
|
57 |
|
|
</TR>
|
58 |
|
|
<TR>
|
59 |
|
|
<TD width=176>\bench\c_src\calculator</TD>
|
60 |
|
|
<TD width=136>uart_echo_test.c</TD>
|
61 |
|
|
<TD>Interactive Calculator. Interrupt debug use</TD>
|
62 |
|
|
<TD>compile.bat</TD>
|
63 |
|
|
<TD>altera_calculator_test_using_uart_echo/xilinx_calculator_test_using_uart_echo<BR>
|
64 |
|
|
</TD>
|
65 |
|
|
</TR>
|
66 |
|
|
</TBODY>
|
67 |
|
|
</TABLE>
|
68 |
|
|
<P><BR>
|
69 |
|
|
(1) count </P>
|
70 |
|
|
<P><IMG src="count_rtl_sim.png" width="783" height="734" border="0"></P>
|
71 |
|
|
<P>(2)Pi<BR>
|
72 |
|
|
<IMG src="xilinx_pi_rtl_sim.png" width="877" height="295" border="0"><BR>
|
73 |
|
|
<BR>
|
74 |
|
|
(3)Reed Solomon<IMG src="rs_rtl_sim_by_cyclone.png" width="1007" height="719" border="0"></P>
|
75 |
|
|
<P><BR>
|
76 |
|
|
(4) Calculator<BR>
|
77 |
|
|
This is console output only, not interactive. Using echo-back technique,
|
78 |
|
|
UART interrupt test was done.<BR>
|
79 |
|
|
<IMG src="xilinx_calculator_rtl_sim.png" width="877" height="715" border="0"></P>
|
80 |
|
|
<P>RTL Simulation Procedure<BR>
|
81 |
|
|
</P>
|
82 |
|
|
<UL>
|
83 |
|
|
<LI>Compile C program using compile.bat
|
84 |
|
|
<LI>conver_mips.exe will generate memory initialization file for both Altera
|
85 |
|
|
and Xilinx,which will be sent to\rtl\xilinx and \rtl\altera.
|
86 |
|
|
<LI>Load Veritak Project=>Go
|
87 |
|
|
</UL>
|
88 |
|
|
<P><B>7.2 Gate Simulation</B><BR>
|
89 |
|
|
Using "count" above,Post-Layout Gate Simulation was performed.<BR>
|
90 |
|
|
</P>
|
91 |
|
|
<TABLE border=1>
|
92 |
|
|
<TBODY>
|
93 |
|
|
<TR>
|
94 |
|
|
<TD>Folder</TD>
|
95 |
|
|
<TD>Veritak Project File</TD>
|
96 |
|
|
<TD>Frequency</TD>
|
97 |
|
|
</TR>
|
98 |
|
|
<TR>
|
99 |
|
|
<TD>\syn\altra_stratix2\simulation\custom</TD>
|
100 |
|
|
<TD>Gate_altera</TD>
|
101 |
|
|
<TD>165MHz</TD>
|
102 |
|
|
</TR>
|
103 |
|
|
<TR>
|
104 |
|
|
<TD>\syn\altera\simulation\custom</TD>
|
105 |
|
|
<TD>Gate_altera</TD>
|
106 |
|
|
<TD>100MHz</TD>
|
107 |
|
|
</TR>
|
108 |
|
|
<TR>
|
109 |
|
|
<TD>\syn\xilinx</TD>
|
110 |
|
|
<TD>Gate_xilinx</TD>
|
111 |
|
|
<TD>25MHz</TD>
|
112 |
|
|
</TR>
|
113 |
|
|
</TBODY>
|
114 |
|
|
</TABLE>
|
115 |
|
|
<P><BR>
|
116 |
|
|
<BR>
|
117 |
|
|
<B>7.3 FPGA</B></P>
|
118 |
|
|
<TABLE border=1>
|
119 |
|
|
<TBODY>
|
120 |
|
|
<TR>
|
121 |
|
|
<TD>Folder</TD>
|
122 |
|
|
<TD>C Program</TD>
|
123 |
|
|
<TD>Batch File</TD>
|
124 |
|
|
<TD>Description</TD>
|
125 |
|
|
</TR>
|
126 |
|
|
<TR>
|
127 |
|
|
<TD>\syn\c_src\count</TD>
|
128 |
|
|
<TD>count_tak.c</TD>
|
129 |
|
|
<TD>compile.bat</TD>
|
130 |
|
|
<TD>By Steve Rhords</TD>
|
131 |
|
|
</TR>
|
132 |
|
|
<TR>
|
133 |
|
|
<TD>\syn\c_src\pi</TD>
|
134 |
|
|
<TD>pi2.c</TD>
|
135 |
|
|
<TD>compile.bat</TD>
|
136 |
|
|
<TD>pi 800 digits calculation</TD>
|
137 |
|
|
</TR>
|
138 |
|
|
<TR>
|
139 |
|
|
<TD>\syn\c_src\reed solomon</TD>
|
140 |
|
|
<TD>rs_tak.c</TD>
|
141 |
|
|
<TD>compile.bat</TD>
|
142 |
|
|
<TD>By Phil Karn</TD>
|
143 |
|
|
</TR>
|
144 |
|
|
<TR>
|
145 |
|
|
<TD>\syn\yacc\bench\c_src\calculator</TD>
|
146 |
|
|
<TD>uart_echo_test.c</TD>
|
147 |
|
|
<TD>compile.bat</TD>
|
148 |
|
|
<TD>Interactive Calculater</TD>
|
149 |
|
|
</TR>
|
150 |
|
|
</TBODY>
|
151 |
|
|
</TABLE>
|
152 |
|
|
<P><Synthesis Procedure><BR>
|
153 |
|
|
</P>
|
154 |
|
|
<UL>
|
155 |
|
|
<LI>Run Batch File
|
156 |
|
|
<LI>Synthesize top of hardware Regenerate RAM using core-generator, then Synthesize
|
157 |
|
|
top of hardware
|
158 |
|
|
</UL>
|
159 |
|
|
<P><BR>
|
160 |
|
|
<BR>
|
161 |
|
|
FPGA Confirmation<BR>
|
162 |
|
|
</P>
|
163 |
|
|
<TABLE border=1>
|
164 |
|
|
<TBODY>
|
165 |
|
|
<TR>
|
166 |
|
|
<TD>FPGA</TD>
|
167 |
|
|
<TD>FPGA BOARD</TD>
|
168 |
|
|
<TD>Device</TD>
|
169 |
|
|
<TD>Clock</TD>
|
170 |
|
|
<TD>CPU<BR>
|
171 |
|
|
CLOCK</TD>
|
172 |
|
|
<TD>UART Baud Rate</TD>
|
173 |
|
|
<TD>Synthesized by</TD>
|
174 |
|
|
</TR>
|
175 |
|
|
<TR>
|
176 |
|
|
<TD>Altera</TD>
|
177 |
|
|
<TD><EM>Future Electronics Cyclone/Nios II Development</EM> <EM>Board</EM></TD>
|
178 |
|
|
<TD>EP1C12Q240C6</TD>
|
179 |
|
|
<TD>50MHz</TD>
|
180 |
|
|
<TD>50MHz</TD>
|
181 |
|
|
<TD>115.2KBPS</TD>
|
182 |
|
|
<TD>Quartus4.2</TD>
|
183 |
|
|
</TR>
|
184 |
|
|
<TR>
|
185 |
|
|
<TD>Xilinx</TD>
|
186 |
|
|
<TD>Xilin‚˜ Spartan3 Starter Kit</TD>
|
187 |
|
|
<TD>XC3S200-4FT256C </TD>
|
188 |
|
|
<TD>50MHz</TD>
|
189 |
|
|
<TD>25MHz</TD>
|
190 |
|
|
<TD>57.6KBPS</TD>
|
191 |
|
|
<TD>ISE7.1</TD>
|
192 |
|
|
</TR>
|
193 |
|
|
</TBODY>
|
194 |
|
|
</TABLE>
|
195 |
|
|
<P><IMG src="future.jpg" width="320" height="240" border="0"><IMG src="spartan3.jpg" width="320" height="240" border="0"></P>
|
196 |
|
|
<P><EM>Future Electronics Cyclone/Nios II Development</EM> <EM>Board</EM>
|
197 |
|
|
Spartan3 Starter Kit</P>
|
198 |
|
|
<P>(1) count<BR>
|
199 |
|
|
Same as RTL simulation except for endless loop.<BR>
|
200 |
|
|
(2) pi<BR>
|
201 |
|
|
3.1415...follows by 800 digits.It was the same
|
202 |
|
|
result as PC.<BR>
|
203 |
|
|
<BR>
|
204 |
|
|
<IMG src="pi800_by_cyclone.png" width="860" height="566" border="0"><BR>
|
205 |
|
|
<BR>
|
206 |
|
|
(3)Interactive Calculator<BR>
|
207 |
|
|
Use PC terminal software.You can calcuate like C program.<BR>
|
208 |
|
|
<IMG src="calculator.png" width="860" height="540" border="0"><BR>
|
209 |
|
|
<BR>
|
210 |
|
|
<BR>
|
211 |
|
|
(4) Reed Solomon<BR>
|
212 |
|
|
Very Complex program (255,223) performs 120 cycles of 21bytes correction(including
|
213 |
|
|
erasures). No miss-correction is detected.</P>
|
214 |
|
|
<P><IMG src="rs_by_xilinx.png" width="836" height="566" border="0"></P>
|
215 |
|
|
</BODY>
|
216 |
|
|
</HTML>
|