Commit Graph

855 Commits

Author SHA1 Message Date
tangxifan df7b436ac7 [Tool] Patch repacker to support duplicated nets due to adder nets 2021-02-23 19:01:18 -07:00
tangxifan e6091fb3ff [Tool] Now throw fatal error on mismatch in configurable regions between fabric key and architecture definition 2021-02-18 21:56:30 -07:00
tangxifan a5b8b2a64a [Tool] Use dedicated function to identify wire LUT created by repacker 2021-02-18 19:37:44 -07:00
tangxifan aae03482f5 [Tool] Bug fix for wire LUT identification by repacker. Create a dedicated function to identify these LUTs and store the results in shared database 2021-02-18 19:37:17 -07:00
tangxifan 61012897cd [Tool] Bug fix for truth table creation for wired LUT created by repacking algorithm 2021-02-17 15:31:20 -07:00
tangxifan af4cc117fb [Tool] bug fix in spypad lut 2021-02-09 22:53:18 -07:00
tangxifan 6a0f4f354f [Tool] Support superLUT circuit model in core engine 2021-02-09 20:23:05 -07:00
tangxifan 0c409b5bcc [Tool] Add bitstream annotation support 2021-02-01 20:49:36 -07:00
tangxifan f102e84497 [Tool] Add bitstream setting file to openfpga library 2021-02-01 17:43:46 -07:00
tangxifan 4b77a3a574 [Tool] Now activity file is not a manadatory input of openfpga tools 2021-01-29 11:33:40 -07:00
tangxifan d9fda31a9f [Tool] Add --version to openfpga shell option and a command to openfpga shell 2021-01-27 16:03:46 -07:00
tangxifan fd0e73a9bb [Tool] Enhance return code for openfpga shell 2021-01-24 14:48:27 -07:00
tangxifan 8cac3291cb [Tool] Add batch mode to openfpga shell execution 2021-01-24 14:33:58 -07:00
ganeshgore d502410b40
Merge pull request #179 from lnis-uofu/unused_gpout_patch
Avoid to output initial signal for general-purpose output ports of FPGA fabrics in Verilog testbenches
2021-01-23 18:27:54 -07:00
tangxifan 4cc8b08a6c [Tool] Add openfpga version display 2021-01-23 16:38:00 -07:00
tangxifan d2defebee9 [Tool] Avoid to output initial signal for general-purpose output ports of FPGA fabrics in Verilog testbenches 2021-01-22 16:42:13 -07:00
tangxifan 3f80a26172 [Tool] Bug fix for combinational benchmarks in pre-config testbench generation 2021-01-19 18:22:50 -07:00
tangxifan 75b99b78e9 [Tool] Now testbench generator consider pin constraints in generating clock sources for benchmarks 2021-01-19 17:38:51 -07:00
tangxifan da200658c1 [Tool] Now autocheck top testbench consider pin constraints to generate operating clock sources for benchmarks 2021-01-19 17:29:59 -07:00
tangxifan 0670c2de59 [Tool] Deploy pin constraints to preconfig Verilog module generation 2021-01-19 16:56:30 -07:00
tangxifan 8c311b8282 [Tool] Bug fix in repacker for considering design constraints 2021-01-17 12:26:14 -07:00
tangxifan 2efe513122 [Tool] Now repack consider design constraints; test pending 2021-01-16 21:57:17 -07:00
tangxifan bb8e7e25c2 [Tool] Start deploying design constraints in repack engine 2021-01-16 21:27:12 -07:00
tangxifan fa67517349 [Tool] Add repack design constraints to openfpga command 'repack' 2021-01-16 18:49:34 -07:00
tangxifan ad7a54db1b [Tool] Add repack dc library to compilation 2021-01-16 17:20:59 -07:00
tangxifan 87b2c1f3b8 [Tool] Upgrade openfpga engine to support multi-clock frequency definiton and their usage in testbench/SDC generation 2021-01-15 12:01:53 -07:00
tangxifan 852f5bb72e [Tool] Update simulation setting object to support multi-clock and associated XML parsers/writers 2021-01-14 15:38:24 -07:00
tangxifan 9cc9e45b4b [Tool] Apply a dirty fix to Verilog testbench generator so that multi-clock testbench can be generated 2021-01-13 15:13:19 -07:00
tangxifan c0da6b900a [Tool] Bug fix in creating multi-bit clock port connections 2021-01-12 18:38:00 -07:00
tangxifan 65b2fe3ab7 [Tool] Bug fix in the global tile connection by considering all the subtiles 2021-01-10 11:52:38 -07:00
tangxifan 9a441fa5cc [Tool] Upgrade openfpga to support extended global tile port definition 2021-01-09 18:47:12 -07:00
tangxifan cde26597ed [Tool] Bug fix in scan chain builder calling 2021-01-04 18:45:47 -07:00
tangxifan 804b721a19 [Tool] Bug fix in the configuration chain connection builder 2021-01-04 17:41:29 -07:00
tangxifan bfd305b5a5 [Tool] Patch the bug in finding data output ports for CCFF 2021-01-04 17:22:30 -07:00
tangxifan cc91a0aebd [Tool] Patch the bug in port requirements for CCFF circuit model and now supports SCFF in module graph builder 2021-01-04 17:14:26 -07:00
tangxifan d11a3d9fef [Tool] Avoid outputting signal initialization codes because they are bulky 2020-12-06 14:29:16 -07:00
tangxifan cb2bd2e31c [Tool] Remove register ports for mini local encoders (1-bit data out) 2020-12-06 14:21:54 -07:00
tangxifan 6bdfcb0147 [Tool] Bug fix for unifying mux primitive modules. Include memory size in the naming 2020-12-05 12:44:09 -07:00
tangxifan 6f18688f0e [Tool] Now routing multiplexer in the same circuit model (regardless or input sizes) can share the same primitive module 2020-12-05 10:53:01 -07:00
tangxifan 0da92ad888 [Tool] Split MUX Verilog netlist into two separated files: one contains only primitives while the other contains the top-level modules 2020-12-04 22:16:51 -07:00
tangxifan 5be9e9b736 [Tool] Adapted tools to support I/O in center grid 2020-12-04 18:50:13 -07:00
tangxifan 73aaa261d8 [Tool] Relax the IO restriction in pb_pin post-routing packing fix-up 2020-12-04 17:55:25 -07:00
tangxifan 4aa6264b1c [Tool] Rework simulation time period to be sync with actual stimuli 2020-12-02 22:58:13 -07:00
tangxifan b661c39b04 [Tool] Force the number of simulation clock cycles to be >= 2 to avoid false-positive self-testing in testbenches 2020-12-02 19:36:36 -07:00
tangxifan 3a708cff21 [Tool] Bug fix to enable nature fracturable LUT design 2020-11-25 23:01:18 -07:00
tangxifan c82f01b3ab [Tool] Use conditional operator in signal initialization to eliminate all the warning messages 2020-11-23 15:50:23 -07:00
tangxifan e644545f21 [Doc] Remove signal initialization for select ports of MUXes and Pass-gates; Use urandom to generate just-fit random vectors 2020-11-23 15:02:06 -07:00
tangxifan 3b2a4c5387 [Tool] Add signal initialization to Verilog testbench generator and remove it from fabric netlists 2020-11-22 20:25:03 -07:00
tangxifan 57a24570f5 [Tool] Move icarus and signal initialization options to testbench generator 2020-11-22 16:01:31 -07:00
tangxifan 3f91b8433e [Tool] Change the i/o numbering to the clockwise sequence 2020-11-13 15:00:25 -07:00
tangxifan 088198c861 [Tool] enhance error checking in fabric key parser 2020-11-13 10:56:00 -07:00
tangxifan 372fb261fd [Tool] Extend the support on global tile port for I/O tiles 2020-11-11 15:09:40 -07:00
tangxifan e627b6dd5d [Tool] Enhance port attribute checks in tile annotation data structure 2020-11-11 13:41:05 -07:00
tangxifan 9cbc374b33 [Tool] Add check codes for tile annotation 2020-11-11 12:03:13 -07:00
tangxifan 81e56d45d6 [Tool] Update FPGA-SDC to use the new data structure for global ports 2020-11-10 21:17:17 -07:00
tangxifan c61ec5a8b8 [Tool] Bug fix for defining global ports from tiles 2020-11-10 20:31:14 -07:00
tangxifan dcb50e4f19 [Tool] Use use standard data structure to store global port information 2020-11-10 19:07:28 -07:00
tangxifan cbb1545ee3 [Tool] Add connection builder for tile global ports to top-level module 2020-11-10 16:59:00 -07:00
tangxifan 5fe9c27600 [Tool] Remove redundant assertation 2020-11-09 09:42:39 -07:00
tangxifan ba0120bd76 [Tool] Remove the limitation on requiring Qb ports for CCFF 2020-11-06 11:10:04 -07:00
tangxifan 9b0617ffe6 [Tool] Bug fix for mappable I/O support 2020-11-04 20:45:51 -07:00
tangxifan 37c10f0cb5 [Tool] Add mappable I/O support and enhance I/O support 2020-11-04 20:21:49 -07:00
tangxifan 4a2874b2bc [Tool] Refactor the codes for walking through io blocks 2020-11-03 13:21:50 -07:00
tangxifan 1e47203c7c [Tool] Auto-generated gate Verilog netlist should not contain any signal initalization 2020-11-02 18:35:26 -07:00
tangxifan e4d974c5c8 [Tool] Split io location mapping builder from fabric builder 2020-11-02 18:27:34 -07:00
tangxifan 1fd899ecee [Tool] Relex logic block checking codes to skip zero-capacity nodes 2020-11-02 16:57:19 -07:00
tangxifan 6b25cf720d [Tool] Comment on the memory efficiency on fabric bitstream address storage 2020-10-30 22:09:48 -06:00
tangxifan b78f8bec16 [Tool] Bug fixed for multi-region configuration frame 2020-10-30 21:19:20 -06:00
tangxifan 5bcd559851 [Tool] Many bug fix in the multi-region support for both memory banks and framed-based. Still have problems in multi-region framed-based verification 2020-10-30 17:29:04 -06:00
tangxifan 0d77916041 [Tool] Support multi-region frame-based configuration protocol 2020-10-30 10:43:11 -06:00
tangxifan 8ef6ae32fb [Tool] Bug fix for bitstream estimator due to the current special status of frame-based protocol 2020-10-29 17:35:55 -06:00
tangxifan 987eccf586 [Tool] Bug fix in multi-region memory bank; Basic test passed 2020-10-29 16:26:45 -06:00
tangxifan 448e88645a [Tool] Support multiple memory banks in top-level module 2020-10-29 12:42:03 -06:00
tangxifan bd49ea95d4 [Tool] Add function to comput configuration bits by region 2020-10-28 12:37:09 -06:00
tangxifan 446f982410 [Tool] Add warning when number of regions defined in fabric key is different than architecture 2020-10-28 11:43:05 -06:00
tangxifan 1ef0898f41 [Tool] Now users can specify a different fabric netlist when generating Verilog testbench 2020-10-12 12:31:51 -06:00
tangxifan 721bcce373 [Tool] Change analysis SDC file name to track netlist name 2020-10-10 17:43:35 -06:00
tangxifan e0d7bcfa11 [Tool] Bug fix for region-based fabric bitstream using memory bank and frame-based protocols 2020-09-29 12:49:32 -06:00
tangxifan e988e35f81 [Tool] Support region-based bitstream in fabric bitstream data base and Verilog testbenches 2020-09-29 12:22:10 -06:00
tangxifan 180d72f3e5 [Tool] Add regions to fabric bitstream 2020-09-28 21:04:08 -06:00
tangxifan e179a58b15 [OpenFPGA Tool] Bug fix for long runtime 2020-09-28 20:42:18 -06:00
tangxifan 47f3c79927 [OpenFPGA Tool] Bug fix in module manager due to configurable regions 2020-09-28 19:08:19 -06:00
tangxifan f93d46a870 [OpenFPGA Tool] Add multiple configuration chain support in top module builder 2020-09-28 19:03:19 -06:00
tangxifan 552dddffd0 [OpenFPGA Tool] Support configurable regions in module manager 2020-09-28 18:13:07 -06:00
tangxifan 052b8b71c7 [OpenFPGA Tool] Bug fix in the XML parser for fabric regions 2020-09-27 20:54:58 -06:00
tangxifan 154f23b108 [OpenFPGA Tool] Add self-testing Verilog codes for configuration done signals in full testbenches 2020-09-26 11:54:06 -06:00
tangxifan 1b4e449179 [OpenFPGA Tool] Critical bug fix for Verilog testbenches for memory bank and frame-based configuration protocol 2020-09-25 21:05:20 -06:00
tangxifan 6bea712db0 [OpenFPGA Tool] Bug fix in creating auto-generated cells using lib_name 2020-09-25 14:54:51 -06:00
tangxifan 8468f25b23 [OpenFPGA Tool] Bug fix in the smart fast configuration strategy 2020-09-24 16:31:55 -06:00
tangxifan 46b12611a9 [OpenFPGA Tool] Bug fix for smart fast configuration 2020-09-23 22:04:07 -06:00
tangxifan 154c9045f6 [OpoenFPGA Tool] Bug fix for smart fast configuration 2020-09-23 21:38:42 -06:00
tangxifan c2c37d7555 [OpenFPGA Tool] Add more print-out for smart fast configuration 2020-09-23 21:34:23 -06:00
tangxifan a3abf81afe [OpenFPGA Tool] Support on set signals and smart selection between reset and set signal for fast configuration 2020-09-23 21:25:06 -06:00
tangxifan 064678fe32 [OpenFPGA Tool] Add edge triggered attribute to circuit library definition. Better support for using CCFF in frame-based protocol 2020-09-23 20:27:52 -06:00
tangxifan ad881ea4dc [OpenFPGA Tool] Bug fix for Verilog testbench using frame-based /memory bank 2020-09-23 18:59:25 -06:00
tangxifan 9adeb550dc [OpenFPGA Tool] Bug fix in fabric builder 2020-09-23 18:28:00 -06:00
tangxifan 6480b06a2d [OpenFPGA tool] Remove out-of-data test blif, architecture and scripts 2020-09-23 11:01:53 -06:00
tangxifan 26f1a5d9ec [OpenFPGA Tool] Bug fix for repacking no local routing architecture 2020-09-21 22:22:03 -06:00
tangxifan c6ac02d210 [FPGA-SPICE] Add VDD/VSS ports to SPICE subckt instanciation 2020-09-20 15:21:33 -06:00
tangxifan 544c44fe46 [FPGA-SPICE] Add VDD and VSS port to module definition 2020-09-20 14:58:15 -06:00
tangxifan 460fef5807 [FPGA-Verilog] Rename files and functions to distinguish from FPGA-SPICE files and functions 2020-09-20 12:58:55 -06:00
tangxifan 222bc86cbf [FPGA-SPICE] Add auxiliary SPICE netlist writer 2020-09-20 12:53:28 -06:00
tangxifan 06c0073a3e [FPGA-SPICE] Add SPICE writer for fpga top module 2020-09-20 12:43:48 -06:00
tangxifan 1dfb3e06cc [FPGA-SPICE] add SPICE writer for logic blocks 2020-09-20 12:38:24 -06:00
tangxifan 5e78e91fdf [FPGA-SPICE] Add SPICE writer for routing blocks 2020-09-20 12:27:48 -06:00
tangxifan 0f25b52907 [FPGA-Verilog] code format fix 2020-09-20 12:18:22 -06:00
tangxifan 2fae311c8e [FPGA-SPICE] Add SPICE writer for memories 2020-09-20 12:14:34 -06:00
tangxifan f284f6f8d0 [OPENFPGA LIBRARY] change method names to be consistent with FPGA-SPICE needs 2020-09-20 12:03:10 -06:00
tangxifan 6801d260e9 [FPGA-SPICE] Add SPICE writer for LUT 2020-09-20 11:58:11 -06:00
tangxifan 0f9fce92b2 [FPGA-SPICE] Add SPICE writer for routing multiplexers 2020-09-20 11:49:02 -06:00
tangxifan c7e3d97d1b [FPGA-SPICE] Add supply voltage generator 2020-09-20 11:19:06 -06:00
tangxifan 15df9b3893 [FPGA-SPICE] Add SPICE subcircuit writer 2020-09-19 23:01:44 -06:00
tangxifan 82e137cbe4 [FPGA-SPICE] Add wire module SPICE writer 2020-09-19 19:31:16 -06:00
tangxifan 1b2762386c [FPGA-SPICE] Bug fix for essential gate netlist writing 2020-09-19 16:52:30 -06:00
tangxifan 26a0a769ea [FPGA-SPICE] Split essential gate SPICE netlists into separated files 2020-09-19 16:45:26 -06:00
tangxifan e102e30d19 [FPGA-SPICE] Add support for AND/OR logic gate 2020-09-19 16:20:21 -06:00
tangxifan 482d90018f [FPGA-SPICE] Create generic PMOS/NMOS instanciation function 2020-09-19 15:33:28 -06:00
tangxifan 3262ceb276 [FPGA-SPICE] Bug fix for pass gate transistor sizing 2020-09-19 15:24:40 -06:00
tangxifan aa078f079c [FPGA-SPICE] Restructured SPICE netlist writers for atom circuits to avoid large cpp files 2020-09-19 15:20:19 -06:00
tangxifan f5dadca884 [FPGA-SPICE] Optimize the print-out of SPICE ports 2020-09-19 15:07:48 -06:00
tangxifan 51d423e4db [FPGA-SPICE] Add pass-gate SPICE netlist writer 2020-09-19 14:59:00 -06:00
tangxifan 9cfb2f52ef [OpenFPGA code] bug fix for fully equivalent outputs of pb_type 2020-09-16 19:26:46 -06:00
tangxifan fc6bfdc7a2 [OpenFPGA Code] Patch syntax compatibility for older gcc 2020-09-14 18:55:21 -06:00
tangxifan 04070fd4ca [Debug aid] add pb_type full hierarchy path in the error message of architecture binding checker 2020-09-02 22:16:10 -06:00
tangxifan 3eea12ceae added a new XML syntax: initial offset for physical mode pin mapping 2020-08-19 14:43:44 -06:00
tangxifan f631245b2b bug fix and enriched debugging info print out 2020-08-19 13:41:04 -06:00
tangxifan 79b6ff3cb0 relax checking for device annotation as we support multi-port during physical mode pin mapping 2020-08-19 12:44:51 -06:00
tangxifan 2712c354a9 now physical pb_port binding support multiple ports 2020-08-18 12:38:56 -06:00
tangxifan 5d83abb2cf bug fix in read architecture bitstream and regression tests 2020-07-27 19:37:05 -06:00
tangxifan 9a7364c6e6 bug fix in fabric bitstream XML syntax 2020-07-27 19:22:36 -06:00
tangxifan 35af0dd676 streamline fabric bitstream file format 2020-07-27 16:34:43 -06:00
tangxifan 8dd26094b8 add root node to fabric bitstream XML file format 2020-07-27 15:31:08 -06:00
tangxifan 6592db3dfe bug fix in calling the wrong function of write_fabric_bitstream 2020-07-27 14:32:58 -06:00
tangxifan d68e77f322 Split the writer of build_fabric_bitstream to a separated command so that users will output multiple files in different formats 2020-07-27 14:16:33 -06:00
tangxifan e09eddab43 add width syntex to the fabric bitstream file format 2020-07-27 13:54:23 -06:00
tangxifan 80e982fb39 minor file format fix in fabric bitstream XML 2020-07-26 21:35:48 -06:00
tangxifan b3ad04fd1e minor file format fix in fabric bitstream XML 2020-07-26 21:33:47 -06:00
tangxifan 861e346830 minor bug fix in fabric bitstream XML writer 2020-07-26 21:31:08 -06:00
tangxifan 5fb7d9fbdb bug fix in fabric bitstream file format writer 2020-07-26 21:28:45 -06:00
tangxifan 92d2d2d849 add fabric bitstream XML writer 2020-07-26 21:00:57 -06:00
tangxifan a3d22c56e3 bug fix in FPGA-SPICE 2020-07-24 19:51:32 -06:00
tangxifan fd3e947c6d update FPGA_SPICE to support max width for transistors and multi-bin 2020-07-24 17:52:31 -06:00
tangxifan 73e2b857a3 add buffer support to FPGA-SPICE 2020-07-24 15:54:18 -06:00
tangxifan 2603836111 split logical tile netlists to keep good Verilog hierarchy 2020-07-24 12:53:21 -06:00
tangxifan be5966475e formulate file name, module name and instance name to be consistent 2020-07-24 12:23:27 -06:00
tangxifan 22159531c5 bug fix in power gating support of FPGA-Verilog 2020-07-22 20:21:38 -06:00
tangxifan a4a38f8156 support multi-bit power gate ports in FPGA-SPICE 2020-07-22 20:04:39 -06:00
tangxifan f573fa3ee0 move check codes on power gate ports to libarchopenfpga
Try to report errors to users as early as possible
2020-07-22 18:47:12 -06:00
tangxifan 97cca72590 add spice support on power gated inverters 2020-07-22 18:21:11 -06:00
tangxifan b5fd6aa859 add inverter subckt writer to FPGA-SPICE 2020-07-17 13:01:08 -06:00
tangxifan eb070694b5 fine-tune on fast configuration for configuration chain and test case for tape-out-ish architecture 2020-07-15 17:52:41 -06:00
tangxifan 66a50742fc use configuration chain in the k4k4 test case to speed up CI 2020-07-15 11:56:11 -06:00
tangxifan 3f14fe62c7 add fast configuration support for configuration chain protocol 2020-07-15 11:44:23 -06:00
tangxifan 1b55dfb441 hotfix on treating the dangling ports in pb_graph for analysis SDC generator 2020-07-09 23:28:42 -06:00
tangxifan 62fd0947f5 using a unified string to replace multi net names to save memory of bitstream database 2020-07-08 16:28:20 -06:00
tangxifan 66e5e141a1 improve fabric key loader to reduce runtime 2020-07-07 10:19:34 -06:00
tangxifan 824b56f14c fabric key can now accept instance name only; decoders are no longer part of the key 2020-07-06 16:42:33 -06:00
tangxifan 462fc0d04e add spice transistor wrapper writer 2020-07-05 14:50:29 -06:00
tangxifan b38ee0e8be add spice writer functions 2020-07-05 13:58:05 -06:00
tangxifan 81171a8f97 start transplanting FPGA-SPICE 2020-07-05 12:10:12 -06:00
tangxifan 1ad6e8292a move constants from verilog domain to common so that FPGA-SPICE can share 2020-07-05 11:39:46 -06:00
tangxifan 7c2a0a6ad2 streamline fabric verilog options 2020-07-05 11:28:14 -06:00
tangxifan 83e26adf90 add module usage types for future FPGA-SPICE development 2020-07-04 22:33:54 -06:00
tangxifan 4f8260a7ba remove obselete codes and update regression tests 2020-07-04 17:31:34 -06:00
tangxifan 033c92c365 precisely reserve memory for child blocks in bitstream manager 2020-07-03 22:47:21 -06:00
tangxifan 46f038c829 bug fix in grid config block allocation 2020-07-03 20:46:04 -06:00
tangxifan f040fc78a9 now reserve blocks in bitstream manager can accurately capture the size 2020-07-03 20:06:12 -06:00
tangxifan 8067a13346 bug fix for memory bank due to encoding bl/wl addresses in fabric bitstream 2020-07-03 15:56:20 -06:00
tangxifan 2a9377b3f4 use encoded address in storage of fabric bitstream to save memory 2020-07-03 15:12:29 -06:00
tangxifan 1f38e17111 bug fix for naming conflicts in mux local encoder and architecture decoders 2020-07-03 14:12:13 -06:00
tangxifan 70d9678578 reserve child block in bistream manager 2020-07-03 14:04:10 -06:00
tangxifan 2783fda344 use index range instead of vector for block bitstream 2020-07-03 11:42:38 -06:00
tangxifan 6ea857ae6c use fast method to inquire number of bits and blocks in bitstream databases 2020-07-03 10:55:25 -06:00
tangxifan 7ca1a5bdc1 Fabric bitstream now allocates vectors in conditions for memory efficiency 2020-07-03 10:17:03 -06:00
tangxifan 8a45e48a1c minor fix 2020-07-02 22:27:48 -06:00
tangxifan 246b4d5ac6 reserve block bits to save memory 2020-07-02 21:52:32 -06:00
tangxifan dee4be96af reserve all the input/output net storage in bitstream manager 2020-07-02 19:17:34 -06:00
tangxifan f97e3bfba6 add timer to openfpga shell 2020-07-02 18:02:33 -06:00
tangxifan 81c9fcb7c0 bug fix when optimizing the fabric bitstream data structure 2020-07-02 16:41:32 -06:00
tangxifan adee87569d enable fast bitstream building by creating a frame view of fabric 2020-07-02 16:25:36 -06:00
tangxifan 9608cefa86 remove id vector in fabric bitstream database and replace with more memory efficient implementation 2020-07-02 16:08:50 -06:00
tangxifan 9f19c36a89 use char in fabric bitstream to save memory footprint 2020-07-02 15:56:50 -06:00
tangxifan 405824081b reserve configuration blocks and bits in bitstream manager builder to be memory efficient 2020-07-02 15:28:52 -06:00
tangxifan b85af57971 optimizing fabric bitsteream memory footprint 2020-07-02 12:39:18 -06:00
tangxifan ac22ba28e4 add config protocol type information to simulation ini file 2020-07-02 12:26:59 -06:00
tangxifan 81ecfa3197 add comments to clarify how to select CB ports when connecting to SBs at the top level 2020-07-01 14:44:40 -06:00
tangxifan 0a3c746fb1 now split CB module bus ports into lower/upper parts 2020-07-01 14:37:13 -06:00
tangxifan cb2baed257 bug fix in simulation ini GPIO width 2020-07-01 13:39:12 -06:00
tangxifan b74dde919d add additional information in the simulation ini file for UVM 2020-07-01 13:07:39 -06:00
tangxifan e688ca1388 update fabric bitstream writer to support various configuration protocols 2020-07-01 11:54:28 -06:00
tangxifan 1015880d0e use easy-to-access net look up in switch block module builder 2020-06-30 18:15:41 -06:00
tangxifan 05187f8aa4 use typedef to short the module pin information 2020-06-30 18:07:22 -06:00
tangxifan 2e7684b746 adapt bus ports in connection block module builder 2020-06-30 17:50:53 -06:00
tangxifan 2ef083c49d adapt SB module builder to use bus ports 2020-06-30 16:02:40 -06:00
tangxifan f023652ac4 keep optimizing memory footprint of module manager by using net terminal storage 2020-06-30 14:18:05 -06:00
tangxifan f49cabeeda optimize memory efficiency for module net id storage 2020-06-30 11:33:06 -06:00
tangxifan 23bcad0678 use more robust net builder in inter tile connections 2020-06-30 10:49:17 -06:00
tangxifan 025d4a3599 use efficient net builder in top module connection builder 2020-06-29 23:28:26 -06:00
tangxifan e7d5736269 add profile time to top module builder for better spot on runtime/memory overhead sources 2020-06-29 23:17:03 -06:00
tangxifan 57e6c84252 add reserve net sources and sinks to module manager 2020-06-29 22:49:11 -06:00
tangxifan 66746f69da optimizing memory efficiency by reserving nets in module manager 2020-06-29 21:27:43 -06:00
tangxifan e9937954f2 optimizing the constant writing in Verilog for single bits 2020-06-29 12:29:25 -06:00
tangxifan 9d32a5b81f add alias name support for fabric key 2020-06-27 14:59:53 -06:00
tangxifan ebf5636e7b add verbose output to edge sorting for GSBs 2020-06-26 17:10:51 -06:00
tangxifan aded675633 rename files in fpga bitstream library to be consistent with conventions 2020-06-21 13:06:39 -06:00
tangxifan d526f08782 deploy bitstream reader in openfpga shell 2020-06-20 18:48:19 -06:00
tangxifan 675a59ecb8 Move fpga_bitstream to the libopenfpga library and add XML reader 2020-06-20 18:25:17 -06:00
tangxifan 5d79a3f69f critical bug fixed when annotating the routing results.
Add previous node check. This is due to that some loops between SB/CBs may exist
when routing congestion is high, which leads to same nets appear in the inputs
of a routing multiplexer. Actually one of them is driven by the other as a downstream node
Using previous node check can identify which one to pick
2020-06-17 11:17:57 -06:00
tangxifan 4f7e8020a8 minor fix on the format of arch bitstream writer 2020-06-17 00:08:28 -06:00
tangxifan b91c30191a add input and output net echo in arch bitstream database 2020-06-17 00:04:55 -06:00
tangxifan 19c0b57df6 ignore invalid nets when decoding bitstream 2020-06-16 22:26:36 -06:00
tangxifan 9d0e002532 echo path in architecture bitstream database 2020-06-16 21:29:45 -06:00
ganeshgore 559564c333 Merge remote-tracking branch 'lnis_origin/dev' into ganesh_dev 2020-06-12 17:31:14 -06:00
tangxifan a5055e9d26 add support about loading external fabric key 2020-06-12 13:03:11 -06:00
tangxifan 9dbf536306 add shuffled configurable children support for top module 2020-06-12 11:16:53 -06:00
tangxifan cf9c3b0f44 add write fabric to test cases 2020-06-12 10:50:23 -06:00
tangxifan 3499b4d3e7 add fabric key writer for top-level module 2020-06-12 10:41:34 -06:00
tangxifan 278acee216 bug fix for 'build_fabric' command 2020-06-11 23:59:24 -06:00
tangxifan 9167b288b6 add options for fabric key 2020-06-11 21:50:46 -06:00
tangxifan 8a4ec85c39 add configurable children-related methods to module manager 2020-06-11 21:44:25 -06:00
tangxifan 58807bfcb3 remove simulation settings from openfpga arch data structure 2020-06-11 19:31:16 -06:00
tangxifan 96b58dfdbb use new simulation setting command in openfpga shell 2020-06-11 19:31:15 -06:00
tangxifan 4a2f6dfae2 add read/write simulation setting commands to openfpga shell 2020-06-11 19:31:15 -06:00
tangxifan 3c10af7f2b bug fixed in memory bank configuration protocol which is due to the wrong Verilog port merging algorithm 2020-06-11 19:31:14 -06:00
tangxifan 8267dad8ef add decoder support for Z signals 2020-06-11 19:31:14 -06:00
tangxifan 5368485bd6 keep bug fixing for memory bank configuration protocol. Reduce number of BL/WLs at the top-level 2020-06-11 19:31:14 -06:00
tangxifan c85ccceac7 try bug fixing in memory bank configuration protocol 2020-06-11 19:31:14 -06:00
tangxifan 0bee70bee6 finish memory bank configuration protocol support. 2020-06-11 19:31:13 -06:00
tangxifan e14c39e14c update Verilog full testbench generation to support memory bank configuration protocol 2020-06-11 19:31:13 -06:00
tangxifan 51e1559352 add fabric bitstream support for memory bank configuration protocol 2020-06-11 19:31:13 -06:00
tangxifan 0e16ee1030 add configuration bus nets for memory bank decoders at top module 2020-06-11 19:31:13 -06:00
tangxifan fa8dfc1fbd add configuration protocol ports to top module for memory bank organization 2020-06-11 19:31:13 -06:00
tangxifan ad7422359d deploy compact constant values in Verilog codes 2020-06-11 19:31:13 -06:00
tangxifan 8ec8ac4118 bug fixed in flatten memory organization. Passed verification 2020-06-11 19:31:12 -06:00
tangxifan b9aac3cbdf updated fpga verilog testbench generation to support vanilla (standalone) configuration protocol 2020-06-11 19:31:12 -06:00
tangxifan fbe05963e0 add configuration bus builder for flatten memory organization (applicable to memory bank and standalone configuration protocol) 2020-06-11 19:31:12 -06:00
tangxifan d2d443a988 start developing memory bank and standalone configuration protocol 2020-06-11 19:31:12 -06:00
tangxifan 9e176b8d38 add fast configuration stats to log 2020-06-11 19:31:12 -06:00
tangxifan 8b3e79766c add fast configuration option to fpga_verilog to speed up full testbench simulation 2020-06-11 19:31:12 -06:00
tangxifan b5e5182f52 frame-based configuration protocol is working on k4n4 arch now. Spot bugs in iVerilog about negedge flip-flops 2020-06-11 19:31:11 -06:00
tangxifan 31c9a011dd keep bug fixing for arch decoders 2020-06-11 19:31:11 -06:00
tangxifan bdc9efb38f bug fix in top-level testbench for frame-based decoders 2020-06-11 19:31:11 -06:00
tangxifan 986956e474 bug fix for arch decoder Verilog codes. Now Modelsim compiles ok. 2020-06-11 19:31:11 -06:00
tangxifan 6a72c66eb8 bug fixed for frame-based configuration memory in top-level full testbench 2020-06-11 19:31:11 -06:00
tangxifan 8aa665b3b2 bug fix in the Verilog codes for frame decoders 2020-06-11 19:31:10 -06:00
tangxifan 8298bbff78 bug fixed in the fabric bitstream for frame-based configurable memories. 2020-06-11 19:31:10 -06:00
tangxifan bf9f62f0f7 keep bug fixing for frame-based configuration protocol. 2020-06-11 19:31:10 -06:00
tangxifan 65df309419 bug fixing for frame-based configuration protocol and rename some naming function to be generic 2020-06-11 19:31:10 -06:00
tangxifan ece651ade2 bug fixed in the configuration chian errrors 2020-06-11 19:31:10 -06:00
tangxifan cff5b5cfc1 break the configuration testbench. This commit is to spot which modification leads to the problem 2020-06-11 19:31:10 -06:00
tangxifan 85921dcc05 add fabric bitstream builder for frame-based configuration protocol 2020-06-11 19:31:10 -06:00
tangxifan 4a0e1cd908 add fabric bitstream data structure and deploy it to Verilog testbench generation 2020-06-11 19:31:10 -06:00
tangxifan 8c14cced84 start improve fabric bitstream database to support frame-based configuration protocol 2020-06-11 19:31:09 -06:00
tangxifan 5c5a044c68 add architecture decoder (for frame-based config memory) to Verilog writer 2020-06-11 19:31:09 -06:00
tangxifan c696e3d20f refine frame-based memory addition to compact the area 2020-06-11 19:31:09 -06:00
tangxifan ed2325ec9e add frame decoder build-up to top-level module 2020-06-11 19:31:09 -06:00
tangxifan 290dd1a8a6 add frame decoder builder to all the module graph builder except the top-level 2020-06-11 19:31:09 -06:00
tangxifan 8864920460 add frame-based memory module builder 2020-06-11 19:31:09 -06:00
tangxifan 3a26bb5eef add advanced check in configurable memories 2020-06-11 19:31:09 -06:00
tangxifan bba476fef4 add explicit port mapping support to Verilog testbench generator 2020-06-11 19:31:07 -06:00
tangxifan e089b0ef22 use constant string for inverted port naming 2020-06-11 19:31:07 -06:00
tangxifan 8915d10d27 add verbose output option to configure port disable timing writer 2020-06-11 19:31:07 -06:00
tangxifan 6177921d4c bug fixed in configure port disable timing. Now we disable the right ports of LUTs 2020-06-11 19:31:07 -06:00
tangxifan f52b5d5b4c use error code in read_arch command 2020-06-11 19:31:07 -06:00
tangxifan e9ceedb01b use constant openfpga context in SDC generator 2020-06-11 19:31:07 -06:00
tangxifan 067d09f954 bug fix for configure port disable_timing writer 2020-06-11 19:31:06 -06:00
tangxifan 13f591cacf add new command to disable timing for configure ports of programmable modules 2020-06-11 19:31:06 -06:00
tangxifan ae9f1fbd90 critical bug fixed in the disable MUX output 2020-06-11 19:31:06 -06:00
tangxifan 99751b84f5 bug fix in configuration chain sdc writer 2020-06-11 19:31:06 -06:00
tangxifan 02e86c565a bug fix in configuration chain SDC writer 2020-06-11 19:31:06 -06:00
tangxifan 4c0953415b add configuration chain sdc writer 2020-06-11 19:31:06 -06:00
tangxifan dad99d13a2 bug fixed in SDC timing writer for primitive pb_type 2020-06-11 19:31:06 -06:00
tangxifan 8d2360a710 simplify include_netlist.v 2020-06-11 19:31:05 -06:00
tangxifan b8a79c563d bug fix in the SDC port generation 2020-06-11 19:31:05 -06:00
tangxifan 84d24ad075 bug fix in pnr sdc grid writer for module paths in hierarchical view 2020-06-11 19:31:05 -06:00
tangxifan 99fa51cb49 bug fixed in the SDC CB hierarchy writer 2020-06-11 19:31:05 -06:00
tangxifan 10e1a4b2fe format fix in the fabric hierarchy and grid SDC hierarchy to be complaint to YAML format 2020-06-11 19:31:05 -06:00
tangxifan cc6d988872 bug fix in grid SDC generator 2020-06-11 19:31:05 -06:00
tangxifan b167c85980 fully expand grid hierarchy in SDC writer 2020-06-11 19:31:05 -06:00
tangxifan 55518f4cec minor fix in the sdc hierarchy writer for grids 2020-06-11 19:31:05 -06:00
tangxifan b57a90a6ca add SDC hierarchy writer for grids and now support flatten hierarchy in grid timing constraints 2020-06-11 19:31:05 -06:00
tangxifan 5a8c05378e add --depth option to fabric hierarchy writer 2020-06-11 19:31:04 -06:00
tangxifan d9dc7160a7 minor fix on the hierarchy writer in SDC generator 2020-06-11 19:31:04 -06:00
tangxifan 17c254a370 add missing file to follow up the previous commit 2020-06-11 19:31:04 -06:00
tangxifan c651df6421 add hierarchy writer to SDC generator 2020-06-11 19:31:04 -06:00
tangxifan 6aff33dd35 add fabric hierarchy writer 2020-06-11 19:31:04 -06:00
tangxifan 0985c720e9 remove regexp in SDC generation. 2020-06-11 19:31:04 -06:00
tangxifan 8726c618eb add time unit support on SDC generator. Now users can define time_unit thru cmd-line options 2020-06-11 19:31:03 -06:00
tangxifan 0e44cf3ea3 now SDC to disable routing multiplexer outputs can use wildcards 2020-06-11 19:31:03 -06:00
tangxifan 609115e51f now hierarchical SDC generation is applicable to CB timing constraints 2020-06-11 19:31:03 -06:00
tangxifan 7e82c23f52 now add SDC generator supports both hierarchical and flatten in writing timing constraints 2020-06-11 19:31:03 -06:00
tangxifan 7503c58fb2 small fix on SDC generator for SB which do not exist in FPGA 2020-06-11 19:31:02 -06:00
tangxifan d0793d9029 now disable_sb_output support wildcard 2020-06-11 19:31:02 -06:00
tangxifan 8695c5ee78 add options to use general-purpose wildcards in SDC generator 2020-06-11 19:31:02 -06:00
tangxifan facd87dafe use wildcard in SDC generation for multiple-instanced-blocks 2020-06-11 19:31:02 -06:00
tangxifan 1e2226e1c3 now use explicit port mapping in the verilog testbenches for reference benchmarks 2020-06-11 19:31:02 -06:00
tangxifan 69306faf22 add a new include netlist for all the fabric-related netlists 2020-06-11 19:31:01 -06:00
tangxifan 8f5a684b10 removed redundant include files in all the verilog netlists except the top one 2020-06-11 19:28:13 -06:00
tangxifan 185e574738 removed redundant include files in all the verilog netlists except the top one 2020-04-24 20:21:32 -06:00
tangxifan e811f8bb21 plug in netlist manager and now the include_netlist appears in one unique file 2020-04-23 20:42:11 -06:00