Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calling an verilog module from spice no longer works. #94

Open
d-m-bailey opened this issue Aug 22, 2024 · 2 comments
Open

Calling an verilog module from spice no longer works. #94

d-m-bailey opened this issue Aug 22, 2024 · 2 comments

Comments

@d-m-bailey
Copy link
Contributor

Up to netgen 1.5.269, it's possible to call a verilog module from a spice netlist. Here are the results of the verilog cell compare.

Class XL_brownout_dig (0):  Merged 155 parallel devices.
Class brownout_dig (1):  Merged 155 parallel devices.
Subcircuit summary:
Circuit 1: XL_brownout_dig                                                        |Circuit 2: brownout_dig                                                           
----------------------------------------------------------------------------------|----------------------------------------------------------------------------------
XL_sky130_fd_sc_hd__decap_6 (4->1)                                                |sky130_fd_sc_hd__decap_6 (4->1)                                                   
XL_sky130_fd_sc_hd__fill_2 (22->1)                                                |sky130_fd_sc_hd__fill_2 (22->1)                                                   
XL_sky130_fd_sc_hd__and3_1 (2)                                                    |sky130_fd_sc_hd__and3_1 (2)                                                       
XL_sky130_fd_sc_hd__fill_1 (30->1)                                                |sky130_fd_sc_hd__fill_1 (30->1)                                                   
XL_sky130_fd_sc_hd__inv_2 (4)                                                     |sky130_fd_sc_hd__inv_2 (4)                                                        
XL_sky130_fd_sc_hd__dfstp_1 (13)                                                  |sky130_fd_sc_hd__dfstp_1 (13)                                                     
XL_sky130_fd_sc_hd__clkbuf_4 (9)                                                  |sky130_fd_sc_hd__clkbuf_4 (9)                                                     
XL_sky130_fd_sc_hd__buf_2 (12)                                                    |sky130_fd_sc_hd__buf_2 (12)                                                       
XL_sky130_fd_sc_hd__tapvpwrvgnd_1 (27->1)                                         |sky130_fd_sc_hd__tapvpwrvgnd_1 (27->1)                                            
XL_sky130_fd_sc_hd__decap_3 (36->1)                                               |sky130_fd_sc_hd__decap_3 (36->1)                                                  
XL_sky130_fd_sc_hd__and3b_1 (7)                                                   |sky130_fd_sc_hd__and3b_1 (7)                                                      
XL_sky130_ef_sc_hd__decap_12 (17->1)                                              |sky130_ef_sc_hd__decap_12 (17->1)                                                 
XL_sky130_fd_sc_hd__decap_4 (13->1)                                               |sky130_fd_sc_hd__decap_4 (13->1)                                                  
XL_sky130_fd_sc_hd__decap_8 (14->1)                                               |sky130_fd_sc_hd__decap_8 (14->1)                                                  
XL_sky130_fd_sc_hd__a21o_1 (2)                                                    |sky130_fd_sc_hd__a21o_1 (2)                                                       
XL_sky130_fd_sc_hd__conb_1 (2)                                                    |sky130_fd_sc_hd__conb_1 (2)                                                       
XL_sky130_fd_sc_hd__o21a_1 (1)                                                    |sky130_fd_sc_hd__o21a_1 (1)                                                       
XL_sky130_fd_sc_hd__xor2_1 (3)                                                    |sky130_fd_sc_hd__xor2_1 (3)                                                       
XL_sky130_fd_sc_hd__a21oi_1 (10)                                                  |sky130_fd_sc_hd__a21oi_1 (10)                                                     
XL_sky130_fd_sc_hd__xnor2_1 (2)                                                   |sky130_fd_sc_hd__xnor2_1 (2)                                                      
XL_sky130_fd_sc_hd__nand2_1 (4)                                                   |sky130_fd_sc_hd__nand2_1 (4)                                                      
XL_sky130_fd_sc_hd__or2_1 (2)                                                     |sky130_fd_sc_hd__or2_1 (2)                                                        
XL_sky130_fd_sc_hd__buf_1 (2)                                                     |sky130_fd_sc_hd__buf_1 (2)                                                        
XL_sky130_fd_sc_hd__nor3b_1 (6)                                                   |sky130_fd_sc_hd__nor3b_1 (6)                                                      
XL_sky130_fd_sc_hd__clkbuf_1 (3)                                                  |sky130_fd_sc_hd__clkbuf_1 (3)                                                     
XL_sky130_fd_sc_hd__nor2_2 (1)                                                    |sky130_fd_sc_hd__nor2_2 (1)                                                       
XL_sky130_fd_sc_hd__clkbuf_2 (1)                                                  |sky130_fd_sc_hd__clkbuf_2 (1)                                                     
XL_sky130_fd_sc_hd__and2_1 (4)                                                    |sky130_fd_sc_hd__and2_1 (4)                                                       
XL_sky130_fd_sc_hd__a31o_1 (3)                                                    |sky130_fd_sc_hd__a31o_1 (3)                                                       
XL_sky130_fd_sc_hd__nor3_1 (2)                                                    |sky130_fd_sc_hd__nor3_1 (2)                                                       
XL_sky130_fd_sc_hd__or3b_1 (1)                                                    |sky130_fd_sc_hd__or3b_1 (1)                                                       
XL_sky130_fd_sc_hd__and2b_1 (1)                                                   |sky130_fd_sc_hd__and2b_1 (1)                                                      
XL_sky130_fd_sc_hd__dlymetal6s2s_1 (6)                                            |sky130_fd_sc_hd__dlymetal6s2s_1 (6)                                               
XL_sky130_fd_sc_hd__and4_2 (1)                                                    |sky130_fd_sc_hd__and4_2 (1)                                                       
XL_sky130_fd_sc_hd__clkbuf_16 (3)                                                 |sky130_fd_sc_hd__clkbuf_16 (3)                                                    
XL_sky130_fd_sc_hd__o31a_1 (1)                                                    |sky130_fd_sc_hd__o31a_1 (1)                                                       
XL_sky130_fd_sc_hd__dfrtp_1 (3)                                                   |sky130_fd_sc_hd__dfrtp_1 (3)                                                      
XL_sky130_fd_sc_hd__and4_1 (2)                                                    |sky130_fd_sc_hd__and4_1 (2)                                                       
XL_sky130_fd_sc_hd__a21boi_1 (1)                                                  |sky130_fd_sc_hd__a21boi_1 (1)                                                     
XL_sky130_fd_sc_hd__dlygate4sd3_1 (4)                                             |sky130_fd_sc_hd__dlygate4sd3_1 (4)                                                
XL_sky130_fd_sc_hd__a22o_1 (1)                                                    |sky130_fd_sc_hd__a22o_1 (1)                                                       
XL_sky130_fd_sc_hd__nor2_1 (1)                                                    |sky130_fd_sc_hd__nor2_1 (1)                                                       
XL_sky130_fd_sc_hd__nand2b_1 (1)                                                  |sky130_fd_sc_hd__nand2b_1 (1)                                                     
Number of devices: 129                                                            |Number of devices: 129                                                            
Number of nets: 138                                                               |Number of nets: 138                                                               
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Netlists match uniquely.

Subcircuit pins:
Circuit 1: XL_brownout_dig                                                        |Circuit 2: brownout_dig                                                           
----------------------------------------------------------------------------------|----------------------------------------------------------------------------------
osc_ck                                                                            |osc_ck                                                                            
dcomp                                                                             |dcomp                                                                             
ena                                                                               |ena                                                                               
force_ena_rc_osc                                                                  |force_ena_rc_osc                                                                  
force_dis_rc_osc                                                                  |force_dis_rc_osc                                                                  
force_short_oneshot                                                               |force_short_oneshot                                                               
brout_filt                                                                        |brout_filt                                                                        
otrip[2]                                                                          |otrip[2]                                                                          
vtrip[2]                                                                          |vtrip[2]                                                                          
otrip[1]                                                                          |otrip[1]                                                                          
vtrip[0]                                                                          |vtrip[0]                                                                          
otrip[0]                                                                          |otrip[0]                                                                          
vtrip[1]                                                                          |vtrip[1]                                                                          
otrip_decoded[1]                                                                  |otrip_decoded[1]                                                                  
otrip_decoded[2]                                                                  |otrip_decoded[2]                                                                  
otrip_decoded[4]                                                                  |otrip_decoded[4]                                                                  
otrip_decoded[0]                                                                  |otrip_decoded[0]                                                                  
osc_ena                                                                           |osc_ena                                                                           
outb_unbuf                                                                        |outb_unbuf                                                                        
otrip_decoded[7]                                                                  |otrip_decoded[7]                                                                  
otrip_decoded[3]                                                                  |otrip_decoded[3]                                                                  
otrip_decoded[5]                                                                  |otrip_decoded[5]                                                                  
otrip_decoded[6]                                                                  |otrip_decoded[6]                                                                  
timed_out                                                                         |timed_out                                                                         
vtrip_decoded[3]                                                                  |vtrip_decoded[3]                                                                  
vtrip_decoded[5]                                                                  |vtrip_decoded[5]                                                                  
vtrip_decoded[6]                                                                  |vtrip_decoded[6]                                                                  
vtrip_decoded[1]                                                                  |vtrip_decoded[1]                                                                  
vtrip_decoded[2]                                                                  |vtrip_decoded[2]                                                                  
vtrip_decoded[4]                                                                  |vtrip_decoded[4]                                                                  
vtrip_decoded[0]                                                                  |vtrip_decoded[0]                                                                  
vtrip_decoded[7]                                                                  |vtrip_decoded[7]                                                                  
VGND                                                                              |VGND                                                                              
VPWR                                                                              |VPWR                                                                              
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Cell pin lists are equivalent.
Device classes XL_brownout_dig and brownout_dig are equivalent.

From netgen 1.5.270 these are the results

Class XL_brownout_dig (0):  Merged 155 parallel devices.
Class brownout_dig (1):  Merged 155 parallel devices.
Subcircuit summary:
Circuit 1: XL_brownout_dig                                                        |Circuit 2: brownout_dig                                                           
----------------------------------------------------------------------------------|----------------------------------------------------------------------------------
XL_sky130_fd_sc_hd__decap_6 (4->1)                                                |sky130_fd_sc_hd__decap_6 (4->1)                                                   
XL_sky130_fd_sc_hd__fill_2 (22->1)                                                |sky130_fd_sc_hd__fill_2 (22->1)                                                   
XL_sky130_fd_sc_hd__and3_1 (2)                                                    |sky130_fd_sc_hd__and3_1 (2)                                                       
XL_sky130_fd_sc_hd__fill_1 (30->1)                                                |sky130_fd_sc_hd__fill_1 (30->1)                                                   
XL_sky130_fd_sc_hd__inv_2 (4)                                                     |sky130_fd_sc_hd__inv_2 (4)                                                        
XL_sky130_fd_sc_hd__dfstp_1 (13)                                                  |sky130_fd_sc_hd__dfstp_1 (13)                                                     
XL_sky130_fd_sc_hd__clkbuf_4 (9)                                                  |sky130_fd_sc_hd__clkbuf_4 (9)                                                     
XL_sky130_fd_sc_hd__buf_2 (12)                                                    |sky130_fd_sc_hd__buf_2 (12)                                                       
XL_sky130_fd_sc_hd__tapvpwrvgnd_1 (27->1)                                         |sky130_fd_sc_hd__tapvpwrvgnd_1 (27->1)                                            
XL_sky130_fd_sc_hd__decap_3 (36->1)                                               |sky130_fd_sc_hd__decap_3 (36->1)                                                  
XL_sky130_fd_sc_hd__and3b_1 (7)                                                   |sky130_fd_sc_hd__and3b_1 (7)                                                      
XL_sky130_ef_sc_hd__decap_12 (17->1)                                              |sky130_ef_sc_hd__decap_12 (17->1)                                                 
XL_sky130_fd_sc_hd__decap_4 (13->1)                                               |sky130_fd_sc_hd__decap_4 (13->1)                                                  
XL_sky130_fd_sc_hd__decap_8 (14->1)                                               |sky130_fd_sc_hd__decap_8 (14->1)                                                  
XL_sky130_fd_sc_hd__a21o_1 (2)                                                    |sky130_fd_sc_hd__a21o_1 (2)                                                       
XL_sky130_fd_sc_hd__conb_1 (2)                                                    |sky130_fd_sc_hd__conb_1 (2)                                                       
XL_sky130_fd_sc_hd__o21a_1 (1)                                                    |sky130_fd_sc_hd__o21a_1 (1)                                                       
XL_sky130_fd_sc_hd__xor2_1 (3)                                                    |sky130_fd_sc_hd__xor2_1 (3)                                                       
XL_sky130_fd_sc_hd__a21oi_1 (10)                                                  |sky130_fd_sc_hd__a21oi_1 (10)                                                     
XL_sky130_fd_sc_hd__xnor2_1 (2)                                                   |sky130_fd_sc_hd__xnor2_1 (2)                                                      
XL_sky130_fd_sc_hd__nand2_1 (4)                                                   |sky130_fd_sc_hd__nand2_1 (4)                                                      
XL_sky130_fd_sc_hd__or2_1 (2)                                                     |sky130_fd_sc_hd__or2_1 (2)                                                        
XL_sky130_fd_sc_hd__buf_1 (2)                                                     |sky130_fd_sc_hd__buf_1 (2)                                                        
XL_sky130_fd_sc_hd__nor3b_1 (6)                                                   |sky130_fd_sc_hd__nor3b_1 (6)                                                      
XL_sky130_fd_sc_hd__clkbuf_1 (3)                                                  |sky130_fd_sc_hd__clkbuf_1 (3)                                                     
XL_sky130_fd_sc_hd__nor2_2 (1)                                                    |sky130_fd_sc_hd__nor2_2 (1)                                                       
XL_sky130_fd_sc_hd__clkbuf_2 (1)                                                  |sky130_fd_sc_hd__clkbuf_2 (1)                                                     
XL_sky130_fd_sc_hd__and2_1 (4)                                                    |sky130_fd_sc_hd__and2_1 (4)                                                       
XL_sky130_fd_sc_hd__a31o_1 (3)                                                    |sky130_fd_sc_hd__a31o_1 (3)                                                       
XL_sky130_fd_sc_hd__nor3_1 (2)                                                    |sky130_fd_sc_hd__nor3_1 (2)                                                       
XL_sky130_fd_sc_hd__or3b_1 (1)                                                    |sky130_fd_sc_hd__or3b_1 (1)                                                       
XL_sky130_fd_sc_hd__and2b_1 (1)                                                   |sky130_fd_sc_hd__and2b_1 (1)                                                      
XL_sky130_fd_sc_hd__dlymetal6s2s_1 (6)                                            |sky130_fd_sc_hd__dlymetal6s2s_1 (6)                                               
XL_sky130_fd_sc_hd__and4_2 (1)                                                    |sky130_fd_sc_hd__and4_2 (1)                                                       
XL_sky130_fd_sc_hd__clkbuf_16 (3)                                                 |sky130_fd_sc_hd__clkbuf_16 (3)                                                    
XL_sky130_fd_sc_hd__o31a_1 (1)                                                    |sky130_fd_sc_hd__o31a_1 (1)                                                       
XL_sky130_fd_sc_hd__dfrtp_1 (3)                                                   |sky130_fd_sc_hd__dfrtp_1 (3)                                                      
XL_sky130_fd_sc_hd__and4_1 (2)                                                    |sky130_fd_sc_hd__and4_1 (2)                                                       
XL_sky130_fd_sc_hd__a21boi_1 (1)                                                  |sky130_fd_sc_hd__a21boi_1 (1)                                                     
XL_sky130_fd_sc_hd__dlygate4sd3_1 (4)                                             |sky130_fd_sc_hd__dlygate4sd3_1 (4)                                                
XL_sky130_fd_sc_hd__a22o_1 (1)                                                    |sky130_fd_sc_hd__a22o_1 (1)                                                       
XL_sky130_fd_sc_hd__nor2_1 (1)                                                    |sky130_fd_sc_hd__nor2_1 (1)                                                       
XL_sky130_fd_sc_hd__nand2b_1 (1)                                                  |sky130_fd_sc_hd__nand2b_1 (1)                                                     
Number of devices: 129                                                            |Number of devices: 129                                                            
Number of nets: 138                                                               |Number of nets: 138                                                               
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Netlists match uniquely with port errors.

Subcircuit pins:
Circuit 1: XL_brownout_dig                                                        |Circuit 2: brownout_dig                                                           
----------------------------------------------------------------------------------|----------------------------------------------------------------------------------
osc_ck                                                                            |osc_ck                                                                            
dcomp                                                                             |dcomp                                                                             
ena                                                                               |ena                                                                               
force_ena_rc_osc                                                                  |force_ena_rc_osc                                                                  
force_dis_rc_osc                                                                  |force_dis_rc_osc                                                                  
force_short_oneshot                                                               |force_short_oneshot                                                               
brout_filt                                                                        |brout_filt                                                                        
otrip[2]                                                                          |otrip[2]                                                                          
vtrip[2]                                                                          |vtrip[2]                                                                          
otrip[1]                                                                          |otrip[1]                                                                          
vtrip[0]                                                                          |vtrip[0]                                                                          
otrip[0]                                                                          |otrip[0]                                                                          
vtrip[1]                                                                          |vtrip[1]                                                                          
otrip_decoded[1]                                                                  |otrip_decoded[1]                                                                  
otrip_decoded[2]                                                                  |otrip_decoded[2]                                                                  
otrip_decoded[4]                                                                  |otrip_decoded[4]                                                                  
otrip_decoded[0]                                                                  |otrip_decoded[0]                                                                  
osc_ena                                                                           |osc_ena                                                                           
outb_unbuf                                                                        |outb_unbuf                                                                        
otrip_decoded[7]                                                                  |otrip_decoded[7]                                                                  
otrip_decoded[3]                                                                  |otrip_decoded[3]                                                                  
otrip_decoded[5]                                                                  |otrip_decoded[5]                                                                  
otrip_decoded[6]                                                                  |otrip_decoded[6]                                                                  
timed_out                                                                         |timed_out                                                                         
vtrip_decoded[3]                                                                  |vtrip_decoded[3]                                                                  
vtrip_decoded[5]                                                                  |vtrip_decoded[5]                                                                  
vtrip_decoded[6]                                                                  |vtrip_decoded[6]                                                                  
vtrip_decoded[1]                                                                  |vtrip_decoded[1]                                                                  
vtrip_decoded[2]                                                                  |vtrip_decoded[2]                                                                  
vtrip_decoded[4]                                                                  |vtrip_decoded[4]                                                                  
vtrip_decoded[0]                                                                  |vtrip_decoded[0]                                                                  
vtrip_decoded[7]                                                                  |vtrip_decoded[7]                                                                  
VGND                                                                              |VGND                                                                              
VPWR                                                                              |VPWR                                                                              
(no matching pin)                                                                 |proxy1                                                                            
(no matching pin)                                                                 |proxy2                                                                            
(no matching pin)                                                                 |proxy3                                                                            
(no matching pin)                                                                 |proxy4                                                                            
(no matching pin)                                                                 |proxy5                                                                            
(no matching pin)                                                                 |proxy6                                                                            
(no matching pin)                                                                 |proxy7                                                                            
(no matching pin)                                                                 |proxy8                                                                            
(no matching pin)                                                                 |proxy9                                                                            
(no matching pin)                                                                 |proxy10                                                                           
(no matching pin)                                                                 |proxy11                                                                           
(no matching pin)                                                                 |proxy12                                                                           
(no matching pin)                                                                 |proxy13                                                                           
(no matching pin)                                                                 |proxy14                                                                           
(no matching pin)                                                                 |proxy15                                                                           
(no matching pin)                                                                 |proxy16                                                                           
(no matching pin)                                                                 |proxy17                                                                           
(no matching pin)                                                                 |proxy18                                                                           
(no matching pin)                                                                 |proxy19                                                                           
(no matching pin)                                                                 |proxy20                                                                           
(no matching pin)                                                                 |proxy21                                                                           
(no matching pin)                                                                 |proxy22                                                                           
(no matching pin)                                                                 |proxy23                                                                           
(no matching pin)                                                                 |proxy24                                                                           
(no matching pin)                                                                 |proxy25                                                                           
(no matching pin)                                                                 |proxy26                                                                           
(no matching pin)                                                                 |proxy27                                                                           
(no matching pin)                                                                 |proxy28                                                                           
(no matching pin)                                                                 |proxy29                                                                           
(no matching pin)                                                                 |proxy30                                                                           
(no matching pin)                                                                 |proxy31                                                                           
(no matching pin)                                                                 |proxy32                                                                           
(no matching pin)                                                                 |proxy33                                                                           
(no matching pin)                                                                 |proxy34                                                                           
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Cell pin lists are equivalent.
Device classes XL_brownout_dig and brownout_dig are equivalent.
  Flattening non-matched subcircuits XL_brownout_dig brownout_dig

The proxy pins are causing a mismatch.

The screen output also has this relevant info

Verilog placeholder module brownout_dig replaced by module definition

Subcircuit pins:
Circuit 1: _PLACEHOLDER_                   |Circuit 2: brownout_dig                    
-------------------------------------------|-------------------------------------------
(no matching pin)                          |1                                          
(no matching pin)                          |2                                          
(no matching pin)                          |3                                          
(no matching pin)                          |4                                          
(no matching pin)                          |5                                          
(no matching pin)                          |6                                          
(no matching pin)                          |7                                          
(no matching pin)                          |8                                          
(no matching pin)                          |9                                          
(no matching pin)                          |10                                         
(no matching pin)                          |11                                         
(no matching pin)                          |12                                         
(no matching pin)                          |13                                         
(no matching pin)                          |14                                         
(no matching pin)                          |15                                         
(no matching pin)                          |16                                         
(no matching pin)                          |17                                         
(no matching pin)                          |18                                         
(no matching pin)                          |19                                         
(no matching pin)                          |20                                         
(no matching pin)                          |21                                         
(no matching pin)                          |22                                         
(no matching pin)                          |23                                         
(no matching pin)                          |24                                         
(no matching pin)                          |25                                         
(no matching pin)                          |26                                         
(no matching pin)                          |27                                         
(no matching pin)                          |28                                         
(no matching pin)                          |29                                         
(no matching pin)                          |30                                         
(no matching pin)                          |31                                         
(no matching pin)                          |32                                         
(no matching pin)                          |33                                         
(no matching pin)                          |34                                         
brout_filt                                 |(no matching pin)                          
dcomp                                      |(no matching pin)                          
ena                                        |(no matching pin)                          
force_dis_rc_osc                           |(no matching pin)                          
force_ena_rc_osc                           |(no matching pin)                          
force_short_oneshot                        |(no matching pin)                          
osc_ck                                     |(no matching pin)                          
osc_ena                                    |(no matching pin)                          
outb_unbuf                                 |(no matching pin)                          
timed_out                                  |(no matching pin)                          
VPWR                                       |(no matching pin)                          
VGND                                       |(no matching pin)                          
otrip[2]                                   |(no matching pin)                          
otrip[1]                                   |(no matching pin)                          
otrip[0]                                   |(no matching pin)                          
otrip_decoded[7]                           |(no matching pin)                          
otrip_decoded[6]                           |(no matching pin)                          
otrip_decoded[5]                           |(no matching pin)                          
otrip_decoded[4]                           |(no matching pin)                          
otrip_decoded[3]                           |(no matching pin)                          
otrip_decoded[2]                           |(no matching pin)                          
otrip_decoded[1]                           |(no matching pin)                          
otrip_decoded[0]                           |(no matching pin)                          
vtrip[2]                                   |(no matching pin)                          
vtrip[1]                                   |(no matching pin)                          
vtrip[0]                                   |(no matching pin)                          
vtrip_decoded[7]                           |(no matching pin)                          
vtrip_decoded[6]                           |(no matching pin)                          
vtrip_decoded[5]                           |(no matching pin)                          
vtrip_decoded[4]                           |(no matching pin)                          
vtrip_decoded[3]                           |(no matching pin)                          
vtrip_decoded[2]                           |(no matching pin)                          
vtrip_decoded[1]                           |(no matching pin)                          
vtrip_decoded[0]                           |(no matching pin)                          
---------------------------------------------------------------------------------------

Here's a test case.
test-mixed-signal.tgz

tar xzf test-mixed-signal.tgz
cd test-mixed-signal
netgen -batch source lvs.script 2>&1 | tee lvs.log
@RTimothyEdwards
Copy link
Owner

@d-m-bailey : This isn't a valid LVS setup. You are providing a netlist which has an instance of subcircuit "brownout_dig", for which you have pin connections but no pin names, so there's no way to determine the pin order. To that you attach a verilog module of "brownout_dig" which lists pin names but bears no relationship to the pin order of any SPICE netlist. So there's absolutely no way for netgen to determine what order the pins of "brownout_dig" are supposed to be in the SPICE netlist. You probably need an additional SPICE file with a black-box entry for the "brownout_dig" subcircuit that provides the pin names and order.

@d-m-bailey
Copy link
Contributor Author

@RTimothyEdwards Thanks for checking. What is the best way to handle verilog files called from spice files? Maybe use a spice subckt stub that has the pins in the order expected by the calling instance and then override it with the verilog netlist later (keeping the original port order).

In the current setup, I have manually verified that the spice instance nets correspond to the order of the verilog pins. But as you say, there is no way to programmatically verify that this is correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants