Start a new topic

Design and modeling flow

I downloaded the .bit files and run the application. Now I need to make changes and include my own DSP function.  I would appreciate if you can provide step by step instruction for using the source files to compile and model using the ISE 14.4 for FM30RF and KC705. As well, what is the recommended method of including my own DSP algorithm in the project? Do I need to use StellarIP ?

Thanks Arnaud.


I have Windows 7 32 bit and the ../ works on my computer as expected. When I follow your steps and double-click the kc705_fmc30rf.xise, the ISE project navigator starts and gets stuck. The last 3 lines:



INFO:HDLCompiler:1061 - Parsing VHDL file "C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/sip_mac_engine/rst_gen.vhd" into library work
INFO:HDLCompiler:1061 - Parsing VHDL file "C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/sip_mac_engine/sip_mac_engine.vhd" into library work
INFO:ProjectMgmt - Parsing design hierarchy completed successfully.
Launching Design Summary/Report Viewer...


So I executed synthesis and implementation from the project navigator menu which run with a lot of warnings. The tcl script worked after that and I also did the behavioral simulation. But the total span of the simulation was 1 microsec, or 1,000,000 ps. This does not seem OK.


What I used to do previously was to use the ISE PlanAhead. That asks me to give a PlanAhead project name. I gave fromStellaris. The creates another dir with a .sim subdir. The working directory for tcl was C:\Users\vroman\AppData\Roaming\Xilinx\PlanAhead so the ../ references did not work.
Dear Vincent,
Look at your struggle I decided to proceed with the steps here, for your information, I am based in European union and Kyu is based in Austin, obviously we both have different machines, different environment, etc..
Let me try to describe you the steps I have taken (as I haven't seen any problem)
1) I browsed the sdf in StellarIP (in C:\Program Files (x86)\4dsp\Common\Firmware\Extracted\227_kc705_fmc30rf\implement), and pressed Generate.
2) I double clicked on the ISE project kc705_fmc30rf.xise
3) Opened Tcl console and ISE, and typed: source ../..simulate/isim/isim.tcl
I did not get any error, just got:
[code]
Command>source ../../simulate/isim/isim.tcl
Coping simulation files...
Done
Adding simulation only files...
Done
Changing files to implement only...
Done
Completed
[/code]
Can it be that you don't have write access to this specific folder?
Not sure why you need to modify your script, most likely your modifications are not right.
About the ../ in a Windows prompt you can try that:
[code]
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
C:\Users\Arnaud Maye>cd "C:\Program Files"
C:\Program Files>cd ../Program Files (x86)
C:\Program Files (x86)>
[\code]
I am also using Windows 7 - 64 bit, I used ISE 14.4 for this test.
Best Regards,
Arnaud
[/code]

[font=arial][size=2]OK thanks, the .bit file I downloaded makes the same output for the [/size][/font][font=arial][size=small]Fmc30RFApp.exe[/size][/font]
[font=arial][/size][/font]
[font=arial][/size][size=small]in the tcl script I modified the file copy lines to:[/size][/font]
[font=arial][/size][size=small]file copy -force C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/simulate/isim/sip_cmd.sip sip_cmd.sip[/size][/font]

[font=arial][/size][size=2]I am getting the error: [/size][size=small][/font]

[font=arial][/size][size=2]
Coping simulation files...
# file copy -force C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/simulate/isim/sip_cmd.sip sip_cmd.sip
error copying: target "sip_cmd.sip" is not a directory
    while executing
"file copy -force C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/simulate/isim/sip_cmd.sip sip_cmd.sip"
    (file "C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/simulate/isim/isim1.tcl" line 15)[/size][size=small][/font]
Vincent,


I am using Win7 x64 and working fine with "../../". Where is your ISE design folder? It should be located in "[font=verdana][size=1px]C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf."[/size][/font]
The simulation folder should 2 directories upper than ISE design folder to use our isim.tcl. If not, you need to correct the file paths in the isim.tcl file.




Thanks,
Kyu
I checked the TCL manual, filename at http://www.tcl.tk/man/tcl8.5/TclCmd/filename.htm#M12 . Looks like the ../ is for Unix not for Windows:


[font=Georgia][color=rgb(22, 116, 164)][size=12px][font=Verdana]The rules for native names depend on the value reported in the Tcl array element [/font][font=Verdana]tcl_platform(platform)[/font][font=Verdana]:[/font][font=Verdana]On Unix and Apple MacOS X platforms, Tcl uses path names where the components are separated by slashes. Path names may be relative or absolute, and file names may contain any character other than slash. The file names [b].[/b] and [b]..[/b] are special and refer to the current directory and the parent of the current directory respectively. Multiple adjacent slash characters are interpreted as a single separator. Any number of trailing slash characters at the end of a path are simply ignored, so the paths [b]foo[/b], [b]foo/[/b] and [b]foo//[/b] are all identical, and in particular [b]foo/[/b] does not necessarily mean a directory is being referred.The following examples illustrate various forms of path names:
Absolute path to the root directory.Absolute path to the file named [b]passwd[/b] in the directory [b]etc[/b] in the root directory.Relative path to the current directory.Relative path to the file [b]foo[/b] in the current directory.Relative path to the file [b]bar[/b] in the directory [b]foo[/b] in the current directory.Relative path to the file [b]foo[/b] in the directory above the current directory.[/font]On Microsoft Windows platforms, Tcl supports both drive-relative and UNC style names. Both [b]/[/b] and [b]\[/b] may be used as directory separators in either type of name. Drive-relative names consist of an optional drive specifier followed by an absolute or relative path. UNC paths follow the general form [b]\\servername\sharename\path\file[/b], but must at the very least contain the server and share components, i.e. [b]\\servername\sharename[/b]. In both forms, the file names [b].[/b] and [b]..[/b] are special and refer to the current directory and the parent of the current directory respectively. The following examples illustrate various forms of path names:Absolute UNC path to a file called [b][url=http://www.tcl.tk/man/tcl8.5/TclCmd/file.htm]file[/url][/b] in the root directory of the export point [b]share[/b] on the host [b]Host[/b]. Note that repeated use of [b][url=http://www.tcl.tk/man/tcl8.5/TclCmd/file.htm]file dirname[/url][/b] on this path will give[b]//Host/share[/b], and will never give just [b]//Host[/b].Volume-relative path to a file [b]foo[/b] in the current directory on drive [b]c[/b].Absolute path to a file [b]foo[/b] in the root directory of drive [b]c[/b].Relative path to a file [b]bar[/b] in the [b]foo[/b] directory in the current directory on the current volume.Volume-relative path to a file [b]foo[/b] in the root directory of the current volume.Volume-relative path to a file [b]foo[/b] in the root directory of the current volume. This is not a valid UNC path, so the assumption is that the extra backslashes are superfluous.

[/size][/color][/font]
Vincent,

[size=78%]SDF file does not help you to avoid warnings and I think you also have the same SDF file that I have. Here is the ucf file that I deleted all duplicated constraints. This will clear some of warning that you are having. I have checked the warnings and they are insignificant. I think you can ignore them.[/size]


For Isim, I tried it again and I do not have any problems copying simulation files. I think if all listed files are located in correct directory, it should work. Please open the isim.tcl and verify the location of the files. If you have changed the directory of the ISE project, the location of the simulation files need to be changed as well.




Thanks,
Kyu
Actually all the section before the Clock constraints appear twice.
Yes the [font=verdana, sans-serif][size=11px]MAC engine constraints section appears twice in the .ucf file. I would appreciate if you can provide a kc705_fmc30rf.sdf that runs through all the phases of synthesis, implementation and simulation.[/size][/font]

[font=verdana, sans-serif][size=11px]The file sip_cmd.sip is in the simulate/isim directory as are all the other files of the "file copy -force" section. Maybe there is a problem with the the command syntax or the TCL version.[/size][/font]
Vincent,


The warnings you got from ucf file are because of those are called twice in the ucf file. If you see the ucf file, you will see that there are 2 Mac engine constraints. You can delete one of them or ignore the warnings.


For the warnings from the incomplete signals, these signals are defined in the Ethernet Mac standard, but we do not use those signals in our designs. They have no connections, so you can ignore them as well.




For isim, it looks like you don't have files in the directory. Could you open the isim.tcl file and check if all listed files are located in the correct directory?




Thanks,
Kyu
Furthermore when I run the tcl command:

source "C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/simulate/isim/isim.tcl"


I get this error:


# puts "Coping simulation files..."
Coping simulation files...
# file copy -force ../../simulate/isim/sip_cmd.sip sip_cmd.sip
error copying "../../simulate/isim/sip_cmd.sip": no such file or directory
    while executing
"file copy -force ../../simulate/isim/sip_cmd.sip sip_cmd.sip"
    (file "C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/simulate/isim/isim.tcl" line 15)

Arnaud,




I followed the steps in the 4FM Getting Started and created a new kc705_fmc30rf. bit. Given the following warnings, please let me know if I should download this design to the KC705.


In ISE 14.4 I opened the Plan Ahead program, then "Open Project" for C:\Program Files\4dsp\Common\Firmware\Extracted\227_kc705_fmc30rf\output\kc705_fmc30rf\kc705_fmc30rf.xise. Then I run synthesis and implementation and got the following critical warnings.


[list]
[li] [Constraints 18-11] Could not find net '*/SYSCLK_IN' [C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/kc705_fmc30rf.ucf:67] [/li]
[li] [Constraints 18-47] TIMESPEC TS_SYSCLK_P_0 is redefined. The earlier version defined at (file = kc705_fmc30rf.ucf, line = 50) will be discarded [C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/kc705_fmc30rf.ucf:140] [/li]
[li] [Constraints 18-47] TIMESPEC TS_SYSCLK_N_0 is redefined. The earlier version defined at (file = kc705_fmc30rf.ucf, line = 52) will be discarded [C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/kc705_fmc30rf.ucf:142] [/li]
[li] [Constraints 18-47] TIMESPEC TS_PHY_RXCLK_0 is redefined. The earlier version defined at (file = kc705_fmc30rf.ucf, line = 54) will be discarded [C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/kc705_fmc30rf.ucf:144] [/li]
[li] [Constraints 18-47] TIMESPEC TS_q0_clk1_refclk_i is redefined. The earlier version defined at (file = kc705_fmc30rf.ucf, line = 65) will be discarded [C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/kc705_fmc30rf.ucf:155] [/li]
[li] [Constraints 18-11] Could not find net '*/SYSCLK_IN' [C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/kc705_fmc30rf.ucf:157] [/li]
[li] [Constraints 18-47] TIMESPEC TS_SYSCLK_IN is redefined. The earlier version defined at (file = kc705_fmc30rf.ucf, line = 68) will be discarded [C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/kc705_fmc30rf.ucf:158] [/li]
[li] [Constraints 18-47] TIMESPEC TS_gt0_txusrclk_i is redefined. The earlier version defined at (file = kc705_fmc30rf.ucf, line = 72) will be discarded [C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/kc705_fmc30rf.ucf:162] [/li]
[li] [Constraints 18-47] TIMESPEC TS_gt0_txusrclk2_i is redefined. The earlier version defined at (file = kc705_fmc30rf.ucf, line = 75) will be discarded [C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/kc705_fmc30rf.ucf:165] [/li]
[li] [Constraints 18-329] No definition for group 'SYSCLK_IN', timing constraint is ignored [C:/Program Files/4dsp/Common/Firmware/Extracted/227_kc705_fmc30rf/output/kc705_fmc30rf/Src/kc705_fmc30rf.ucf:158]  [/li]
[/list]


After generating bitstream:





Analysis completed Wed Mar 13 11:30:16 2013
--------------------------------------------------------------------------------


Generating Report ...


Number of warnings: 0
Total time: 37 secs


*** Running xdl
    with args -secure -ncd2xdl -nopips "kc705_fmc30rf_routed.ncd" "kc705_fmc30rf_routed.xdl"


Release 14.4 - xdl P.49d (nt)
Copyright (c) 1995-2012 Xilinx, Inc.  All rights reserved.


WARNING:XDL:213 - The resulting xdl output will not have LUT equation strings or RAM INIT strings.
Loading device for application Rf_Device from file '7k325t.nph' in environment C:\Xilinx\14.4\ISE_DS\ISE\.
  "kc705_fmc30rf" is an NCD, version 3.2, device xc7k325t, package ffg900, speed -2
Successfully converted design 'kc705_fmc30rf_routed.ncd' to 'kc705_fmc30rf_routed.xdl'.


*** Running bitgen
    with args "kc705_fmc30rf_routed.ncd" "kc705_fmc30rf.bit" "kc705_fmc30rf.pcf" -w -intstyle pa


WARNING:PhysDesignRules:367 - The signal <phy_col_0_IBUF> is incomplete. The
  signal does not drive any load pins in the design.
WARNING:PhysDesignRules:367 - The signal <phy_rxer_0_IBUF> is incomplete. The
  signal does not drive any load pins in the design.
WARNING:PhysDesignRules:367 - The signal <phy_crs_0_IBUF> is incomplete. The
  signal does not drive any load pins in the design.
WARNING:PhysDesignRules:367 - The signal
  <sip_mac_engine_0/mac_engine_inst/ge_mac_stream_inst/gmii_eth_rx_stream_inst/
  afifo_inst/U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/gd
  m.dm/Mram_RAM1_RAMD_D1_O> is incomplete. The signal does not drive any load
  pins in the design.


Regards,
Vincent
Dear Vincent,
Well a sdf should be browsed and the "User Defined" box unchecked, then you can press Generate.
The pass of the SDF should be C:\Program Files (x86)\4dsp\Common\Firmware\Extracted\227_kc705_fmc30rf\implement\227_kc705_fmc30rf.sdf
It is pretty much in line with the Getting Started Guide where we indeed only browse a .sdf and we make sure the chck box is not ticked. In a general point of view all our firmwares are installed at the same place and the installer only decrypt firmware you are entitled to.
If the extracted firmware is empty then it is likely something went wrong during the installation because of a domain or administrative right issue. In this case, try to uninstall and reinstall.
If you don't have this specific firmware in there, check your license file (.4lf), this is an ASCII file where you should see 227_kc705_fmc30rf
Best Regards,
Arnaud
Arnaud


It is not specified how I generate in StellarIP for FMC30RF and KC705. The steps in section 5 of 4FM Get Started Guide have references inapplicable for this case. Do the training materials references apply here? Please specify the settings and steps for the firmware project creation in the 4FM GUI Control App, the SDF file path, Library file path etc.


Vincent
Dear Sir,
This is a pure engineering decision. As soon you press Generate in StellarIP you get an ISE Navigator project. Then we are talking about normal firmware flow on the tools you are used to, there you can add files, etc..
You could also decide to stay in the StellarIP flow, then you would wrap your DSP algorithm in a star. There is a chapter about creating custom stars in the 4FM Getting Started Guide.
Best Regards,
Araud
Login or Signup to post a comment