<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
<HTML>
|
<HTML>
|
<HEAD>
|
<HEAD>
|
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 9.0.2.0 for Windows">
|
<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 9.0.2.0 for Windows">
|
<META http-equiv="Content-Style-Type" content="text/css">
|
<META http-equiv="Content-Style-Type" content="text/css">
|
<TITLE></TITLE>
|
<TITLE></TITLE>
|
</HEAD>
|
</HEAD>
|
<BODY>
|
<BODY>
|
<P><B>7 Examples of C compilation</B><BR>
|
<P><B>7 Examples of C compilation</B><BR>
|
FPGA Vendor's library is not attached since they are property of vendors.
|
FPGA Vendor's library is not attached since they are property of vendors.
|
Set them under \lib folder as below to run RTL/Delay simulation in Veritak.(XilinxCorelib
|
Set them under \lib folder as below to run RTL/Delay simulation in Veritak.(XilinxCorelib
|
is not attached in free Web Edition. BaseX or higher edition will be necessary.)<BR>
|
is not attached in free Web Edition. BaseX or higher edition will be necessary.)<BR>
|
<IMG src="folder_structure.png" width="847" height="334" border="0"><BR>
|
<IMG src="folder_structure.png" width="847" height="334" border="0"><BR>
|
<BR>
|
<BR>
|
<B>7.1 RTL</B><BR>
|
<B>7.1 RTL</B><BR>
|
<BR>
|
<BR>
|
In RTL simulation using UART is too slow for debugging the cpu. Therefore output is changed
|
In RTL simulation using UART is too slow for debugging the cpu. Therefore output is changed
|
to console instead of UART PORT. Please note RTL
|
to console instead of UART PORT. Please note RTL
|
simulation takes very long time in running actual 10msec .</P>
|
simulation takes very long time in running actual 10msec .</P>
|
<TABLE border=1>
|
<TABLE border=1>
|
<TBODY>
|
<TBODY>
|
<TR>
|
<TR>
|
<TD width=176>Folder</TD>
|
<TD width=176>Folder</TD>
|
<TD width=136>C Program</TD>
|
<TD width=136>C Program</TD>
|
<TD>Description</TD>
|
<TD>Description</TD>
|
<TD>Batch File</TD>
|
<TD>Batch File</TD>
|
<TD>Veritak Project(\bench\verilog)</TD>
|
<TD>Veritak Project(\bench\verilog)</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD width=176>\bench\c_src\count</TD>
|
<TD width=176>\bench\c_src\count</TD>
|
<TD width=136>count_tak.c</TD>
|
<TD width=136>count_tak.c</TD>
|
<TD>By Steve Rhords</TD>
|
<TD>By Steve Rhords</TD>
|
<TD>compile.bat</TD>
|
<TD>compile.bat</TD>
|
<TD>altera_rtl/xilinx_rtl</TD>
|
<TD>altera_rtl/xilinx_rtl</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD width=176>\bench\c_src\pi</TD>
|
<TD width=176>\bench\c_src\pi</TD>
|
<TD width=136>pi2.c</TD>
|
<TD width=136>pi2.c</TD>
|
<TD>pi 10digits</TD>
|
<TD>pi 10digits</TD>
|
<TD>compile.bat</TD>
|
<TD>compile.bat</TD>
|
<TD>altera_rtl_no_wave/xilinx_rtl_no_wave</TD>
|
<TD>altera_rtl_no_wave/xilinx_rtl_no_wave</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD width=176>\bench\c_src\dhrystone</TD>
|
<TD width=176>\bench\c_src\dhrystone</TD>
|
<TD width=136>dhry21_tak.c</TD>
|
<TD width=136>dhry21_tak.c</TD>
|
<TD>Dhrystone</TD>
|
<TD>Dhrystone</TD>
|
<TD>compile.bat</TD>
|
<TD>compile.bat</TD>
|
<TD>altera_rtl_no_wave/xilinx_rtl_no_wave</TD>
|
<TD>altera_rtl_no_wave/xilinx_rtl_no_wave</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD width=176>\bench\c_src\reed solomon</TD>
|
<TD width=176>\bench\c_src\reed solomon</TD>
|
<TD width=136>rs_tak.c</TD>
|
<TD width=136>rs_tak.c</TD>
|
<TD>By Phil Karn</TD>
|
<TD>By Phil Karn</TD>
|
<TD>compile.bat</TD>
|
<TD>compile.bat</TD>
|
<TD>altera_rtl_no_wave/xilinx_rtl_no_wave</TD>
|
<TD>altera_rtl_no_wave/xilinx_rtl_no_wave</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD width=176>\bench\c_src\calculator</TD>
|
<TD width=176>\bench\c_src\calculator</TD>
|
<TD width=136>uart_echo_test.c</TD>
|
<TD width=136>uart_echo_test.c</TD>
|
<TD>Interactive Calculator. Interrupt debug use</TD>
|
<TD>Interactive Calculator. Interrupt debug use</TD>
|
<TD>compile.bat</TD>
|
<TD>compile.bat</TD>
|
<TD>altera_calculator_test_using_uart_echo/xilinx_calculator_test_using_uart_echo<BR>
|
<TD>altera_calculator_test_using_uart_echo/xilinx_calculator_test_using_uart_echo<BR>
|
</TD>
|
</TD>
|
</TR>
|
</TR>
|
</TBODY>
|
</TBODY>
|
</TABLE>
|
</TABLE>
|
<P><BR>
|
<P><BR>
|
(1) count </P>
|
(1) count </P>
|
<P><IMG src="count_rtl_sim.png" width="783" height="734" border="0"></P>
|
<P><IMG src="count_rtl_sim.png" width="783" height="734" border="0"></P>
|
<P>(2)Pi<BR>
|
<P>(2)Pi<BR>
|
<IMG src="xilinx_pi_rtl_sim.png" width="877" height="295" border="0"><BR>
|
<IMG src="xilinx_pi_rtl_sim.png" width="877" height="295" border="0"><BR>
|
<BR>
|
<BR>
|
(3)Reed Solomon<IMG src="rs_rtl_sim_by_cyclone.png" width="1007" height="719" border="0"></P>
|
(3)Reed Solomon<IMG src="rs_rtl_sim_by_cyclone.png" width="1007" height="719" border="0"></P>
|
<P><BR>
|
<P><BR>
|
(4) Calculator<BR>
|
(4) Calculator<BR>
|
This is console output only, not interactive. Using echo-back technique,
|
This is console output only, not interactive. Using echo-back technique,
|
UART interrupt test was done.<BR>
|
UART interrupt test was done.<BR>
|
<IMG src="xilinx_calculator_rtl_sim.png" width="877" height="715" border="0"></P>
|
<IMG src="xilinx_calculator_rtl_sim.png" width="877" height="715" border="0"></P>
|
<P>RTL Simulation Procedure<BR>
|
<P>RTL Simulation Procedure<BR>
|
</P>
|
</P>
|
<UL>
|
<UL>
|
<LI>Compile C program using compile.bat
|
<LI>Compile C program using compile.bat
|
<LI>conver_mips.exe will generate memory initialization file for both Altera
|
<LI>conver_mips.exe will generate memory initialization file for both Altera
|
and Xilinx,which will be sent to\rtl\xilinx and \rtl\altera.
|
and Xilinx,which will be sent to\rtl\xilinx and \rtl\altera.
|
<LI>Load Veritak Project=>Go
|
<LI>Load Veritak Project=>Go
|
</UL>
|
</UL>
|
<P><B>7.2 Gate Simulation</B><BR>
|
<P><B>7.2 Gate Simulation</B><BR>
|
Using "count" above,Post-Layout Gate Simulation was performed.<BR>
|
Using "count" above,Post-Layout Gate Simulation was performed.<BR>
|
</P>
|
</P>
|
<TABLE border=1>
|
<TABLE border=1>
|
<TBODY>
|
<TBODY>
|
<TR>
|
<TR>
|
<TD>Folder</TD>
|
<TD>Folder</TD>
|
<TD>Veritak Project File</TD>
|
<TD>Veritak Project File</TD>
|
<TD>Frequency</TD>
|
<TD>Frequency</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD>\syn\altra_stratix2\simulation\custom</TD>
|
<TD>\syn\altra_stratix2\simulation\custom</TD>
|
<TD>Gate_altera</TD>
|
<TD>Gate_altera</TD>
|
<TD>165MHz</TD>
|
<TD>165MHz</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD>\syn\altera\simulation\custom</TD>
|
<TD>\syn\altera\simulation\custom</TD>
|
<TD>Gate_altera</TD>
|
<TD>Gate_altera</TD>
|
<TD>100MHz</TD>
|
<TD>100MHz</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD>\syn\xilinx</TD>
|
<TD>\syn\xilinx</TD>
|
<TD>Gate_xilinx</TD>
|
<TD>Gate_xilinx</TD>
|
<TD>25MHz</TD>
|
<TD>25MHz</TD>
|
</TR>
|
</TR>
|
</TBODY>
|
</TBODY>
|
</TABLE>
|
</TABLE>
|
<P><BR>
|
<P><BR>
|
<BR>
|
<BR>
|
<B>7.3 FPGA</B></P>
|
<B>7.3 FPGA</B></P>
|
<TABLE border=1>
|
<TABLE border=1>
|
<TBODY>
|
<TBODY>
|
<TR>
|
<TR>
|
<TD>Folder</TD>
|
<TD>Folder</TD>
|
<TD>C Program</TD>
|
<TD>C Program</TD>
|
<TD>Batch File</TD>
|
<TD>Batch File</TD>
|
<TD>Description</TD>
|
<TD>Description</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD>\syn\c_src\count</TD>
|
<TD>\syn\c_src\count</TD>
|
<TD>count_tak.c</TD>
|
<TD>count_tak.c</TD>
|
<TD>compile.bat</TD>
|
<TD>compile.bat</TD>
|
<TD>By Steve Rhords</TD>
|
<TD>By Steve Rhords</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD>\syn\c_src\pi</TD>
|
<TD>\syn\c_src\pi</TD>
|
<TD>pi2.c</TD>
|
<TD>pi2.c</TD>
|
<TD>compile.bat</TD>
|
<TD>compile.bat</TD>
|
<TD>pi 800 digits calculation</TD>
|
<TD>pi 800 digits calculation</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD>\syn\c_src\reed solomon</TD>
|
<TD>\syn\c_src\reed solomon</TD>
|
<TD>rs_tak.c</TD>
|
<TD>rs_tak.c</TD>
|
<TD>compile.bat</TD>
|
<TD>compile.bat</TD>
|
<TD>By Phil Karn</TD>
|
<TD>By Phil Karn</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD>\syn\yacc\bench\c_src\calculator</TD>
|
<TD>\syn\yacc\bench\c_src\calculator</TD>
|
<TD>uart_echo_test.c</TD>
|
<TD>uart_echo_test.c</TD>
|
<TD>compile.bat</TD>
|
<TD>compile.bat</TD>
|
<TD>Interactive Calculater</TD>
|
<TD>Interactive Calculater</TD>
|
</TR>
|
</TR>
|
</TBODY>
|
</TBODY>
|
</TABLE>
|
</TABLE>
|
<P><Synthesis Procedure><BR>
|
<P><Synthesis Procedure><BR>
|
</P>
|
</P>
|
<UL>
|
<UL>
|
<LI>Run Batch File
|
<LI>Run Batch File
|
<LI>Synthesize top of hardware Regenerate RAM using core-generator, then Synthesize
|
<LI>Synthesize top of hardware Regenerate RAM using core-generator, then Synthesize
|
top of hardware
|
top of hardware
|
</UL>
|
</UL>
|
<P><BR>
|
<P><BR>
|
<BR>
|
<BR>
|
FPGA Confirmation<BR>
|
FPGA Confirmation<BR>
|
</P>
|
</P>
|
<TABLE border=1>
|
<TABLE border=1>
|
<TBODY>
|
<TBODY>
|
<TR>
|
<TR>
|
<TD>FPGA</TD>
|
<TD>FPGA</TD>
|
<TD>FPGA BOARD</TD>
|
<TD>FPGA BOARD</TD>
|
<TD>Device</TD>
|
<TD>Device</TD>
|
<TD>Clock</TD>
|
<TD>Clock</TD>
|
<TD>CPU<BR>
|
<TD>CPU<BR>
|
CLOCK</TD>
|
CLOCK</TD>
|
<TD>UART Baud Rate</TD>
|
<TD>UART Baud Rate</TD>
|
<TD>Synthesized by</TD>
|
<TD>Synthesized by</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD>Altera</TD>
|
<TD>Altera</TD>
|
<TD><EM>Future Electronics Cyclone/Nios II Development</EM> <EM>Board</EM></TD>
|
<TD><EM>Future Electronics Cyclone/Nios II Development</EM> <EM>Board</EM></TD>
|
<TD>EP1C12Q240C6</TD>
|
<TD>EP1C12Q240C6</TD>
|
<TD>50MHz</TD>
|
<TD>50MHz</TD>
|
<TD>50MHz</TD>
|
<TD>50MHz</TD>
|
<TD>115.2KBPS</TD>
|
<TD>115.2KBPS</TD>
|
<TD>Quartus4.2</TD>
|
<TD>Quartus4.2</TD>
|
</TR>
|
</TR>
|
<TR>
|
<TR>
|
<TD>Xilinx</TD>
|
<TD>Xilinx</TD>
|
<TD>Xilin‚˜ Spartan3 Starter Kit</TD>
|
<TD>Xilin‚˜ Spartan3 Starter Kit</TD>
|
<TD>XC3S200-4FT256C </TD>
|
<TD>XC3S200-4FT256C </TD>
|
<TD>50MHz</TD>
|
<TD>50MHz</TD>
|
<TD>25MHz</TD>
|
<TD>25MHz</TD>
|
<TD>57.6KBPS</TD>
|
<TD>57.6KBPS</TD>
|
<TD>ISE7.1</TD>
|
<TD>ISE7.1</TD>
|
</TR>
|
</TR>
|
</TBODY>
|
</TBODY>
|
</TABLE>
|
</TABLE>
|
<P><IMG src="future.jpg" width="320" height="240" border="0"><IMG src="spartan3.jpg" width="320" height="240" border="0"></P>
|
<P><IMG src="future.jpg" width="320" height="240" border="0"><IMG src="spartan3.jpg" width="320" height="240" border="0"></P>
|
<P><EM>Future Electronics Cyclone/Nios II Development</EM> <EM>Board</EM>
|
<P><EM>Future Electronics Cyclone/Nios II Development</EM> <EM>Board</EM>
|
Spartan3 Starter Kit</P>
|
Spartan3 Starter Kit</P>
|
<P>(1) count<BR>
|
<P>(1) count<BR>
|
Same as RTL simulation except for endless loop.<BR>
|
Same as RTL simulation except for endless loop.<BR>
|
(2) pi<BR>
|
(2) pi<BR>
|
3.1415...follows by 800 digits.It was the same
|
3.1415...follows by 800 digits.It was the same
|
result as PC.<BR>
|
result as PC.<BR>
|
<BR>
|
<BR>
|
<IMG src="pi800_by_cyclone.png" width="860" height="566" border="0"><BR>
|
<IMG src="pi800_by_cyclone.png" width="860" height="566" border="0"><BR>
|
<BR>
|
<BR>
|
(3)Interactive Calculator<BR>
|
(3)Interactive Calculator<BR>
|
Use PC terminal software.You can calcuate like C program.<BR>
|
Use PC terminal software.You can calcuate like C program.<BR>
|
<IMG src="calculator.png" width="860" height="540" border="0"><BR>
|
<IMG src="calculator.png" width="860" height="540" border="0"><BR>
|
<BR>
|
<BR>
|
<BR>
|
<BR>
|
(4) Reed Solomon<BR>
|
(4) Reed Solomon<BR>
|
Very Complex program (255,223) performs 120 cycles of 21bytes correction(including
|
Very Complex program (255,223) performs 120 cycles of 21bytes correction(including
|
erasures). No miss-correction is detected.</P>
|
erasures). No miss-correction is detected.</P>
|
<P><IMG src="rs_by_xilinx.png" width="836" height="566" border="0"></P>
|
<P><IMG src="rs_by_xilinx.png" width="836" height="566" border="0"></P>
|
</BODY>
|
</BODY>
|
|
|