Software design

From Wiki-evariste
Revision as of 23:40, 4 April 2013 by Fischer (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Evariste II system software includes ready-made scripting software (script.exe) and the hardware driver compatible with Windows XP and Windows 7. For high-speed applications, the user can develop his application software based on software examples given in the system.


LabHC driver and its installation

The Evariste II system includes the hardware driver compatible with Windows XP and Windows 7. Both 32-bit and 64-bit drivers are available. They are based on the original Cypress drivers. Unfortunately, the Cypress drivers are not signed by Microsoft and they cannot be directly used with the Professional version of the 64-bit Windows system.

The driver installation is straightforward: once the motherboard containing the FPGA module is plugged into the PC, Windows recognizes the module as the LaHC Security Module and asks for the driver. The user should point to the directory containing the corresponding drivers (the directory x86 for the 32-bit driver and the directory x64 for the 64-bit driver).


Scripting software - Script.exe

The software Script.exe opens the script file given as the first argument of the command line. It then interprets the commands from the script file by creating packets and sending them to the bus/interface given as the third argument of the command (only USB bus is supported in the current version of the software). The software waits also for incoming packets arriving from the bus/interface, analyzes them and creates the log file having the name given as the second argument in the command line.

Example of the execution command:

script.exe bus_script_in1.txt bus_script_out1.txt /USB

This command will launch script.exe that will read and interpret the file bus_script_in1.txt, send packets via USB bus and create log file called bus_script_out1.txt according to the received packets.


Example of an application software – a fast data acquisition software

We give an example of simple application software aimed at fast data acquisition from FPGA modules (and namely random bitstream acquisition). Both source files and corresponding executable file are available. Using the source files, the user can very easily adapt the software to his needs.

The program DataACQ uses Cypress Application Programming Interface (API) for accessing the hardware via USB. It is a simple console application accepting several command line parameters. The program call has the following syntax:

DataACQ [file] [/H] [/?] [/LEN=xxx] [RND | RNDNOP] [/FILES=num]

  • file – The name of the file that will be created
  • /H – This argument will display the Help
  • /? – Another way to display the Help
  • /LEN=xxx – xxx is the length of the file in bytes in decimal (default 10000), e.g. LEN=125000
  • RND or RNDNOP – This argument will determine the mode of the acquisition (in the context of random number generation):
    • RND – mode of random number generation with post-processing (mode N°7)
    • RNDNOP – mode of random number generation without post-processing (acquisition of the raw binary signal – the digital noise, mode N°3)
  • /FILES=num – Determines number of files of length xxx that should be created (default value for xxx is 1). The software will generate automatically the names of files using random hexadecimal text streams.

Example:

DataACQ.exe /LEN=250000 /FILES=5

This program call will acquire data from the module and generate 5 files of 250.000 bytes. Besides creating the files, the program will display at the console window the following text for each created file: