Altera_Forum
Honored Contributor
17 years agoQUIP: add_new_cell supports only subset of architecture?
I was hoping that ::quartus::chip_editor::add_new_cell would allow me to add any valid cell in the device, but it seems to primarily (or only?) support LCCOMB and LCFF cells.
In particular, I would like to be able to add any BLOCK_INSTANCE defined in the appropriate architecture file, in my case quip_v60/data/architectures/stratixii.arch. (I'll temporarily ignore the fact that the block names don't map very consistently between the architecture definition and Quartus. Furthermore, I confess to still being fairly new to Altera architectures.) Consider any of the following attempts for valid blocks in the EP2S60F1020C3. This works as expected:add_new_cell -cell_name new_cell -location LCCOMB_X1_Y1_N0 -comb This throws no exceptions, but nevertheless reports "Error: Encountered an unknown error while attempting to execute the ECO command": add_new_cell -cell_name new_cell -location IOC_X0_Y2_N0 This reports "Internal Error: Sub-system: CUT, File: /quartus/db/cut/cut_atom_io.cpp, Line: 3118\n IBUF atom can be created only on Stratix II or later families", complete with stack trace (and by the way, this is a Stratix II): add_new_cell -cell_name new_cell -location IOC_X0_Y2_N0 -ibuf Since IOs tend to have COMBOUT outputs, I wondered if perhaps the -comb could appease the software. This throws no exceptions, but nevertheless reports "Error: Can't move atom |cellins|new_cell" (who said anything about moving?): add_new_cell -cell_name new_cell -location IOC_X0_Y2_N0 -comb And likewise with IOC_X0_Y2_N4, PIN_D30, MRAM_X51_Y20, DLL_X48_Y52_N0, ... I do see that there's an add_new_io function, but it claims to be reserved for earlier architectures. Which brings me back to my primary question: Is there no way for me to instantiate arbitrary blocks that exist in the device?