Commit Graph

320 Commits

Author SHA1 Message Date
tangxifan d11a3d9fef [Tool] Avoid outputting signal initialization codes because they are bulky 2020-12-06 14:29:16 -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 4aa6264b1c [Tool] Rework simulation time period to be sync with actual stimuli 2020-12-02 22:58:13 -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 dcb50e4f19 [Tool] Use use standard data structure to store global port information 2020-11-10 19:07:28 -07:00
tangxifan ba0120bd76 [Tool] Remove the limitation on requiring Qb ports for CCFF 2020-11-06 11:10:04 -07:00
tangxifan 37c10f0cb5 [Tool] Add mappable I/O support and enhance I/O support 2020-11-04 20:21:49 -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 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 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 1ef0898f41 [Tool] Now users can specify a different fabric netlist when generating Verilog testbench 2020-10-12 12:31:51 -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 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 460fef5807 [FPGA-Verilog] Rename files and functions to distinguish from FPGA-SPICE files and functions 2020-09-20 12:58:55 -06:00
tangxifan 0f25b52907 [FPGA-Verilog] code format fix 2020-09-20 12:18:22 -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 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 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 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 6ea857ae6c use fast method to inquire number of bits and blocks in bitstream databases 2020-07-03 10:55:25 -06:00
tangxifan 9f19c36a89 use char in fabric bitstream to save memory footprint 2020-07-02 15:56:50 -06:00
tangxifan ac22ba28e4 add config protocol type information to simulation ini file 2020-07-02 12:26:59 -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 e9937954f2 optimizing the constant writing in Verilog for single bits 2020-06-29 12:29:25 -06:00
ganeshgore 559564c333 Merge remote-tracking branch 'lnis_origin/dev' into ganesh_dev 2020-06-12 17:31:14 -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 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 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 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 4a0e1cd908 add fabric bitstream data structure and deploy it to Verilog testbench generation 2020-06-11 19:31:10 -06:00
tangxifan 5c5a044c68 add architecture decoder (for frame-based config memory) to Verilog writer 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 8d2360a710 simplify include_netlist.v 2020-06-11 19:31:05 -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
tangxifan a7d900088b now generating simulation ini file will try to create directory first 2020-04-15 20:53:37 -06:00
tangxifan 2ffd174e6a fixed a bug in single mode FPGA; add arch to regression test; deploy full testbench verification on Travis CI 2020-04-15 15:48:33 -06:00
tangxifan 1fb37f4c71 improve directory creator to support same functionality as 'mkdir -p' 2020-04-08 12:55:09 -06:00
tangxifan 3369d724e9 bug fixing in Verilog top-level testbench generation 2020-04-05 17:50:11 -06:00
tangxifan decc1dc4b2 debugged global gp input/output port support 2020-04-05 17:39:30 -06:00
tangxifan 5f4e7dc5d4 support gpinput and gpoutput ports in module manager and circuit library 2020-04-05 16:52:21 -06:00
tangxifan bc47b3ca94 update verilog module writer to the global spy ports 2020-04-05 16:04:13 -06:00
tangxifan 836f722f20 start supporting global output ports in module manager 2020-04-05 15:19:46 -06:00
tangxifan ff9cc50527 relax I/O circuit model checking to fit AIB interface. Adapt testbench generation for multiple types of I/O pads 2020-03-27 20:09:50 -06:00
tangxifan 4bf0a63ae6 bug fixed for multiple io types defined in FPGA architectures 2020-03-27 16:32:15 -06:00
tangxifan 0c7aa2581d update vpr8 version with hotfix on undriven pins in GSB 2020-03-08 14:58:56 -06:00
tangxifan 7fcd27e000 now we give explicit instance name to each interconnect inside grid. Thus resolve the problem in sdc writer 2020-03-03 12:29:58 -07:00
tangxifan 80bb2baae5 start verification and bug fixing 2020-02-28 14:29:01 -07:00
tangxifan 65c81e14b2 add simulation ini file writer 2020-02-27 18:01:47 -07:00
tangxifan ae899f3b11 bug fixed for clock names 2020-02-27 16:51:55 -07:00
tangxifan 9b769cd8e4 bug fix for using renamed i/o names 2020-02-27 16:37:20 -07:00
tangxifan b010fc1983 add warning to force formal_verification_top_netlist enabled 2020-02-27 13:28:21 -07:00
tangxifan 078f72320f debugging Verilog testbench generator. Bug spotted in using renamed atom_block and clock ports 2020-02-27 13:24:26 -07:00
tangxifan f558405887 ported verilog testbench generator online. Split from fabric generator. Testing to be done 2020-02-27 12:33:09 -07:00
tangxifan 77529f4957 adapt top Verilog testbench generation 2020-02-26 21:30:21 -07:00
tangxifan bb671acac3 add formal random Verilog testbench generation 2020-02-26 20:58:16 -07:00
tangxifan e9adb4fdbc add preconfig top module Verilog generation 2020-02-26 20:38:01 -07:00
tangxifan 25e0583636 add io location map data structure and start porting verilog testbench generator 2020-02-26 17:10:57 -07:00
tangxifan 60f40a9657 use constant module manager as much as possible in Verilog writer 2020-02-16 16:35:26 -07:00
tangxifan 11775c370b bring FPGA top module verilog writer online. Fabric Verilog generator done 2020-02-16 16:18:14 -07:00
tangxifan e37ac8a098 add grid module Verilog writer 2020-02-16 16:04:41 -07:00
tangxifan c20caa1fa3 routing module Verilog writer is online 2020-02-16 14:47:54 -07:00
tangxifan c6c3ef71f3 adapt all the Verilog submodule writers and bring it onlien 2020-02-16 13:35:18 -07:00
tangxifan 99c3712b6f adapt Verilog wire module writer 2020-02-16 12:59:37 -07:00
tangxifan 5cc68b0730 adapt LUT Verilog writer 2020-02-16 12:45:58 -07:00
tangxifan 105ccabecc adapt memroy writer for verilog 2020-02-16 12:41:43 -07:00
tangxifan c9d8120ae0 adapt Verilog mux writer 2020-02-16 12:35:41 -07:00
tangxifan a88c4bc954 add decode utils to libopenfpga and adapt local decoder writer in Verilog 2020-02-16 12:21:59 -07:00
tangxifan 3efd1a2a6d print verilog module writer online 2020-02-16 12:04:03 -07:00
tangxifan cf34339e96 adapt essential gates for submodule generation 2020-02-16 11:57:19 -07:00
tangxifan 2eba882332 put verilog submodules online. ready to bring the how submodule writer online 2020-02-16 11:41:20 -07:00
tangxifan 4cb61e2138 bring preprocessing flag Verilog netlists online 2020-02-16 00:03:24 -07:00
tangxifan 0d5292ad0d adapt verilog writer utils 2020-02-15 23:26:59 -07:00
tangxifan bf54be3d00 add option data structure for FPGA Verilog 2020-02-15 21:39:47 -07:00
tangxifan 8b0df8632c bring fpga verilog create directory online 2020-02-15 20:38:45 -07:00
tangxifan 622c7826d1 start transplanting fpga_verilog 2020-02-15 15:03:00 -07:00