Tim Edwards
05/25/2024, 2:59 PMTroy Benjegerdes
05/25/2024, 3:35 PMTim Edwards
05/25/2024, 3:38 PMArman Avetisyan
05/25/2024, 3:38 PMTim Edwards
05/25/2024, 3:39 PMTroy Benjegerdes
05/25/2024, 3:39 PMTim Edwards
05/25/2024, 3:39 PMTroy Benjegerdes
05/25/2024, 3:43 PMTroy Benjegerdes
05/25/2024, 3:50 PMTroy Benjegerdes
05/25/2024, 3:51 PMOr Dicker
05/25/2024, 4:26 PMTim Edwards
05/25/2024, 4:29 PMBorivoje Nikolic
05/25/2024, 4:50 PMOr Dicker
05/26/2024, 5:32 AMTroy Benjegerdes
05/26/2024, 4:32 PMyrrapt
05/26/2024, 6:42 PMFelicia Guo
05/27/2024, 5:04 PM.bashrc
straight out of the workspace clone will not work for your environment. Paths must be updated for your specific machine/server per https://bag3-readthedocs.readthedocs.io/en/latest/workspaces/ .
4. BAG3++ is capable of generating a GDS without the use of virtuoso, as well as a .cdl
netlist. For example, for a bag3_digital
inverter that comes with the BAG Skywater workspace, one can run: ./gen_cell.sh data/bag3_digital/specs_blk/inv_chain/gen.yaml -raw -netlist
. The .cdl
and the .gds
will show up in the respective folder pointed to in the root_dir
field of the yaml file. We do not currently have a Berkeley-supported open source schematic interface.Troy Benjegerdes
05/27/2024, 5:18 PMFelicia Guo
05/28/2024, 2:39 AMTroy Benjegerdes
05/28/2024, 11:49 AMFelicia Guo
05/29/2024, 4:30 AMBorivoje Nikolic
05/29/2024, 5:10 AMNorman Méndez
05/29/2024, 9:06 PMpybag
compiled on Ubuntu (couldn't get HDF5 warning sorted out), when attempting to generate an inverter:Norman Méndez
05/29/2024, 9:08 PMWARNING: Error registering BLOSC filter for HDF5. Default to LZF
creating BAG project
*WARNING* invalid literal for int() with base 10: ''. Operating without Virtuoso.
computing layout...
[2024-05-29 16:50:09.996] [STDCellWrapper] [warning] ports on private layer 0 detected, converting to primitive ports.
[2024-05-29 16:50:09.997] [STDCellWrapper] [warning] ports on private layer 0 detected, converting to primitive ports.
[2024-05-29 16:50:09.997] [STDCellWrapper] [warning] ports on private layer 2 detected, converting to primitive ports.
[2024-05-29 16:50:09.997] [STDCellWrapper] [warning] ports on private layer 2 detected, converting to primitive ports.
computation done.
creating layout...
Traceback (most recent call last):
File "BAG_framework/run_scripts/gen_cell.py", line 82, in <module>
run_main(_prj, _args)
File "BAG_framework/run_scripts/gen_cell.py", line 68, in run_main
gen_netlist=args.gen_netlist)
File "/home/nmendez/asic/bag3_skywater130_workspace/BAG_framework/src/bag/core.py", line 479, in generate_cell
square_bracket=square_bracket)
File "/home/nmendez/asic/bag3_skywater130_workspace/BAG_framework/src/bag/layout/template.py", line 153, in batch_layout
self.batch_output(output, info_list, **kwargs)
File "/home/nmendez/asic/bag3_skywater130_workspace/BAG_framework/src/bag/util/cache.py", line 720, in batch_output
lay_map = get_gds_layer_map()
File "/home/nmendez/asic/bag3_skywater130_workspace/BAG_framework/src/bag/env.py", line 223, in get_gds_layer_map
raise ValueError(f'{ans} is not a file.')
ValueError: /home/nmendez/asic/bag3_skywater130_workspace/skywater130/gds_setup/gds.layermap is not a file.
> /home/nmendez/asic/bag3_skywater130_workspace/BAG_framework/src/bag/env.py(223)get_gds_layer_map()
-> raise ValueError(f'{ans} is not a file.')
(Pdb)
gds.layermap is a symbolic link, which points to ../workspace_setup/PDK/VirtuosoOA/libs/s8phirs_10r/s8phirs_10r.layermap
Felicia Guo
05/30/2024, 3:43 AMopen
branch of the skywater130
submodule in the bag workspace? I just adapted the open source layermap into a gds.layermap file.Norman Méndez
05/30/2024, 6:45 PMNorman Méndez
05/30/2024, 10:00 PMgds
generated of the top level 8-bit ADC according to this inventory.
Couldn't check DRC yet (I don't know if it's the same rule deck), got my setup mixed up with volare
and open_pdks
, I'll try later.Troy Benjegerdes
05/30/2024, 10:37 PMTim Edwards
05/31/2024, 12:58 AMBorivoje Nikolic
05/31/2024, 4:14 AMBorivoje Nikolic
05/31/2024, 4:25 AMFelicia Guo
05/31/2024, 4:56 AMDATA_OUT<9:1>
VDD VSS CLK IN_N IN_P VREF<2> VREF<1> VREF<0>
When I tested the bits I only used DATA_OUT<9:1>
- so 9 bits of output to make 8 bits of resolution. The last bit is an artifact from when this ADC was originally asynchronous, so should not be used. The capacitors are weighted for redundancy, so from largest to smallest the weights were [112, 64, 36, 20, 12, 6, 3, 2, 1]
. Also the input clock must be 11x your desired sample rate (ex put 176MHz into CLK if you want 16MHz sample frequency, the system is synchronous). VREF<2:0>
correspond to higher DC bias level, common-mode level, and lower DC bias level respectively for a differential ADC setup.Tim Edwards
06/01/2024, 2:05 PMOr Dicker
06/05/2024, 12:07 PMOr Dicker
06/05/2024, 12:08 PMTim Edwards
06/05/2024, 4:41 PMstd::optional
, although it was not the same error as shown in your screenshot. See the README file in Norman's repository, section 8 "Building cbag and pybag".Or Dicker
06/06/2024, 7:53 AMMatt Venn
02/12/2025, 11:49 AMTim Edwards
02/12/2025, 2:46 PMMatt Venn
02/12/2025, 3:45 PM