Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
G
GSI Timing Starter Kit
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Projects
  • GSI Timing Starter Kit
  • Wiki
  • Configure a spec host

Configure a spec host

Last edited by Wesley W. Terpstra Sep 12, 2012
Page history

Configure a SPEC host

A SPEC host is a normal Linux PC with the SPECv4 card inserted into a 4+ lane PCI express slot. In order to communicate with the card, you will need the kernel driver and Etherbone library. Simply follow the Building-from-Sources directions to install them on your system.

After "make install" as root, run "depmod -a" and reboot. You should see the device listed as a PCIe device and see that the driver loaded (here I have two SPECs):

root@host:~# lspci | grep 018d
01:00.0 Non-VGA unclassified device: CERN/ECP/EDU Device 018d (rev 03)
02:00.0 Non-VGA unclassified device: CERN/ECP/EDU Device 018d (rev 03)
root@host:~# lsmod | grep spec
spec_wb                12596  0 
wishbone               12660  1 spec_wb
root@host:~# dmesg | grep spec
[    8.856298] spec_wb 0000:01:00.0: irq 44 for MSI/MSI-X
[    8.866082] spec_wb 0000:02:00.0: irq 45 for MSI/MSI-X
root@host:~# ls -l /dev/spec*
crw------- 1 root root 252, 0 Dec  3  2009 /dev/spec_wb0
crw------- 1 root root 252, 1 Dec  3  2009 /dev/spec_wb1

In order to communicate with the device, you use the Etherbone address dev/spec_wb0. This is not a filesystem path and there is no leading '/'! For example,

root@host:~# eb-ls dev/spec_wb0
BusPath        VendorID         Product   BaseAddress(Hex)  Description
1              000000000000ce42:66cfeb52                 0  WB4-BlockRAM       
2              0000000000000651:eef0b198             20000  WB4-Bridge-GSI     
2.1            000000000000ce42:ab28633a             20000  WR-Mini-NIC        
2.2            000000000000ce42:650c2d4f             20100  WR-Endpoint        
2.3            000000000000ce42:65158dc0             20200  WR-Soft-PLL        
2.4            000000000000ce42:de0d8ced             20300  WR-PPS-Generator   
2.5            000000000000ce42:ff07fc47             20400  WR-Periph-Syscon   
2.6            000000000000ce42:e2d13d04             20500  WR-Periph-UART     
2.7            000000000000ce42:779c5443             20600  WR-Periph-1Wire    
2.8            0000000000000651:68202b22             20700  Etherbone-Config   

Notice that the Wishbone bus as seen from a SPEC host is smaller than what you will see from the data master over Etherbone and also smaller than what you will see from an SCU ComExpress board. The SPEC PCIe bridge can only expose 256kB of the Wishbone bus so the rest of the devices are missing.

Thus, you can Read-the-current-time from a SPEC host, but you will be unable to Schedule-events or Capture-timestamps. For the last to features, you need to Configure-a-Data-Master.

Clone repository
  • Building from sources
  • Capture timestamps
  • Configure a data master
  • Configure a spec host
  • Configure a vme host
  • Configure a vme system
  • Documents
  • Flash a xilinx device
  • Flash an altera device
  • Home
  • Io assignments
  • Prebuilt images
  • Read the current time
  • Documents
    • Project attachments
    • Syslinux.cfg
More Pages

New Wiki Page

Tip: You can specify the full path for the new file. We will automatically create any missing directories.