This commit is contained in:
Nico Schottelius 2019-05-25 14:18:06 +02:00
parent 4059701f63
commit 880c228a76
2 changed files with 432 additions and 9 deletions

View File

@ -13,6 +13,8 @@
\vfil % or it might be \null
\thispagestyle{plain}
\begin{center}\textbf{Abstract}\end{center}
In journal articles, research papers, published patent applications and patents, an abstract is a short summary placed prior to the introduction, often with different line justification (blockquote) from the rest of the article, used to help readers determine the purpose of the paper. While the length of the abstract varies by field of study, it is typically a paragraph in length (3-5 sentences), and never more than a page. See
\url{en.wikipedia.org/wiki/Abstract(summary)} for details
\vfil

View File

@ -1415,7 +1415,7 @@ Please make sure that it is installed and available in your $PATH:
** TODO Port to Hardware
*** DONE Get access to tofino: no, NDA issues
*** TODO Get NetFPGA running
**** TODO Understand the simulations part
**** DONE Understand the simulations part -> not atm
**** DONE Install vivado
**** DONE Install SDNET
**** TODO Create either HDL or PX for supporting payload checksum
@ -1790,7 +1790,7 @@ cp: cannot stat '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-swit
cp: cannot stat '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/dma_0_log.axi': No such file or directory
=== Running test /tmp/nico/test/simple_sume_switch/sim_switch_default ... using cmd ['/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/sim_switch_default/run.py', '--sim', 'xsim']
[15:31] rainbow:P4-NetFPGA%
***** TODO run step 10: compiling the bitstream
***** TODO run step 10: compiling the bitstream [takes hours]
****** command
#+BEGIN_CENTER
cd $NF_DESIGN_DIR && make
@ -1851,7 +1851,7 @@ Opening simple_sume_switch Implementation design
ERROR: [Common 17-69] Command failed: Run 'impl_1' has not been launched. Unable to open
Vivado%
#+END_CENTER
****** TODO try3: debug the REAL failing command
****** DONE try3: debug the REAL failing command
******* command
#+BEGIN_CENTER
vivado -mode batch -source tcl/simple_sume_switch.tcl
@ -1876,17 +1876,437 @@ ERROR: [Common 17-39] 'connect_bd_intf_net' failed due to earlier errors.
"source ./tcl/control_sub.tcl"
(file "tcl/simple_sume_switch.tcl" line 89)
.... after bugfixing:
Creating bitmap...
Creating bitstream...
Bitstream compression saved 132634496 bits.
Writing bitstream ../bitfiles/simple_sume_switch.bit...
INFO: [Vivado 12-1842] Bitgen Completed Successfully.
INFO: [Common 17-83] Releasing license: Implementation
100 Infos, 51 Warnings, 1 Critical Warnings and 0 Errors encountered.
write_bitstream completed successfully
write_bitstream: Time (s): cpu = 00:02:39 ; elapsed = 00:03:20 . Memory (MB): peak = 4301.938 ; gain = 944.953 ; free physical
= 23157 ; free virtual = 31451
# exit
INFO: [Common 17-206] Exiting Vivado at Mon May 20 13:07:53 2019...
make[1]: Leaving directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw'
[13:07] rainbow:simple_sume_switch%
#+END_CENTER
******* TODO clarifying "simple_sume_switch.tcl"
******** DONE What is it?
Seems to be some kind of batch system for vivado
******** DONE Who or what created it?
Seems to be manually / from the project / not generated
******** TODO Why is it incompatible?
**** TODO Understand a bit of xilinx/netfpga/vivado
******** DONE What is it trying to do?
Assuming connecting "things" on the "board".
******** DONE Why is it incompatible?
******** DONE Trying to resolve the error 1: commenting out line 538
# connect_bd_intf_net -intf_net nf_riffa_dma_1_pcie3_cfg_interrupt
[get_bd_intf_pins nf_riffa_dma_1/cfg_interrupt] [get_bd_intf_pins
pcie3_7x_1/pcie3_cfg_interrupt]
****** DONE try4 going back to step 10 -> fails
#+BEGIN_CENTER
ume_switch/hw/project/simple_sume_switch.runs/control_sub_m00_data_fifo_0_synth_1/runme.log
control_sub_s00_data_fifo_0_synth_1: /home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw/project/simple_sume_switch.runs/control_sub_s00_data_fifo_0_synth_1/runme.log
control_sub_auto_cc_0_synth_1: /home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw/project/simple_sume_switch.runs/control_sub_auto_cc_0_synth_1/runme.log
synth_1: /home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw/project/simple_sume_switch.runs/synth_1/runme.log
[Fri May 24 11:55:57 2019] Launched impl_1...
Run output will be captured here: /home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw/project/simple_sume_switch.runs/impl_1/runme.log
launch_runs: Time (s): cpu = 00:00:34 ; elapsed = 00:01:10 . Memory (MB): peak = 2538.609 ; gain = 1199.879 ; free physical = 28377 ; free virtual = 34012
# wait_on_run impl_1
[Fri May 24 11:55:57 2019] Waiting for impl_1 to finish...
[Fri May 24 12:39:07 2019] impl_1 finished
wait_on_run: Time (s): cpu = 00:26:26 ; elapsed = 00:43:10 . Memory (MB): peak = 2538.609 ; gain = 0.000 ; free physical = 28208 ; free virtual = 34003
# open_run impl_1
ERROR: [Common 17-69] Command failed: Run 'impl_1' has not been launched. Unable to open
Vivado% q
#+END_CENTER
****** DONE try5: error: No IP matching VLNV 'NetFPGA:NetFPGA:nf_sume_sdnet:*' was found
#+BEGIN_CENTER
[11:52] rainbow:hw% vivado -mode batch -source tcl/simple_sume_switch.tcl
...
### set NF_10G_INTERFACE3_BASEADDR $M07_BASEADDR
### set NF_10G_INTERFACE3_HIGHADDR $M07_HIGHADDR
### set NF_10G_INTERFACE3_SIZEADDR $M07_SIZEADDR
### set NF_RIFFA_DMA_BASEADDR $M08_BASEADDR
### set NF_RIFFA_DMA_HIGHADDR $M08_HIGHADDR
### set NF_RIFFA_DMA_SIZEADDR $M08_SIZEADDR
Wrote : </home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw/project/simple_sume_switch.srcs/sources_1/bd/control_sub/control_sub.bd>
# create_ip -name nf_sume_sdnet -vendor NetFPGA -library NetFPGA -module_name nf_sume_sdnet_ip
ERROR: [Coretcl 2-1134] No IP matching VLNV 'NetFPGA:NetFPGA:nf_sume_sdnet:*' was found. Please check your repository configuration.
INFO: [Common 17-206] Exiting Vivado at Sat May 25 11:52:01 2019...
#+END_CENTER
****** TODO try6: go back to clean netpfga-live, diff all sources
#+BEGIN_CENTER
[13:44] rainbow:~% diff -ru ~/P4-NetFPGA-live-clean/tools ~/projects/P4-NetFPGA/tools
Only in /home/nico/projects/P4-NetFPGA/tools/scripts/NFTest: testcheck.pyc
diff -ru /home/nico/P4-NetFPGA-live-clean/tools/settings.sh /home/nico/projects/P4-NetFPGA/tools/settings.sh
--- /home/nico/P4-NetFPGA-live-clean/tools/settings.sh 2019-05-25 11:55:45.655636066 +0200
+++ /home/nico/projects/P4-NetFPGA/tools/settings.sh 2019-05-13 11:49:02.122265641 +0200
@@ -28,7 +28,8 @@
# @NETFPGA_LICENSE_HEADER_END@
#
-export P4_PROJECT_NAME=switch_calc
+export P4_PROJECT_NAME=switch_calc
+export P4_PROJECT_NAME=minip4
export NF_PROJECT_NAME=simple_sume_switch
export SUME_FOLDER=${HOME}/projects/P4-NetFPGA
export SUME_SDNET=${SUME_FOLDER}/contrib-projects/sume-sdnet-switch
@@ -47,4 +48,3 @@
export DRIVER_FOLDER=${SUME_FOLDER}/lib/sw/std/driver/${DRIVER_NAME}
export APPS_FOLDER=${SUME_FOLDER}/lib/sw/std/apps/${DRIVER_NAME}
export HWTESTLIB_FOLDER=${SUME_FOLDER}/lib/sw/std/hwtestlib
-
[13:44] rainbow:~%
#+END_CENTER
****** TODO try7: restart from beginning in minip4 alongside try6
- steps 1...8 ok
- step 9: fails to cp axi files
- step 9: before that a python error
****** DONE try8: fix python error in config_writes.py: script is generated
#+BEGIN_CENTER
# set_property compxlib.xsim_compiled_library_dir {} [current_project] [0/1819]
# set_property top_lib xil_defaultlib [get_filesets sim_1]
# update_compile_order -fileset sim_1
update_compile_order: Time (s): cpu = 00:00:17 ; elapsed = 00:00:09 . Memory (MB): peak = 2003.578 ; gain = 8.004 ; free physical = 27661 ; free virtual = 33990
loading libsume..
Traceback (most recent call last):
File "/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/sim_switch_default/run.py", line 42, in <module>
import config_writes
File "/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/sim_switch_default/config_writes.py", line 7
^
IndentationError: expected an indented block
while executing
"exec python $::env(NF_DESIGN_DIR)/test/${test_name}/run.py"
invoked from within
"set output [exec python $::env(NF_DESIGN_DIR)/test/${test_name}/run.py]"
(file "/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw/tcl/simple_sume_switch_sim.tcl" line 177)
INFO: [Common 17-206] Exiting Vivado at Sat May 25 13:45:13 2019...
make: *** [Makefile:121: sim] Error 1
make: Leaving directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test'
512
=== Work directory is /tmp/nico/test/simple_sume_switch
=== Setting up test in /tmp/nico/test/simple_sume_switch/sim_switch_default
#+END_CENTER
config_writes.py
#+BEGIN_CENTER
[13:50] rainbow:~% find ~/P4-NetFPGA-live-clean -name config_writes.py
[13:50] rainbow:~%
#+END_CENTER
******* File does not EXIST in original repo -> might be created in step6?
"Generate the scripts that can be used in the NetFPGA SUME simulations to configure the table entries.
$ cd $P4_PROJECT_DIR && make config_writes
"
#+BEGIN_CENTER!
[13:50] rainbow:~% find ~/projects/P4-NetFPGA -name config_writes.py
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/testdata/config_writes.py
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/sim_switch_default/config_writes.py
[13:53] rainbow:~%
[13:53] rainbow:~% grep -r config_writes.py /home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/vivado.log: File "/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/sim_switch_default/config_writes.py", line 7
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/sim_switch_default/Makefile: cp ${P4_PROJECT_DIR}/testdata/config_writes.py ./
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/sim_switch_default/Makefile: rm -f config_writes.py*
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/sim_switch_ctrlWrites/Makefile: cp ${P4_PROJECT_DIR}/testdata/config_writes.py ./
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/sim_switch_ctrlWrites/Makefile: rm -f config_writes.py*
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/Makefile: ${SUME_SDNET}/bin/gen_config_writes.py ${SDNET_OUT_DIR}/${P4_SWITCH}/config_writes.txt ${P4_SWITCH_BASE_ADDR} testdata
[13:56] rainbow:~%
#+END_CENTER
Likely:
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/Makefile: ${SUME_SDNET}/bin/gen_config_writes.py ${SDNET_OUT_DIR}/${P4_SWITCH}/config_writes.txt ${P4_SWITCH_BASE_ADDR} testdata
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch
[14:01] rainbow:sume-sdnet-switch% ls bin
conv_p414_cmds gen_P4_SWITCH_externs.py libtcam_templates.pyc nf_sim_tools.pyc
extern_data.py gen_P4_SWITCH_regs.py make_config_tables.py p4_px_tables.py
extern_data.pyc libcam_templates.py make_new_p4_proj.py pcap2axi
gen_config_fsm_writes.py libcam_templates.pyc make_regs_addressable.py sss_sume_metadata.py
gen_config_writes.py liblpm_templates.py modify_P4_SWITCH_tb.py sss_sume_metadata.pyc
gen_P4_SWITCH_API.py liblpm_templates.pyc nf_sim_compare_axi_logs.py
gen_P4_SWITCH_CLI.py libtcam_templates.py nf_sim_tools.py
[14:01] rainbow:sume-sdnet-switch%
sim_config = 'config_writes.py'
hw_config = 'config_writes.sh'
****** DONE try9: debug the script that generates the script that generates the error
#+BEGIN_CENTER
[14:01] rainbow:sume-sdnet-switch% pwd
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch
[14:01] rainbow:sume-sdnet-switch% ls bin
conv_p414_cmds gen_P4_SWITCH_externs.py libtcam_templates.pyc nf_sim_tools.pyc
extern_data.py gen_P4_SWITCH_regs.py make_config_tables.py p4_px_tables.py
extern_data.pyc libcam_templates.py make_new_p4_proj.py pcap2axi
gen_config_fsm_writes.py libcam_templates.pyc make_regs_addressable.py sss_sume_metadata.py
gen_config_writes.py liblpm_templates.py modify_P4_SWITCH_tb.py sss_sume_metadata.pyc
gen_P4_SWITCH_API.py liblpm_templates.pyc nf_sim_compare_axi_logs.py
gen_P4_SWITCH_CLI.py libtcam_templates.py nf_sim_tools.py
#+END_CENTER
Find the input file to find the script call directory
#+BEGIN_CENTER
[14:04] rainbow:sume-sdnet-switch% find ~/projects/P4-NetFPGA -name config_writes.txt
/home/nico/projects/P4-NetFPGA/lib/hw/contrib/cores/nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/ip_repo/contrib/cores/nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt
[14:08] rainbow:sume-sdnet-switch%
#+END_CENTER
Input data in nf_sume_sdnet_ip is:
#+BEGIN_CENTER
<addr, data>: (00000020, 00000001)
<addr, data>: (00000020, 00000000)
#+END_CENTER
Original call in the Makefile:
#+BEGIN_CENTER
[14:10] rainbow:minip4% make config_writes
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/bin/gen_config_writes.py nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt 0x44020000 testdata
[14:10] rainbow:minip4%
#+END_CENTER
Understading gen_config_writes.py:
#+BEGIN_CENTER
def main():
parser = argparse.ArgumentParser()
parser.add_argument('filename', type=str, help="the config_writes.txt file")
parser.add_argument('baseaddr', type=str, help="the base address of the P4_SWITCH")
parser.add_argument('outdir', type=str, help="the name of the output directory")
args = parser.parse_args()
dic = parse_config_writes(args.filename)
new_dic = remove_init_addresses(dic)
write_sim_config(new_dic, int(args.baseaddr, 0), args.outdir)
write_hw_config(new_dic, int(args.baseaddr, 0), args.outdir)
#+END_CENTER
read arguments, create a dictionary by removing init addresses (why?
which?), create the two output files, one of them being
config_writes.py that does not have any lines.
#+BEGIN_CENTER
def parse_config_writes(filename):
regex = r"<addr, data>: \(([abcdefABCDEF\d]*), ([abcdefABCDEF\d]*)\)"
dic = collections.OrderedDict()
i = 0
with open(filename) as f:
for line in f:
searchObj = re.match(regex, line)
if searchObj is not None:
dic[i] = (searchObj.group(1), searchObj.group(2))
else:
print >> sys.stderr, "ERROR: encountered unexpected line in file: \n", line
sys.exit(1)
i += 1
return dic
#+END_CENTER
Looks for all matching lines, errors out if wrong lines are in there.
#+BEGIN_CENTER
def remove_init_addresses(dic):
result = collections.OrderedDict()
for (index, tup) in dic.iteritems():
if tup[0][-2:] != "20":
result[index] = tup
return result
#+END_CENTER
Adding debug:
#+BEGIN_CENTER
def main():
parser = argparse.ArgumentParser()
parser.add_argument('filename', type=str, help="the config_writes.txt file")
parser.add_argument('baseaddr', type=str, help="the base address of the P4_SWITCH")
parser.add_argument('outdir', type=str, help="the name of the output directory")
args = parser.parse_args()
dic = parse_config_writes(args.filename)
print("orig dic: {}".format(dic))
new_dic = remove_init_addresses(dic)
print("new dic: {}".format(new_dic))
write_sim_config(new_dic, int(args.baseaddr, 0), args.outdir)
write_hw_config(new_dic, int(args.baseaddr, 0), args.outdir)
#+END_CENTER
Output:
#+BEGIN_CENTER
nfig_writes.txt 0x44020000 testdata
[14:10] rainbow:minip4% make config_writes
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/bin/gen_config_writes.py nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt 0x44020000 testdata
orig dic: OrderedDict([(0, ('00000020', '00000001')), (1, ('00000020', '00000000'))])
new dic: OrderedDict()
[14:15] rainbow:minip4%
#+END_CENTER
-> Problem seems to be that no addresses are left. Why?
****** TODO try10: find out, why nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt has too less content
***** run step 11: checking design -- skipped
***** TODO run step 12: ok
****** code
#+BEGIN_CENTER
cd $NF_DESIGN_DIR/bitfiles && \
mv simple_sume_switch.bit ${P4_PROJECT_NAME}.bit && \
cp $P4_PROJECT_DIR/testdata/config_writes.sh ./
#+END_CENTER
***** TODO run step 13:
****** command
#+BEGIN_CENTER
cd $NF_DESIGN_DIR/bitfiles/ && sudo bash ./program_switch.sh
#+END_CENTER
****** DONE try1: paths not setup for root
[14:54] rainbow:bitfiles% cd $NF_DESIGN_DIR/bitfiles/ && sudo bash ./program_switch.sh
./program_switch.sh: line 34: /tools/program_switch.sh: No such file or directory
[14:56] rainbow:bitfiles% ls
config_writes.sh minip4.bit program_switch.sh README
[14:56] rainbow:bitfiles%
****** DONE try2: setup paths as root: various other errors
#+BEGIN_CENTER
root@rainbow:~# cd $NF_DESIGN_DIR/bitfiles/ && bash ./program_switch.sh
rmmod: ERROR: Module sume_riffa is not currently loaded
rlwrap: warning: your $TERM is 'screen' but rlwrap couldn't find it in the terminfo database. Expect some problems.
RUN loading image file.
switch_calc.bit
attempting to launch hw_server
****** Xilinx hw_server v2018.2
**** Build date : Jun 14 2018-20:18:37
** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
INFO: hw_server application started
INFO: Use Ctrl-C to exit hw_server application
INFO: To connect to this hw_server instance use url: TCP:127.0.0.1:3121
couldn't open "switch_calc.bit": no such file or directory
invoked from within
"::tcf::eval -progress ::xsdb::print_progress {::tcf::cache_enter tcfchan#0 {tcf_cache_eval {process_tcf_actions_cache_client ::tcfclient#0::arg}}}"
(procedure "::tcf::cache_eval_with_progress" line 2)
invoked from within
"::tcf::cache_eval_with_progress [dict get $arg chan] [list process_tcf_actions_cache_client $argvar] $progress"
(procedure "process_tcf_actions" line 1)
invoked from within
"process_tcf_actions $arg ::xsdb::print_progress"
(procedure "fpga" line 430)
invoked from within
"fpga -f $bitimage"
(file "/root/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/tools/run_xsct.tcl" line 33)
Check programming FPGA or Reboot machine !
rmmod: ERROR: Module sume_riffa is not currently loaded
nf0: ERROR while getting interface flags: No such device
nf1: ERROR while getting interface flags: No such device
nf2: ERROR while getting interface flags: No such device
nf3: ERROR while getting interface flags: No such device
#+END_CENTER
****** TODO try3: adjusting/analysing "./program_switch.sh"
Calls another script
#+BEGIN_CENTER
# Program the switch with the bit file and then configure the tables
${SUME_SDNET}/tools/program_switch.sh switch_calc.bit config_writes.sh
#+END_CENTER
****** TODO try4: analyse ANOTHER program_switch.sh
#+BEGIN_CENTER
root@rainbow:~/projects/P4-NetFPGA# find . -name program_switch.sh
./contrib-projects/sume-sdnet-switch/projects/int/simple_sume_switch/bitfiles/program_switch.sh
./contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/bitfiles/program_switch.sh
./contrib-projects/sume-sdnet-switch/projects/switch_calc/simple_sume_switch/bitfiles/program_switch.sh
./contrib-projects/sume-sdnet-switch/projects/learning_switch/simple_sume_switch/bitfiles/program_switch.sh
./contrib-projects/sume-sdnet-switch/projects/tcp_monitor/simple_sume_switch/bitfiles/program_switch.sh
./contrib-projects/sume-sdnet-switch/tools/program_switch.sh
./contrib-projects/sume-sdnet-switch/templates/sss_p4_proj/simple_sume_switch/bitfiles/program_switch.sh
root@rainbow:~/projects/P4-NetFPGA#
#+END_CENTER
Add set -x debugging, see real error
#+BEGIN_CENTER
#+END_CENTER
****** TODO try 5: reboot && retry
#+BEGIN_CENTER
[9:24] rainbow:~% sudo -i
root@rainbow:~# lsmod | grep riffa
root@rainbow:~# modprobe sume_riffa
modprobe: FATAL: Module sume_riffa not found in directory /lib/modules/5.0.0-15-generic
root@rainbow:~#
#+END_CENTER
-> not changing
******* DONE Going back to setup steps
[10:11] rainbow:tcam_v1_1_0% cd $SUME_FOLDER/lib/hw/xilinx/cores/tcam_v1_1_0/ && make update && make
cd $SUME_FOLDER/lib/hw/xilinx/cores/cam_v1_1_0/ && make update && make
cd $SUME_SDNET/sw/sume && make
cd $SUME_FOLDER && make
-> all good so far
cd $DRIVER_FOLDER
make all
sudo make install
sudo modprobe sume_riffa
#+BEGIN_CENTER
[11:44] rainbow:sume_riffa_v1_0_0% sudo make install
make -C /lib/modules/5.0.0-15-generic/build M=/home/nico/projects/P4-NetFPGA/lib/sw/std/driver/sume_riffa_v1_0_0 modules
make[1]: Entering directory '/usr/src/linux-headers-5.0.0-15-generic'
Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory '/usr/src/linux-headers-5.0.0-15-generic'
install -o root -g root -m 0755 -d /lib/modules/5.0.0-15-generic/extra/sume_riffa/
install -o root -g root -m 0755 sume_riffa.ko /lib/modules/5.0.0-15-generic/extra/sume_riffa/
depmod -a 5.0.0-15-generic
[11:44] rainbow:sume_riffa_v1_0_0%
[11:44] rainbow:sume_riffa_v1_0_0% lsmod | grep sume_riffa
sume_riffa 28672 0
[11:45] rainbow:sume_riffa_v1_0_0%
#+END_CENTER
**** DONE Understand a bit of xilinx/netfpga/vivado ~ somewhat
- https://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_4/ug900-vivado-logic-simulation.pdf
The xvhdl and xvlog commands parse VHDL and Verilog files, respectively. Descriptions
for each option are available in Table 5-2, page 102.
@ -1908,7 +2328,6 @@ command along with other options to effect HDL simulation
VHDL->[via xvhdl]-> HDL
Verilog->[via xvlog]->HDL
***** TODO Understand SimpleSumeSwitch
SimpleSumeSwitch(
TopParser(),
@ -2405,6 +2824,8 @@ what.
was generated by a step that is not clear what it is supposed to do
- one step huge output, hundreds to thousands of lines, errors
somewher in between => exceeding tmux buffers
- some steps take VERY long correctly
- some steps stopped in an infinite loop => hard to distinguish
- non fatal/fatal errors cannot be distinguished
grep: ../../../RELEASE_NOTES: No such file or directory