Forum Replies Created
-
AuthorPosts
-
lorenzo_btbwParticipant
<p style=”text-align: left;”>Thanks Xaveer, I’m currently using Klayout engine to convert the gds, I’d just like to have an official support in Nazca.</p>
Btw, is there any new version coming up? It’s 2 years from last update and in the meanwhile some methods have become obsolete in Python, such as dataframe append. This gives me a warning in the layout or layer module (don’t remember exactly which one)Thanks
lorenzo_btbwParticipantDear Xaveer,
after a long debugging session I found it was an if loop causing the reshuffling of the alphabet dictionary. Now it’s all sorted and it works as it should.
Thank you so much
Cheers,
Lorenzo
lorenzo_btbwParticipantI did that but the text doens’t match. is it possible a problem of pickle writing?
I used this code:
with open(font_filename+’.nft’, ‘wb’) as handle:
pickle.dump(nft_tuple, handle, protocol=pickle.HIGHEST_PROTOCOL)
being nft_tuple my structure
- This reply was modified 2 years, 1 month ago by lorenzo_btbw.
- This reply was modified 2 years, 1 month ago by lorenzo_btbw.
- This reply was modified 2 years, 1 month ago by lorenzo_btbw.
- This reply was modified 2 years, 1 month ago by lorenzo_btbw.
- This reply was modified 2 years, 1 month ago by lorenzo_btbw.
lorenzo_btbwParticipantDear Xaveer,
I have an issue though, the characters don’t match when I use nd.text().
Does the font dictionary entries need to be in the same order as yours? If I open the dictionary, it automatically shows me the content ordered with the keys, therefore all font dictionaries are with same order, but if I write something the text is wrong.
Thanks
lorenzo_btbwParticipantUpdate: I made the nft file with a python script.
Thanks
- This reply was modified 2 years, 1 month ago by lorenzo_btbw.
lorenzo_btbwParticipantDear Xaveer,
Can you please explain how to generate a font.nft file with custom font style, please?
I already have the list of polygons (p) with the coordinate points
Thank you
Kind Regards,
Lorenzo
lorenzo_btbwParticipantOk, I figured it out. I just needed to do a pip install klayout from Spyder. I was confused by an old post in the Klayout forum. So far the module works.
Can you please share an example on extracting the cell from nazca and edit with klayout module?
Thank you
- This reply was modified 2 years, 1 month ago by lorenzo_btbw.
lorenzo_btbwParticipantAre you using the Klayout python through the macro DRC window or do you use an external IDE such as Spyder and import the Klayout Python Library? I couldn’t make it work (import klayout library in spyder) in Windows, only under Linux.
Your approach of using the raw polygon extracted from Nazca is better as, correctly if I’m wrong, within the same script you generate the cells in Nazca and manipulate them with Klayout engine, then you make the gds
Thank you
Lorenzo
24 February 2022 at 14:37 in reply to: Iterate over a cell and return polygons from child cell #6720lorenzo_btbwParticipanthi garbagebag, I’m interested in coding nazca and klayout with the same script.py. So far I was able to generate the gds with nazca and then manipulate on klayout within the same script. My question is, do you use those platform in Windows or Linux? I could make it work only on Linux but I’d prefer to use Windows.
Thanks
lorenzo_btbwParticipantDear Ronald,
I hope this is the correct thread. I have a gds with sub-cells and I want to add structures coded in nazca inside some subcells. So let’s say the gds has a tree like this:
- top_cell
- sub_cell
- Device
- sub_cell
whereas my coded cell is ‘Nazca_device’.
I want to add an instance of ‘Device’ in ‘Nazca_device’. I use:
Import_gds = load_gds(filename=’top_cell’, asdict=True, topcellsonly=False)
Import_gds[‘top_cell’].put()
cell_top = ‘top_cell’
to have the full tree. By using the script you wrote in #6612, I can locate the position of ‘org pointer’ of ‘Device’ respect the top cell ‘top_cell’.
for params in nd.cell_iter(cell_top):
if params.cell_start: # check if we are on a cell_open pass (or check for a cell_close).
if params.cell.cell_name == “Device”: # check if we are in the right cell
pointer, flip = params.transflip_glob # get cell’s translation (pointer) and flip w.r.t. cell_top
for name, pin in params.cell.pin.items(): # print all pin names and locations
print(name, pointer.copy().move_ptr(pin.pointer)) # add pin position in the cell to the cell translation.
But I’d like instead to add pins to the cell ‘Device’ and then put an instance of ‘Nazca_device’ in ‘Device’. How can I do that?
thank you
Kind regards,
Lorenzo
- This reply was modified 2 years, 2 months ago by lorenzo_btbw.
lorenzo_btbwParticipantWOW! This blew my mind, I want to cry…ahaha. Just tried this utility, simply perfect! This was the last ’tile’ keeping me on switching from L-Edit to Nazca+Klayout…
Thank you so much!
Lorenzo
lorenzo_btbwParticipantThanks Ronald,
that’s a great news, in the meanwhile I wrote the lyp manually, not the best solution but it worked!
thanks again,
Lorenzo
lorenzo_btbwParticipantThanks Katarzyna, very helpful!
One more question, in the Cell definition by enabling autobbox, the cell will be surrounded by a box. Now, is it possible to get dimension and position of this box?
thank you again
Lorenzo
lorenzo_btbwParticipantHi, is it possible to change the layer number of an imported gds file?
thanks
-
AuthorPosts