• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. *Error* blankstrp: argument #1 should be a string (type...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 149
  • Views 1808
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

*Error* blankstrp: argument #1 should be a string (type template = "t") - nil

HT202501152226
HT202501152226 10 months ago

Hi all,

While I try to run the simulation, virtuoso window appears below error messages(black box).

I have checked all the schematic parameters, they looks fine though.

Can somebody help me to figure out what is going on.

Error message:

*Error* blankstrp: argument #1 should be a string (type template = "t") - nil

Thanks in advance.

  • Cancel
  • Andrew Beckett
    Andrew Beckett 10 months ago

    Can you enter this in the CIW:

    sstatus(errsetTrace t)
    _stacktrace=50

    and then repeat the steps that cause the error. You should then hopefully get a stack trace in the CIW when the error occurs - can you please share that?

    Also, please share the result of typing getVersion(t) in the CIW.

    Thanks,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • HT202501152226
    HT202501152226 10 months ago in reply to Andrew Beckett

    Hi Andrew,

    I try to type these two command in the CIW and run it again.

    And the CIW pops up the following errors. But I have no idea what this is.

    Can you give me your suggestions?And I found that when extracting PEX, only extracting parasitic resistance would generate an error——Calibre View generation encountered a fatal Error.
    Please consult the logfile for messages.

    Many thanks.

    Sincerely

    HaoYu

    <<< Stack Trace >>>
    ^^
    SYNTAX ERROR found at line 22 column 1 of file *ciwInPort*
    *Error* lineread/read: syntax error encountered in input
    <<< Stack Trace >>>
    hiDisplayForm(dlgForm)
    let((netlistFile outputLib schematicLib viewName viewType ... ) checkValues (runsetFile = hiCreateStringField(?prompt "CalibreView Setup File:" ?name 'runsetFile ?defValue ... )) (runsetFileBtn = hiCreateButtonBoxField(?name 'runsetFileBtn ?choices list(" Browse " " View " " Load ") ?callback ... )) (netlistFile = hiCreateStringField(?prompt "CalibreView Netlist File:" ?name 'netlistFile ?defValue ... )) ... )
    mgc_rve_setup_calview_dlg(t)
    unless(mgc_rve_setup_calview_dlg(t) (mgc_eview_globals->createCellViewCallBack = nil) return())
    if(((mgc_eview_globals->showCalviewDlg) || blankstrp((mgc_eview_globals->outputLibrary)) || blankstrp((mgc_eview_globals->extViewName)) || blankstrp((mgc_eview_globals->instViewName)) || bShowDlg) then unless(mgc_rve_setup_calview_dlg(t) (mgc_eview_globals->createCellViewCallBack = nil) return()) if(((mgc_eview_globals->cellMapFile) == "") then mgc_eview_warning(sprintf(nil "No cell map file is introuduced, this may cuase some mapping problems."))))
    prog((removeDevicePrefixEnvVar read_mode cellMapFile cellMapType newName ... ) unless(mgc_is_valid_os_for_calibreview() return()) if(mgc_rve_get_defined_var('MGC_CALIBRE_ENABLE_DEBUGGIN_INFO_DUMPING) then (mgc_eview_globals->bEnableDebuggingInfoDumping = t)) (hierFlowEnable = mgc_rve_get_defined_var('PEX_HIERARCHICAL_CALIBREVIEW_PERFORMANCE)) if((hierFlowEnable == "292533") then mgc_eview_print_hier_beta_banner() else when(hierFlowEnable printf("ERROR: The Environment variable PEX_HIERARCHICAL_CALIBREVIEW_PERFORMANCE is not set correctly, Please make sure to set it's value to 292533"))) ... )
    mgc_rve_create_cellview(cf rd netlist)
    return(mgc_rve_create_cellview(cf rd netlist))
    prog(ll(lc lv sl sc sv ... ) (ll = layLibName) (lc = layCellName) (lv = layViewName) (sl = schLibName) ... )
    mgc_rve_create_cellview_lcv("THY" "AMP_LAYOUT_V1" "layout" "THY" "AMP_LAYOUT_V1" ... )
    loadstring(data)
    cond(((strcmp(& "mgc_") == 0) loadstring(data)) (t printf("%s" data)))
    _mgc_rve_socket_process_data_handler(data)
    if((length(lLine) > 1) then foreach(sLine lLine _mgc_rve_socket_process_data_handler(strcat(sLine "\n"))) else _mgc_rve_socket_process_data_handler(data))
    let((lLine) (lLine = parseString(data "\n")) if((length(lLine) > 1) then foreach(sLine lLine _mgc_rve_socket_process_data_handler(&)) else _mgc_rve_socket_process_data_handler(data)))
    mgc_rve_socket_process_read_handler(ipc:1 "mgc_rve_create_cellview_lcv \"THY\" \"AMP_LAYOUT_V1\" \"layout\" \"THY\" \"AMP_LAYOUT_V1\" \"schematic\" \"/home/ic61u104/Project/CALIBRE/THYPEX2/AMP_LAYOUT_V1.pex.netlist\" 1 \"_ci_unspecified_\"\n")

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett 10 months ago in reply to HT202501152226

    That stack trace is from the Siemens EDA Calibre interface, so not sure why that would happen during simulation.

    Perhaps it would be simpler to contact customer support (use Case->Submit Case after logging in) and then we could do a screen-sharing session to take a look.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • HT202501152226
    HT202501152226 10 months ago in reply to Andrew Beckett

    Hi Andrew

    Thank you for your reply. I recently ran and found that the error message has changed. The result is as follows. I hope to get useful information from here

    Many thanks.

    Sincerely

    HaoYu

    *Error* blankstrp: argument #1 should be a string (type template = "t") - nil
    <<< Stack Trace >>>
    blankstrp(netlistFile)
    (checkValues && blankstrp(netlistFile))
    when((checkValues && blankstrp(netlistFile)) when((mgc_eview_globals->calViewLogPort) fprintf((mgc_eview_globals->calViewLogPort) "Netlist file name field cannot be blank.")) printf("Netlist file name field cannot be blank.") hiHighlightField(theForm 'netlistFile 'highlight) hiSetCallbackStatus(theForm 'nil) ... )
    prog((netlistFile outputLib schematicLib cellMapFile calViewLogFile ... ) (netlistFile = ((theForm->netlistFile)->value)) when((checkValues && blankstrp(netlistFile)) when((mgc_eview_globals->calViewLogPort) fprintf(& "Netlist file name field cannot be blank.")) printf("Netlist file name field cannot be blank.") hiHighlightField(theForm 'netlistFile 'highlight) hiSetCallbackStatus(theForm 'nil) ... ) (mgc_eview_globals->netlistFile = netlistFile) (outputLib = ((theForm->outputLib)->value)) ... )
    _mgc_eview_setup_calview_dlg_cb(hiGetCurrentForm() checkValues)
    progn(_mgc_eview_setup_calview_dlg_cb(hiGetCurrentForm() checkValues))
    hiFormClose(dlgForm)
    if(dlgForm then hiFormClose(dlgForm) (dlgForm = nil))
    let((netlistFile outputLib schematicLib viewName viewType ... ) checkValues (runsetFile = hiCreateStringField(?prompt "CalibreView Setup File:" ?name 'runsetFile ?defValue ... )) (runsetFileBtn = hiCreateButtonBoxField(?name 'runsetFileBtn ?choices list(" Browse " " View " " Load ") ?callback ... )) (netlistFile = hiCreateStringField(?prompt "CalibreView Netlist File:" ?name 'netlistFile ?defValue ... )) ... )
    mgc_rve_setup_calview_dlg(t)
    unless(mgc_rve_setup_calview_dlg(t) (mgc_eview_globals->createCellViewCallBack = nil) return())
    if(((mgc_eview_globals->showCalviewDlg) || blankstrp((mgc_eview_globals->outputLibrary)) || blankstrp((mgc_eview_globals->extViewName)) || blankstrp((mgc_eview_globals->instViewName)) || bShowDlg) then unless(mgc_rve_setup_calview_dlg(t) (mgc_eview_globals->createCellViewCallBack = nil) return()) if(((mgc_eview_globals->cellMapFile) == "") then mgc_eview_warning(sprintf(nil "No cell map file is introuduced, this may cuase some mapping problems."))))
    prog((removeDevicePrefixEnvVar read_mode cellMapFile cellMapType newName ... ) unless(mgc_is_valid_os_for_calibreview() return()) if(mgc_rve_get_defined_var('MGC_CALIBRE_ENABLE_DEBUGGIN_INFO_DUMPING) then (mgc_eview_globals->bEnableDebuggingInfoDumping = t)) (hierFlowEnable = mgc_rve_get_defined_var('PEX_HIERARCHICAL_CALIBREVIEW_PERFORMANCE)) if((hierFlowEnable == "292533") then mgc_eview_print_hier_beta_banner() else when(hierFlowEnable printf("ERROR: The Environment variable PEX_HIERARCHICAL_CALIBREVIEW_PERFORMANCE is not set correctly, Please make sure to set it's value to 292533"))) ... )
    mgc_rve_create_cellview(cf rd netlist)
    return(mgc_rve_create_cellview(cf rd netlist))
    prog(ll(lc lv sl sc sv ... ) (ll = layLibName) (lc = layCellName) (lv = layViewName) (sl = schLibName) ... )
    mgc_rve_create_cellview_lcv("THY" "AMP_LAYOUT" "layout" "THY" "AMP_LAYOUT" ... )
    loadstring(data)
    cond(((strcmp(& "mgc_") == 0) loadstring(data)) (t printf("%s" data)))
    _mgc_rve_socket_process_data_handler(data)
    if((length(lLine) > 1) then foreach(sLine lLine _mgc_rve_socket_process_data_handler(strcat(sLine "\n"))) else _mgc_rve_socket_process_data_handler(data))
    let((lLine) (lLine = parseString(data "\n")) if((length(lLine) > 1) then foreach(sLine lLine _mgc_rve_socket_process_data_handler(&)) else _mgc_rve_socket_process_data_handler(data)))
    mgc_rve_socket_process_read_handler(ipc:1 "mgc_rve_create_cellview_lcv \"THY\" \"AMP_LAYOUT\" \"layout\" \"THY\" \"AMP_LAYOUT\" \"schematic\" \"/home/ic61u104/Project/CALIBRE/THYPEX2/AMP_LAYOUT.pex.netlist\" 1 \"_ci_unspecified_\"\n")

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett 10 months ago in reply to HT202501152226

    From this stack trace, this appears to be a bug with the Calibre interface from Siemens EDA. You should contact their customer support. It is certainly failing in their code (the "mgc" prefix is from "Mentor Graphics Corporation" (the previous name of the company).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information