strath-sdr / rfsoc_qsfp_offload Goto Github PK
View Code? Open in Web Editor NEWRFSoC QSFP Data Offload Design with GNU Radio
RFSoC QSFP Data Offload Design with GNU Radio
Can this be run using different boards like a ZCU208 or ZCU216?
Thank you for creating this open-source example for the RFSoC platform! I replicated your design by going through the instructions and was able to recreate the block design in Vivado; however, I encountered the above error during the synthesis process. I am using Vivado 2020.2 (not exactly 2021.2) and I have already acquired the CMAC license from Xilinx. I wonder if this error is caused by not applying some of the patches?
Thanks for your work on this excellent project. I am having trouble generating a bitstream from the block design. Specifically, during synthesis of the block_design_netlayer_0_synth_1 module. I've included my errors during synthesis of this module below:
INFO: [Synth 8-6157] synthesizing module 'block_design_netlayer_0' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ip/block_design_netlayer_0/synth/block_design_netlayer_0.v:58]
INFO: [Synth 8-6157] synthesizing module 'networklayer' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:34]
INFO: [Synth 8-6157] synthesizing module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/network_layer_bd.v:13]
INFO: [Synth 8-6155] done synthesizing module 'network_layer_bd' (1#1) [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/network_layer_bd.v:13]
ERROR: [Synth 8-448] named port connection 'ap_clk' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:99]
ERROR: [Synth 8-448] named port connection 'ap_rst_n' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:100]
ERROR: [Synth 8-448] named port connection 'S_AXIS_eth2nl_tvalid' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:102]
ERROR: [Synth 8-448] named port connection 'S_AXIS_eth2nl_tready' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:103]
ERROR: [Synth 8-448] named port connection 'S_AXIS_eth2nl_tdata' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:104]
ERROR: [Synth 8-448] named port connection 'S_AXIS_eth2nl_tkeep' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:105]
ERROR: [Synth 8-448] named port connection 'S_AXIS_eth2nl_tlast' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:106]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2eth_tvalid' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:108]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2eth_tready' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:109]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2eth_tdata' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:110]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2eth_tkeep' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:111]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2eth_tlast' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:112]
ERROR: [Synth 8-448] named port connection 'S_AXIS_sk2nl_tdata' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:114]
ERROR: [Synth 8-448] named port connection 'S_AXIS_sk2nl_tkeep' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:115]
ERROR: [Synth 8-448] named port connection 'S_AXIS_sk2nl_tlast' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:116]
ERROR: [Synth 8-448] named port connection 'S_AXIS_sk2nl_tready' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:117]
ERROR: [Synth 8-448] named port connection 'S_AXIS_sk2nl_tdest' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:118]
ERROR: [Synth 8-448] named port connection 'S_AXIS_sk2nl_tvalid' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:119]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2sk_tdata' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:121]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2sk_tkeep' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:122]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2sk_tlast' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:123]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2sk_tready' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:124]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2sk_tdest' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:125]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2sk_tuser' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:126]
ERROR: [Synth 8-448] named port connection 'M_AXIS_nl2sk_tvalid' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:127]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_awvalid' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:129]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_awready' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:130]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_awaddr' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:131]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_wvalid' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:132]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_wready' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:133]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_wdata' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:134]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_wstrb' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:135]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_arvalid' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:136]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_arready' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:137]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_araddr' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:138]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_rvalid' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:139]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_rready' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:140]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_rdata' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:141]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_rresp' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:142]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_bvalid' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:143]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_bready' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:144]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_bresp' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:145]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_arprot' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:146]
ERROR: [Synth 8-448] named port connection 'S_AXIL_nl_awprot' does not exist for instance 'network_layer_bd_i' of module 'network_layer_bd' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:147]
ERROR: [Synth 8-6156] failed synthesizing module 'networklayer' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ipshared/e7fe/src/networklayer.v:34]
ERROR: [Synth 8-6156] failed synthesizing module 'block_design_netlayer_0' [/home2/arwillis/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_qsfp_offload/rfsoc_offload/rfsoc_offload.gen/sources_1/bd/block_design/ip/block_design_netlayer_0/synth/block_design_netlayer_0.v:58]
---------------------------------------------------------------------------------
Finished RTL Elaboration : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 2892.938 ; gain = 245.621 ; free physical = 8229 ; free virtual = 49889
---------------------------------------------------------------------------------
RTL Elaboration failed
INFO: [Common 17-83] Releasing license: Synthesis
14 Infos, 0 Warnings, 0 Critical Warnings and 47 Errors encountered.
After running make command I am getting following error,
WARNING: [Vivado 12-4802] The synthesis checkpoint for IP '/home/tattva-07/Documents/RFSOC_4X2_PYNQ/Offload/board_new/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_offload/rfsoc_offload/rfsoc_offload.srcs/sources_1/bd/block_design/ip/block_design_util_vector_logic_0_0/block_design_util_vector_logic_0_0.xci' is not generated and IP is locked. An out-of-context (OOC) run will be created and/or launched, but synthesis may not be able to complete or could result in incorrect behavior.
Please select 'Report IP Status' from the 'Tools/Report' menu or run Tcl command 'report_ip_status' for more information.
WARNING: [Vivado 12-4802] The synthesis checkpoint for IP '/home/tattva-07/Documents/RFSOC_4X2_PYNQ/Offload/board_new/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_offload/rfsoc_offload/rfsoc_offload.srcs/sources_1/bd/block_design/ip/block_design_util_vector_logic_1_0/block_design_util_vector_logic_1_0.xci' is not generated and IP is locked. An out-of-context (OOC) run will be created and/or launched, but synthesis may not be able to complete or could result in incorrect behavior.
Please select 'Report IP Status' from the 'Tools/Report' menu or run Tcl command 'report_ip_status' for more information.
WARNING: [Vivado 12-4802] The synthesis checkpoint for IP '/home/tattva-07/Documents/RFSOC_4X2_PYNQ/Offload/board_new/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_offload/rfsoc_offload/rfsoc_offload.srcs/sources_1/bd/block_design/ip/block_design_zynq_ultra_ps_e_0_0/block_design_zynq_ultra_ps_e_0_0.xci' is not generated and IP is locked. An out-of-context (OOC) run will be created and/or launched, but synthesis may not be able to complete or could result in incorrect behavior.
Please select 'Report IP Status' from the 'Tools/Report' menu or run Tcl command 'report_ip_status' for more information.
ERROR: [Vivado 12-4756] Launch of runs aborted due to earlier errors while preparing sub-designs for run execution.
INFO: [Common 17-206] Exiting Vivado at Tue Aug 1 15:45:27 2023...
Makefile:10: recipe for target 'bitstream' failed
make[1]: *** [bitstream] Error 1
make[1]: Leaving directory '/home/tattva-07/Documents/RFSOC_4X2_PYNQ/Offload/board_new/rfsoc_qsfp_offload/boards/RFSoC4x2/rfsoc_offload'
Makefile:18: recipe for target 'vivado_prj' failed
make: *** [vivado_prj] Error 2
I am using vivado 2021.1 and I didn't modify anything. When I opened the QSFP-Offload project in vivado Netlayer IP is locked and whenever I upgrade IP from IP Status it was staying not upgraded and was still locked. It says that this IP's are not supported for 48dr part number (RFSoC4x2 part number) its in below image.
And following is the error I am getting whenever I tried to generate HDL wrapper,
And following is the error when I tried to generate output after upgrading IP,
It would be great if someone could help me out.
Thanks in Advance.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.