]> jspc29.x-matter.uni-frankfurt.de Git - pexor.git/commitdiff
latest changes
authorJan Michel <j.michel@gsi.de>
Tue, 26 Nov 2013 13:28:30 +0000 (14:28 +0100)
committerJan Michel <j.michel@gsi.de>
Tue, 26 Nov 2013 13:28:30 +0000 (14:28 +0100)
.gitignore [new file with mode: 0644]
.kateproject [new file with mode: 0644]
compile_frankfurt.pl
pexor.p2t
pexor.p3t [new file with mode: 0644]
pexor.prj
pexor.pt [new file with mode: 0644]
pexor.vhd
vcode/pcie_pcs.txt [new file with mode: 0644]
vcode/pciexp2.ngo [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..f894493
--- /dev/null
@@ -0,0 +1,5 @@
+version.vhd
+*.log
+*~
+.kateproject.d
+workdir
diff --git a/.kateproject b/.kateproject
new file mode 100644 (file)
index 0000000..f8aa932
--- /dev/null
@@ -0,0 +1,4 @@
+{
+  "name": "Pexor"
+, "files": [ { "git": 1 } ]
+}
index a8cb49eea5d9572cdd8de67f2d929761f6968284..2803d9973ea48e6383dbb1e3afab66125be73bc9 100755 (executable)
@@ -13,19 +13,26 @@ use Data::Dumper;
 use warnings;
 use strict;
 
+###################################################################################
+#Settings for this project
+my $TOPNAME                      = "pexor";  #Name of top-level entity
+my $lattice_path                 = '/d/jspc29/lattice/diamond/2.1_x64';
+#my $lattice_path                 = '/d/jspc29/lattice/diamond/2.0';
+#my $lattice_path                 = '/d/jspc29/lattice/diamond/1.4.2.105';
+#my $synplify_path                = '/d/jspc29/lattice/synplify/G-2012.09-SP1/';
+my $synplify_path                = '/d/jspc29/lattice/synplify/F-2012.03-SP1/';
+my $lm_license_file_for_synplify = "27000\@lxcad01.gsi.de";
+my $lm_license_file_for_par      = "1702\@hadeb05.gsi.de";
+###################################################################################
 
-my $lattice_path = '/d/jspc29/lattice/diamond/1.4';
-my $synplify_path = '/d/jspc29/lattice/synplify/D-2010.03/';
 
 use FileHandle;
 
 $ENV{'SYNPLIFY'}=$synplify_path;
 $ENV{'SYN_DISABLE_RAINBOW_DONGLE'}=1;
-$ENV{'LM_LICENSE_FILE'}="27000\@localhost";
+$ENV{'LM_LICENSE_FILE'}=$lm_license_file_for_synplify;
 
 
-my $TOPNAME="pexor";
-
 my $FAMILYNAME="LatticeSCM";
 my $DEVICENAME="LFSCM3GA40EP1";
 my $PACKAGE="FFBGA1020";
@@ -93,7 +100,7 @@ foreach (@a)
 }
 #if (0){
 
-$ENV{'LM_LICENSE_FILE'}="1710\@cronos.e12.physik.tu-muenchen.de";
+$ENV{'LM_LICENSE_FILE'}=$lm_license_file_for_par;
 
 $c=qq| $lattice_path/ispfpga/bin/lin/edif2ngd  -l $FAMILYNAME -d $DEVICENAME "$TOPNAME.edf" "$TOPNAME.ngo" |;
 execute($c);
@@ -106,7 +113,8 @@ execute($c);
 
 my $tpmap = $TOPNAME . "_map" ;
 
-$c=qq|$lattice_path/ispfpga/bin/lin/map  -retime -split_node -a $FAMILYNAME -p $DEVICENAME -t $PACKAGE -s $SPEEDGRADE "$TOPNAME.ngd" -o "$tpmap.ncd"  -mp "$TOPNAME.mrp" "$TOPNAME.lpf"|;
+# $c=qq|$lattice_path/ispfpga/bin/lin/map  -retime -split_node -a $FAMILYNAME -p $DEVICENAME -t $PACKAGE -s $SPEEDGRADE "$TOPNAME.ngd" -o "$tpmap.ncd"  -mp "$TOPNAME.mrp" "$TOPNAME.lpf"|;
+$c=qq|$lattice_path/ispfpga/bin/lin/map  -retime -split_node -a $FAMILYNAME -p $DEVICENAME -t $PACKAGE -s $SPEEDGRADE "$TOPNAME.ngd" -pr "$TOPNAME.prf" -o "$tpmap.ncd"  -mp "$TOPNAME.mrp" "$TOPNAME.lpf"|;
 execute($c);
 
 
@@ -114,7 +122,9 @@ system("rm $TOPNAME.ncd");
 
 #$c=qq|$lattice_path/ispfpga/bin/lin/par -w -y -l 4 -i 15 "$tpmap.ncd" "$TOPNAME.ncd" "$TOPNAME.prf" |;
 #$c=qq|$lattice_path/ispfpga/bin/lin/par -f $TOPNAME.p2t  "$tpmap.ncd" "$TOPNAME.ncd" "$TOPNAME.prf" |;
-$c=qq|$lattice_path/ispfpga/bin/lin/multipar -pr "$TOPNAME.prf" -o "mpar_$TOPNAME.rpt" -log "mpar_$TOPNAME.log" -p "../$TOPNAME.p2t"  "$tpmap.ncd" "$TOPNAME.ncd"|;
+# $c=qq|$lattice_path/ispfpga/bin/lin/multipar -pr "$TOPNAME.prf" -o "mpar_$TOPNAME.rpt" -log "mpar_$TOPNAME.log" -p "../$TOPNAME.p2t"  "$tpmap.ncd" "$TOPNAME.ncd"|;
+$c=qq|mpartrce -p "../$TOPNAME.p2t" -f "../$TOPNAME.p3t" -tf "$TOPNAME.pt" "|.$TOPNAME.qq|_map.ncd" "$TOPNAME.ncd"|;
+
 execute($c);
 
 # IOR IO Timing Report
index e1f3bc590a90983bba1f058ef96dc9626c376919..7b93ebac9e48515b09996bbeb51b1988a5ed8df5 100644 (file)
--- a/pexor.p2t
+++ b/pexor.p2t
@@ -4,7 +4,7 @@
 -n 1
 -y
 -s 12
--t 13
+-t 14
 -c 1
 -e 2
 -m nodelist.txt
diff --git a/pexor.p3t b/pexor.p3t
new file mode 100644 (file)
index 0000000..51fe4bd
--- /dev/null
+++ b/pexor.p3t
@@ -0,0 +1,5 @@
+-rem
+-distrce
+-log "pexor.log"
+-o "pexor.csv"
+-pr "pexor.prf"
index 04bc8ca8b5e6b31e973d8a6fc10b239ec522d3a2..14077842200057a935c9b7e66e9b94bbe16718ee 100644 (file)
--- a/pexor.prj
+++ b/pexor.prj
@@ -106,7 +106,7 @@ add_file -vhdl -lib work "../trbnet/lattice/scm/fifo_32x512.vhd"
 add_file -vhdl -lib work "design/dma_core.vhd"
 
 
-add_file -verilog "/d/sugar/lattice/diamond/1.1/cae_library/synthesis/verilog/scm.v"
+add_file -verilog "/d/jspc29/lattice/diamond/2.1_x64/cae_library/synthesis/verilog/scm.v"
 add_file -vhdl -lib work "design/cores/fifo_32to64x512_dualclock.vhd"
 add_file -vhdl -lib work "design/cores/fifo_16x512_dualclock.vhd"
 add_file -vhdl -lib work "design/cores/fifo_9x512_dualclock.vhd"
diff --git a/pexor.pt b/pexor.pt
new file mode 100644 (file)
index 0000000..b5319a3
--- /dev/null
+++ b/pexor.pt
@@ -0,0 +1,10 @@
+-v
+10
+
+
+
+
+-gt
+-sethld
+-sp 8
+-sphld m
index 1f5b86bd536250dd9537759a70b93aa277a8a79b..e731391474ec333c3c5cc1853cf2aa19949334d2 100644 (file)
--- a/pexor.vhd
+++ b/pexor.vhd
@@ -10,7 +10,7 @@ use work.version.all;
 \r
 entity pexor is\r
   generic(\r
-    NUM_LINKS : integer range 1 to 4 := 2\r
+    NUM_LINKS : integer range 1 to 4 := 1\r
     );\r
   port(\r
     --Clock and Reset\r
@@ -320,7 +320,7 @@ begin
 --       );\r
 \r
 \r
-med_stat_op(31 downto 16) <= x"000" & "0111";\r
+-- med_stat_op(31 downto 16) <= x"000" & "0111";\r
 ---------------------------------------------------------------------------\r
 -- Active Endpoint\r
 ---------------------------------------------------------------------------\r
@@ -473,8 +473,8 @@ med_stat_op(31 downto 16) <= x"000" & "0111";
   led(1)      <= not med_stat_op(10);\r
   led(2)      <= not med_stat_op(11);\r
 \r
-  led(4)      <= not med_stat_op(16+9);\r
-  led(5)      <= not med_stat_op(16+10);\r
+  led(4)      <= '1'; --not med_stat_op(16+9);\r
+  led(5)      <= '1'; --not med_stat_op(16+10);\r
   \r
   led(6)      <= not make_reset_internal;\r
   led(7)      <= not send_network_reset_internal;\r
diff --git a/vcode/pcie_pcs.txt b/vcode/pcie_pcs.txt
new file mode 100644 (file)
index 0000000..794aefa
--- /dev/null
@@ -0,0 +1,51 @@
+\r
+# This file is used by the simulation model as well as the ispLEVER bitstream\r
+# generation process to automatically initialize the PCS quad to the mode\r
+# selected in the IPexpress. This file is expected to be modified by the\r
+# end user to adjust the PCS quad to the final design requirements.\r
+# channel_0 is in "PCI Express" mode\r
+# channel_1 is in "PCI Express" mode\r
+# channel_2 is in "PCI Express" mode\r
+# channel_3 is in "PCI Express" mode\r
+\r
+ch0 13 03  # Powerup Channel\r
+ch0 00 01\r
+ch1 13 03  # Powerup Channel\r
+ch1 00 01\r
+ch2 13 03  # Powerup Channel\r
+ch2 00 01\r
+ch3 13 03  # Powerup Channel\r
+ch3 00 01\r
+quad 28 50  # Reference clock multiplier\r
+quad 29 10  # FPGA sourced refclk\r
+# quad 02 00  # ref_pclk source is ch0\r
+quad 18 04  # PCI Express x4 Mode\r
+quad 14 7F  # Word Alignment Mask\r
+quad 15 03  # +ve K\r
+quad 16 7C  # -ve K\r
+# quad 0D 97  # Watermark level on CTC\r
+quad 0E 00  # insertion/deletion control of CTC\r
+quad 12 1C  # pattern for CTC match\r
+quad 13 01\r
+quad 19 40  # MCA x4 alignment\r
+quad 01 00  # MCA mclk select to ch0\r
+# quad 04 00  # MCA enable 4 channels via ports\r
+quad 05 01  # MCA latency\r
+quad 06 06  # MCA depth\r
+# quad 07 FF  # MCA alignment mask\r
+quad 08 BC  # MCA alignment character\r
+quad 09 BC  # MCA alignment character\r
+# quad 0A 15  # MCA k control\r
+quad 30 04  # Set TX Sync Bit\r
+ch0 15 10  # +6dB equalization\r
+ch1 15 10  # +6dB equalization\r
+ch2 15 10  # +6dB equalization\r
+ch3 15 10  # +6dB equalization\r
+ch0 14 93  # 16% Pre-emphasis\r
+ch1 14 93  # 16% Pre-emphasis\r
+ch2 14 93  # 16% Pre-emphasis\r
+ch3 14 93  # 16% Pre-emphasis\r
+quad 41 00  # de-assert serdes_rst\r
+\r
+\r
+\r
diff --git a/vcode/pciexp2.ngo b/vcode/pciexp2.ngo
new file mode 100644 (file)
index 0000000..845104a
Binary files /dev/null and b/vcode/pciexp2.ngo differ