<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.cadence.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>High-Level Synthesis - Recent Threads</title><link>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis</link><description>[b]Moderator:[/b] Dave Pursley</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>To add asynch. reset at Stratus example-1</title><link>https://community.cadence.com/thread/63206?ContentTypeID=0</link><pubDate>Tue, 11 Feb 2025 01:11:16 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:3e392cde-3b67-4dbb-96f4-91ea323acf0a</guid><dc:creator>SC202501247228</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/63206?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/63206/to-add-asynch-reset-at-stratus-example-1/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi I&amp;#39;m newbie in HLS&lt;/p&gt;
&lt;p&gt;For stratus example-1, I have one question.&lt;/p&gt;
&lt;p&gt;I expected that I could add async. reset for all f/f/ but I couldn&amp;#39;t add at the output data registers while all other f/fs were synthesized with async. reset.&lt;/p&gt;
&lt;p&gt;What I changed was&lt;/p&gt;
&lt;p&gt;SC_CTOR( dut )&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; SC_CTREAD( thread_function, clk.pos() );&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; reset_singal_is( rst, 0 );&amp;nbsp; --&amp;gt; async_reset_signal_is( rst, 0 );&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; din.clk_rst( clk, rst ); --&amp;gt; din.clk_rst_async( clk, rst );&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; dout.clk_rst( clk, rst ); --&amp;gt; dout.clk_rst_async( clk, rst, false);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;All synthesized f/fs except output data f/f have async. reset.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;f/f with async. reset : always_ff( posedge clk or negedge rst)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;output data&amp;nbsp;f/f : always_ff(posedge clk)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;So what I missed ?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>find cells in row next to all same</title><link>https://community.cadence.com/thread/58112?ContentTypeID=0</link><pubDate>Mon, 25 Sep 2023 02:30:21 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1544a420-150c-4468-bbab-d7b10e3d721b</guid><dc:creator>zehtr</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/58112?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/58112/find-cells-in-row-next-to-all-same/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I have special capacitor cells in layout.&amp;nbsp; sometimes they abut next to each other in cell row.&amp;nbsp; Need to find all the places where there are many of these next to.&amp;nbsp; When find them,get the X1 X2 of where they are in a row.&amp;nbsp; How to complete task?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>write placement blockage around cell</title><link>https://community.cadence.com/thread/58111?ContentTypeID=0</link><pubDate>Mon, 25 Sep 2023 02:26:07 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:2746b98c-f1db-4a6c-9ed9-efd1c1366299</guid><dc:creator>zehtr</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/58111?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/58111/write-placement-blockage-around-cell/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I have special placed cell.&amp;nbsp; I need to find cell and draw placement blockage for full width of cell for the complete height of the design.&amp;nbsp; From top to bottom of the design.&amp;nbsp; How to complete task?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Delivered example STRATUS_20.24.100/share/stratus/collateral/examples/simple_dmac_apb is not able to work.</title><link>https://community.cadence.com/thread/57643?ContentTypeID=0</link><pubDate>Mon, 03 Jul 2023 09:12:44 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1e41d3ac-28de-4799-bb68-fa4e5146a011</guid><dc:creator>mxlusereight</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/57643?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/57643/delivered-example-stratus_20-24-100-share-stratus-collateral-examples-simple_dmac_apb-is-not-able-to-work/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I am new to Stratus HLS and I use the examples for ramp up my study.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I found that the three simple_dmac_apb/axi/axi_lite are not working out of the box, while some of the lab_* works fine.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Is that expected or is it those non-lab examples need user input in order to work?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I could find little in search engines, so is it easy to get support on this tool?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;(FYI I used Catapult/Vivado HLS before and know the basics).&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Innovus</title><link>https://community.cadence.com/thread/57089?ContentTypeID=0</link><pubDate>Tue, 11 Apr 2023 13:59:59 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:5d8900b2-10de-421a-8fc6-e1254912b05e</guid><dc:creator>polot12</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/57089?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/57089/innovus/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;My innovus simulation result is giving me&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ERROR: (IMPSYC-300): Cell Eight_Bit_Adder_Structural_VHDL not found.&lt;br /&gt;ERROR: (IMPVL-904): Can&amp;#39;t set top cell to &amp;quot;Eight_Bit_Adder_Structural_VHDL&amp;quot; because it does not exist. Exiting!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;How can I solve this error&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to generate Verilog Library with verilog submodules in Stratus?</title><link>https://community.cadence.com/thread/52584?ContentTypeID=0</link><pubDate>Mon, 26 Sep 2022 05:08:09 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:fe66d513-30d7-4e33-a5aa-6bfc3f03b790</guid><dc:creator>Saya Lee</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/52584?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/52584/how-to-generate-verilog-library-with-verilog-submodules-in-stratus/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;I&amp;#39;m doing co-sim in Stratus which has a struct that involves both the Generated Verilog and also the imported Verilog modules.&lt;/p&gt;
&lt;p&gt;I generated the verilog library used the command like below:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;gt; bdw_import_verilog -hls_lib &amp;quot;./my_hls_lib/&amp;quot; -clocks &amp;quot;clk&amp;quot; -resets &amp;quot;rst_n&amp;quot; -vfiles &amp;quot;top.sv sub1.sv sub2.sv&amp;quot;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;where: the sub1.sv and the sub2.sv are the submodules of top.sv. But if I use this library in the co-sim project, the error below had been came out:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;gt; xmelab: *E,CUVMUR (top.sv,72|15): instance &amp;#39;sc_main.system.m_xxxx.xxxx.xxxx0@xxxx&amp;lt;module&amp;gt;.top@top&amp;lt;module&amp;gt;.i_sub1&amp;#39; of design unit &amp;#39;r_y_top&amp;#39; is unresolved in &amp;#39;V.sub1:sv&amp;#39;.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;gt; xmelab: *E,CUVMUR (top.sv,72|15): instance &amp;#39;sc_main.system.m_xxxx.xxxx.xxxx0@xxxx&amp;lt;module&amp;gt;.top@top&amp;lt;module&amp;gt;.i_sub2&amp;#39; of design unit &amp;#39;r_y_top&amp;#39; is unresolved in &amp;#39;V.sub2:sv&amp;#39;.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Now I have to&amp;nbsp;write the sub1 and sub2 modules into top.sv to make the co-sim work. But this is not convenient.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So how to generate the verilog library with top and also submodules in separated&amp;nbsp;.sv files?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Looking forward to your reply.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks!&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to launch Stratus GUI</title><link>https://community.cadence.com/thread/49419?ContentTypeID=0</link><pubDate>Thu, 21 Oct 2021 20:02:52 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:70b7f65b-2838-494b-8276-7c0db60c2700</guid><dc:creator>gdnagendra</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/49419?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/49419/how-to-launch-stratus-gui/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi, this is a silly first-timer question: when I launch Stratus, I get the command-line version. But I would like to start the GUI version. Tried &amp;quot;stratus --gui&amp;quot; etc but no luck.&lt;/p&gt;
&lt;p&gt;Also tried genus-style &amp;quot;raise_gui&amp;quot; command but that didn&amp;#39;t work either.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Nagendra&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Keep tie cells connection</title><link>https://community.cadence.com/thread/49223?ContentTypeID=0</link><pubDate>Fri, 17 Sep 2021 16:56:08 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:f74fd4eb-0704-4bdb-875c-3a784cc6efcf</guid><dc:creator>zxw109</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/49223?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/49223/keep-tie-cells-connection/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;In order to make the later ECO easier, in our design we put in a few constant values driven by tie (high or low) cells. These valuses can easily be changed in case we need to modify them. Genus would optimize the design and won&amp;#39;t use the output of the tie cells. How can we keep the connection between the tie cells and their loads?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Syhthesizing bluespec verilog (.bsv) code with Cadence Genus</title><link>https://community.cadence.com/thread/49056?ContentTypeID=0</link><pubDate>Mon, 30 Aug 2021 06:49:17 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:016948e6-ba2f-4ce6-b41c-4c3d76a49b7d</guid><dc:creator>iamKarthikBK</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/49056?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/49056/syhthesizing-bluespec-verilog-bsv-code-with-cadence-genus/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I want to synthesize some flavor of RISC-V, but I only have the core in Bluespec Verilog (or Bluespec systemverilog ?) (&amp;nbsp;&lt;a href="https://gitlab.com/incoresemi/core-generators/chromite"&gt;gitlab.com/.../chromite&lt;/a&gt; )&lt;br /&gt;How do I proceed? Can Genus directly read these in Legacy UI with read_hdl?&lt;br /&gt;&lt;br /&gt;I have a custom-designed standard cell library characterized using liberate.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Thank you for your time in advance!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Cadence genus Initialisation</title><link>https://community.cadence.com/thread/48268?ContentTypeID=0</link><pubDate>Mon, 21 Jun 2021 13:53:03 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:11185f51-ce64-4206-a9ee-5b78e0474467</guid><dc:creator>rez101998</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/48268?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/48268/cadence-genus-initialisation/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Could someone please help me resolve this error :&lt;br /&gt;&lt;span&gt;Error : The init design flow needs to be initialized in a proper sequence. The sequence of initialization is as follow.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;uninitialized - timing_initialized - physical_initialized - design_initialized - power_initialized - initialization_complete.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;[TUI-340] [read_physical]&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Cannot perform initialization step &amp;#39;physical_initialized&amp;#39; from current state &amp;#39;uninitialized&amp;#39;. Please check and correct your initialization steps.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>convert .lib library file to .db file</title><link>https://community.cadence.com/thread/48204?ContentTypeID=0</link><pubDate>Tue, 08 Jun 2021 18:56:38 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:407a6c8f-28c5-436a-8dc7-a5502051967e</guid><dc:creator>HaolinCong</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/48204?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/48204/convert-lib-library-file-to-db-file/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Is there a way to convert the .lib file to .db file using cadence, like the library_compiler&amp;quot; provided by synopsys?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you very much,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to change font size for help/menus ?</title><link>https://community.cadence.com/thread/47515?ContentTypeID=0</link><pubDate>Thu, 11 Feb 2021 16:06:26 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:10c89034-f334-4ae7-b8b1-86ad40fb4390</guid><dc:creator>pmuld0x</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/47515?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/47515/how-to-change-font-size-for-help-menus/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am trying to improve reading the menus and the help documents in KDE for Stratus.&lt;/p&gt;
&lt;p&gt;Do you have any help on this?&lt;/p&gt;
&lt;p&gt;Maybe there is a setting for KDE or with Xwindows fonts file somewhere but I am puzzled.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks for your help!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to get full module names in report_area command</title><link>https://community.cadence.com/thread/46918?ContentTypeID=0</link><pubDate>Sat, 10 Oct 2020 20:00:24 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:07e21cd6-ce00-423a-b405-4d619b31733a</guid><dc:creator>SrikanthReddy</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/46918?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/46918/how-to-get-full-module-names-in-report_area-command/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;When I use report_area command in GENUS tool it is shrinking my module name to 115 characters. I want full module name in the report. Please help me to find the full name of module.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Why does Stratus HLS report this error?</title><link>https://community.cadence.com/thread/46703?ContentTypeID=0</link><pubDate>Thu, 03 Sep 2020 05:18:59 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:c381ec2a-9b16-4486-8acf-c310b745ab33</guid><dc:creator>idwwwoqq808</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/46703?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/46703/why-does-stratus-hls-report-this-error/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I&amp;#39;m trying to implement a module that reads and writes a memory. The memory is instantiated in the top module and passed down to submodules.&lt;/p&gt;
&lt;p&gt;It seems there are errors in the generated memory header file.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m using Stratus 19.1 on CentOS 7. I&amp;#39;ve tried synthesizing &amp;quot;Lab 3: Explicit Memorys&amp;quot; (which comes with Stratus) and it was completed without errors.&lt;/p&gt;
&lt;p&gt;Can anyone tell me what the cause of this error and how to solve it?&lt;/p&gt;
&lt;p&gt;Also, the way I instantiate memories is same as in Lab3.&lt;/p&gt;
&lt;p&gt;I&amp;#39;d prefer to keep ports of memories the same because in the project I&amp;#39;m working on, one module only writes to a memory block and another module only reads from this memory. They will access the same memory simultaneously so I&amp;#39;d rather not to use a shared interface.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s the setting of the memory:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://community.cadence.com/resized-image/__size/1280x0/__key/communityserver-discussions-components-files/90/01.JPG" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://community.cadence.com/resized-image/__size/1280x0/__key/communityserver-discussions-components-files/90/02.JPG" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;And Here&amp;#39;s my code:&lt;/p&gt;
&lt;p&gt;/* Test3.h */&lt;br /&gt;#include &amp;quot;cynw_p2p.h&amp;quot;&lt;br /&gt;#include &amp;quot;memlib.h&amp;quot;&lt;br /&gt;#include &amp;quot;writer_wrap.h&amp;quot;&lt;br /&gt;#include &amp;quot;reader_wrap.h&amp;quot;&lt;/p&gt;
&lt;p&gt;SC_MODULE(Test3)&lt;br /&gt;{&lt;br /&gt; public:&lt;br /&gt; sc_in &amp;lt; sc_uint&amp;lt;8&amp;gt; &amp;gt; din;&lt;br /&gt; sc_out&amp;lt; sc_uint&amp;lt;8&amp;gt; &amp;gt; dout;&lt;/p&gt;
&lt;p&gt;// Declaration of clock and reset parameters&lt;br /&gt; sc_in_clk clk;&lt;br /&gt; sc_in &amp;lt; bool &amp;gt; rst;&lt;/p&gt;
&lt;p&gt;sc_signal&amp;lt; bool &amp;gt; sgn;&lt;/p&gt;
&lt;p&gt;//sc_uint&amp;lt;8&amp;gt; mem[256];&lt;br /&gt; RAM8x256::wrapper&amp;lt; CYN::TLM &amp;gt; *mem;&lt;/p&gt;
&lt;p&gt;writer_wrapper m_writer;&lt;br /&gt; reader_wrapper m_reader;&lt;/p&gt;
&lt;p&gt;SC_CTOR(Test3)&lt;br /&gt; : m_writer(&amp;quot;writer&amp;quot;),&amp;nbsp;&lt;br /&gt; m_reader(&amp;quot;reader&amp;quot;),&lt;br /&gt; clk( &amp;quot;clk&amp;quot; ),&lt;br /&gt; rst( &amp;quot;rst&amp;quot; )&lt;br /&gt; {&lt;br /&gt; m_writer.clk(clk);&lt;br /&gt; m_writer.rst(rst);&lt;br /&gt; m_writer.din(din);&lt;br /&gt; m_writer.sgn(sgn);&lt;/p&gt;
&lt;p&gt;m_reader.clk(clk);&lt;br /&gt; m_reader.rst(rst);&lt;br /&gt; m_reader.dout(dout);&lt;br /&gt; m_reader.sgn(sgn);&lt;/p&gt;
&lt;p&gt;mem = new RAM8x256::wrapper&amp;lt; CYN::TLM &amp;gt; (&amp;quot;mem&amp;quot;);&lt;br /&gt; m_writer.m_mem(*mem);&lt;br /&gt; m_reader.m_mem(*mem);&lt;br /&gt; mem-&amp;gt;clk_rst(clk,rst);&lt;br /&gt; }&lt;br /&gt;};&lt;br /&gt;//-------------------------------------------------------&lt;br /&gt;/* writer.h */&lt;br /&gt;#include &amp;quot;cynw_p2p.h&amp;quot;&lt;br /&gt;#include &amp;quot;memlib.h&amp;quot;&lt;/p&gt;
&lt;p&gt;SC_MODULE(writer)&lt;br /&gt;{&lt;br /&gt; public:&lt;br /&gt; sc_in &amp;lt; sc_uint&amp;lt;8&amp;gt; &amp;gt; din;&lt;br /&gt; sc_out&amp;lt; bool &amp;gt; sgn;&lt;/p&gt;
&lt;p&gt;// Declaration of clock and reset parameters&lt;br /&gt; sc_in_clk clk;&lt;br /&gt; sc_in &amp;lt; bool &amp;gt; rst;&lt;/p&gt;
&lt;p&gt;//sc_uint&amp;lt;8&amp;gt; *m_mem;&lt;br /&gt; RAM8x256::port_1&amp;lt; CYN::TLM &amp;gt; m_mem;&lt;br /&gt; sc_uint&amp;lt;8&amp;gt; ad;&lt;/p&gt;
&lt;p&gt;//SC_HAS_PROCESS(writer);&lt;/p&gt;
&lt;p&gt;//writer(sc_module_name &amp;amp;name,&lt;br /&gt; // sc_uint&amp;lt;8&amp;gt; mem[256])&lt;br /&gt; // :m_mem(mem)&lt;br /&gt; SC_CTOR(writer)&lt;br /&gt; {&lt;br /&gt; SC_CTHREAD(writer_thread, clk.pos());&lt;br /&gt; async_reset_signal_is(rst,0);&lt;/p&gt;
&lt;p&gt;//HLS_MAP_TO_MEMORY(m_mem,&amp;quot;RAM8x256&amp;quot;);&lt;br /&gt; }&lt;br /&gt; void writer_thread();&lt;br /&gt;};&lt;br /&gt;//-------------------------------------------------------&lt;br /&gt;/* writer.cpp */&lt;br /&gt;#include &amp;quot;writer.h&amp;quot;&lt;/p&gt;
&lt;p&gt;// The thread function for the design&lt;br /&gt;void writer::writer_thread()&lt;br /&gt;{&lt;br /&gt; // Reset the interfaces&lt;br /&gt; {&lt;br /&gt; CYN_PROTOCOL(&amp;quot;writer_thread&amp;quot;);&lt;/p&gt;
&lt;p&gt;sgn.write(0);&lt;br /&gt; ad=0;&lt;br /&gt; //m_mem.reset();&lt;br /&gt; wait();&lt;/p&gt;
&lt;p&gt;// Main execution loop&lt;br /&gt; while (1)&lt;br /&gt; {&lt;br /&gt; m_mem[ad]=din.read();&lt;br /&gt; sgn.write(din.read()[7]);&lt;br /&gt; ad++;&lt;br /&gt; wait();&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;//-------------------------------------------------------&lt;br /&gt;/* reader.h */&lt;br /&gt;#include &amp;quot;cynw_p2p.h&amp;quot;&lt;br /&gt;#include &amp;quot;memlib.h&amp;quot;&lt;/p&gt;
&lt;p&gt;SC_MODULE(reader)&lt;br /&gt;{&lt;br /&gt; public:&lt;br /&gt; sc_in &amp;lt; bool &amp;gt; sgn;&lt;br /&gt; sc_out&amp;lt; sc_uint&amp;lt;8&amp;gt; &amp;gt; dout;&lt;/p&gt;
&lt;p&gt;// Declaration of clock and reset parameters&lt;br /&gt; sc_in_clk clk;&lt;br /&gt; sc_in &amp;lt; bool &amp;gt; rst;&lt;/p&gt;
&lt;p&gt;sc_uint&amp;lt;8&amp;gt; ad;&lt;br /&gt; sc_uint&amp;lt;8&amp;gt; out_tmp;&lt;br /&gt; //sc_uint&amp;lt;8&amp;gt; (&amp;amp;m_mem)[256];&lt;br /&gt; RAM8x256::port_2&amp;lt; CYN::TLM &amp;gt; m_mem;&lt;/p&gt;
&lt;p&gt;//SC_HAS_PROCESS(reader);&lt;br /&gt; //reader(sc_module_name &amp;amp;name,&lt;br /&gt; // sc_uint&amp;lt;8&amp;gt; (&amp;amp;mem)[256])&lt;br /&gt; // :m_mem(mem)&lt;br /&gt; SC_CTOR(reader)&lt;br /&gt; {&lt;br /&gt; SC_CTHREAD(reader_thread, clk.pos());&lt;br /&gt; async_reset_signal_is(rst,0);&lt;/p&gt;
&lt;p&gt;//HLS_MAP_TO_MEMORY(m_mem,&amp;quot;RAM8x256&amp;quot;);&lt;br /&gt; }&lt;br /&gt; void reader_thread();&lt;/p&gt;
&lt;p&gt;};&lt;br /&gt;//-------------------------------------------------------&lt;br /&gt;/* reader.cpp */&lt;br /&gt;#include &amp;quot;reader.h&amp;quot;&lt;/p&gt;
&lt;p&gt;// The thread function for the design&lt;br /&gt;void reader::reader_thread()&lt;br /&gt;{&lt;br /&gt; // Reset the interfaces&lt;br /&gt; {&lt;br /&gt; CYN_PROTOCOL(&amp;quot;reader_thread&amp;quot;);&lt;/p&gt;
&lt;p&gt;ad=0;&lt;br /&gt; //m_mem.reset();&lt;/p&gt;
&lt;p&gt;wait();&lt;/p&gt;
&lt;p&gt;// Main execution loop&lt;br /&gt; while (1)&lt;br /&gt; {&lt;br /&gt; out_tmp=m_mem[ad];&lt;/p&gt;
&lt;p&gt;if(sgn.read()){&lt;br /&gt; dout.write( (~out_tmp)+1 );&lt;br /&gt; }else{&lt;br /&gt; dout.write(out_tmp);&lt;br /&gt; }&lt;br /&gt; wait();&lt;/p&gt;
&lt;p&gt;ad++;&lt;br /&gt; wait();&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;//-------------------------------------------------------&lt;br /&gt;The &amp;quot;Job Trace&amp;quot; reports:&lt;br /&gt; 00148: Normalization and optimization:&lt;br /&gt; NOTE 00860: Long int data types are being implemented with 64 bits.&lt;br /&gt; 02923: Dissolving function boundaries.&lt;br /&gt; 02924: Dissolved 198 function calls.&lt;br /&gt; #################################################################&lt;br /&gt; # #&lt;br /&gt; ERROR 03144:# at memlib/c_parts/RAM8x256.h line 3175 #&lt;br /&gt; ERROR 03144.# Call to unresolved virtual function or function called via #&lt;br /&gt; ERROR 03144.# pointer #&lt;br /&gt; # #&lt;br /&gt; #################################################################&lt;br /&gt; #################################################################&lt;br /&gt; # #&lt;br /&gt; FATAL 02368:# at writer.h line 8 #&lt;br /&gt; FATAL 02368.# Not all sc_port-&amp;gt;sc_interface bindings and virtual function #&lt;br /&gt; FATAL 02368.# calls could be resolved #&lt;br /&gt; # #&lt;br /&gt; #################################################################&lt;/p&gt;
&lt;p&gt;01445: Summary of messages of severity WARNING or greater:&lt;br /&gt; 01193: SEVERITY MSGID CNT&lt;br /&gt; 01198: FATAL 02368 1&lt;br /&gt; 01198: ERROR 03144 1&lt;/p&gt;
&lt;p&gt;stratus_hls failed with 2 errors and 0 warnings.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Using Cadence Genus withou any libraries</title><link>https://community.cadence.com/thread/43679?ContentTypeID=0</link><pubDate>Fri, 06 Mar 2020 18:24:56 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:5c8f72a3-32ea-47c4-892a-035bfcb01535</guid><dc:creator>vinayelk</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/43679?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/43679/using-cadence-genus-withou-any-libraries/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am fairly new using Cadence Genus but I want to obtain an RTL synthesis from Genus without any library file or just some generic-library.&lt;/p&gt;
&lt;p&gt;Is this possible in anyway?&lt;/p&gt;
&lt;p&gt;I am sourcing the following tcl file but I dont have any libraries available with me.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;em&gt;#set_attribute lib_search_path /eng/ee/analog-TSMC/tsmc_65_rf&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;em&gt;#set_attribute library { low.lib fast.lib}&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;em&gt;read_hdl halfadder.v&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;em&gt;#elaborate&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;em&gt;synthesize -to_generic&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;em&gt;#synthesize -to_mapped&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;em&gt;write -mapped &amp;gt; halfadder_synth.v&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;em&gt;wrtie_script &amp;gt; script&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;em&gt;gui_show;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;~&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Genus Synthesis Timing Report does not make any sense</title><link>https://community.cadence.com/thread/43245?ContentTypeID=0</link><pubDate>Fri, 03 Jan 2020 17:41:54 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:d46ea76c-4f9d-49f8-babe-19ee86d4b50b</guid><dc:creator>saw235</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/43245?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/43245/genus-synthesis-timing-report-does-not-make-any-sense/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I don&amp;#39;t understand how timings are calculated in genus. Below is the synthesis timing report of one of my design, it mentions that critical path is met with 0 slack but the calculation does not make any sense to me because the datapath is 567 ps and the&amp;nbsp;capture time is at 350 ps. So how is it that&amp;nbsp;the timing is met? Usually there are some kind of negative slack if the timing is not met.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There seems to be some ambiguity&amp;nbsp;going on here when one flop is launched at rising edge and captured at the falling edge.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am targeting 1 GHz, hence target clock period is&amp;nbsp;constrained to 1000ps.&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;============================================================&lt;br /&gt; Generated by: Genus(TM) Synthesis Solution 17.20-p003_1&lt;br /&gt; Generated on: Jan 03 2020 05:55:41 pm&lt;br /&gt; Module: top&lt;br /&gt; Operating conditions: TT_0P80V_0P00V_0P00V_0P00V_25C (balanced_tree)&lt;br /&gt; Wireload mode: enclosed&lt;br /&gt; Area mode: timing library&lt;br /&gt;============================================================&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;br /&gt;Path 1: MET (0 ps)&lt;br /&gt; Group: l2clk&lt;br /&gt; Startpoint: (R) lsu_stbuf/stbuf_fwdbyteen_lo_dc3ff_dout_reg[1]/CLK&lt;br /&gt; Clock: (R) l2clk&lt;br /&gt; Endpoint: (R) dec_decode_illegal_any_ff_clkhdr_clkhdr_en_ff_reg/D&lt;br /&gt; Clock: (F) l2clk&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Capture Launch&lt;br /&gt; Clock Edge:+ 500 0&lt;br /&gt; Src Latency:+ 0 0&lt;br /&gt; Net Latency:+ 0 (I) 0 (I)&lt;br /&gt; Arrival:= 500 0&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Uncertainty:- 150&lt;br /&gt; Required Time:= 350&lt;br /&gt; Launch Clock:- 0&lt;br /&gt; Data Path:- 567&lt;br /&gt; Slack:= 0&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>High level synthesis</title><link>https://community.cadence.com/thread/42552?ContentTypeID=0</link><pubDate>Thu, 12 Sep 2019 11:49:13 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:01f753e1-50a1-449d-8817-d8aea16b436b</guid><dc:creator>techbud</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/42552?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/42552/high-level-synthesis/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I&amp;#39;ve written hobbyist-level Verilog for about 10 years. I&amp;#39;d still consider my understanding of the industry to be mid-level, even a little bit less than that. The more I learn, the more I realize I don&amp;#39;t know about. YMMV.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m adverse to the going above the RTL/HDL level of languages. My main concern is that you&amp;#39;re essentially compiling/transpiling/outputting to HDL from a completely different procedural top-down sequential programming language. These languages use a series of steps, where the CPU is executing the first line of code, the next line, the one following, and so on. You&amp;#39;re not describing what hardware to instantiate or build, you&amp;#39;re telling the CPU what to do step by step by step. There&amp;#39;s some minor differences with how OOP relates, but it still closely mimics the fetch-decode-execution cycle of the underlying hardware. Sure C#/.NET or Java gets compiled down to some byte-code, run within some *VM, and then essentially converted to assembly language. The point is that you&amp;#39;re going SAME-SAME during the whole process.&lt;/p&gt;
&lt;p&gt;Javascript transpilers are the same -- take some flavor of javascript in, put some flavor of javascript out. This works because it&amp;#39;s same-same.&lt;/p&gt;
&lt;p&gt;You have to understand digital design before you can start writing in HDLs. The hard part about using Verilog, from my experience, isn&amp;#39;t the syntax problem of &amp;quot;How do I do xyz in Verilog?&amp;quot; but &amp;quot;What hardware am I trying to describe?&amp;quot; With full view and understanding of what happens to each of your modules during a clock tick. Sure, there&amp;#39;s still an idea of &amp;quot;this set of code executes whenever this happens&amp;quot;, but there&amp;#39;s some serious problems regarding the simultaneous nature of hardware. Very little happens simultaneously in a CPU --- even though it may execute it fast enough for you to believe it&amp;#39;s happening at the same time.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Synthesize net to flip-flop cell with differential output.</title><link>https://community.cadence.com/thread/41987?ContentTypeID=0</link><pubDate>Sat, 22 Jun 2019 22:47:22 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:35292143-6cae-417b-b45f-0e0e107596f8</guid><dc:creator>RemyP</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/41987?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/41987/synthesize-net-to-flip-flop-cell-with-differential-output/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I have a digital block (SystemVerilog) that will eventually be placed into a larger AoT design. The connections between the analog and digital blocks need to be differential due to noise issues. I created a D flip-flop standard cell with a differential output (Q, nQ) that meets all the timing requirements of this design. This was characterized using Liberate and is now in the library I am using in Genus for synthesis.&lt;/p&gt;
&lt;p&gt;Is it possible to configure Genus to synthesize specific output nets (by name) to this flip flop so that both Q and nQ are available in Innovus for P&amp;amp;R? If so, a link to the appropriate manual or documentation would be most appreciated - searching on the Cadence website hasn&amp;#39;t revealed anything immediately useful.&lt;/p&gt;
&lt;p&gt;Our previous method was to explicitly create both outputs in the HDL source and use HDL logic to ensure they were differential. This caused an additional inverter to be placed into the design which had a negative impact on timing. This method obviously does not scale to large designs and is somewhat bug-prone. Any better method would be appreciated.&lt;/p&gt;
&lt;p&gt;Thanks for your help in advance!&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;The cell definition used in Liberate to generate the flip flop during characterization is shown below. It doesn&amp;#39;t seem like Liberate is aware that Q and nQ are logically related but I was unable to find any option to define_cell that would achieve this.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:courier new, courier;"&gt;set cell DFFC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;if {[ALAPI_active_cell $cell]} {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; define_cell \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -clock { CLK } \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -async { nCLR } \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -input { D } \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -output { Q nQ } \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -pinlist { CLK nCLR D Q nQ } \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -delay delay_template \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -power power_template \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -constraint const_template \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $cell&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Stratus PnR Configs</title><link>https://community.cadence.com/thread/41741?ContentTypeID=0</link><pubDate>Mon, 20 May 2019 12:14:24 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:7d228874-f61c-440b-89c6-a5870b85e4ae</guid><dc:creator>kvasa</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/41741?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/41741/stratus-pnr-configs/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I browsed through the User Guide and other online support materials but couldn&amp;#39;t find how to define a PNR config. Kindly help me with the same.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Genus - Segmentation Fault</title><link>https://community.cadence.com/thread/40259?ContentTypeID=0</link><pubDate>Wed, 03 Oct 2018 10:38:28 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:aff95cfe-0280-4b63-83ac-fcb80c133624</guid><dc:creator>nokta</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/40259?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/40259/genus---segmentation-fault/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello everyone,&lt;br /&gt;I am trying to do large-scale Genus RTL synthesis in our new server. But I get Segmentation Fault while doing that. At above you can see the end of my genus.log file. I change information where I write something between &amp;lt;&amp;gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Removing temporary intermediate hierarchies under pbs_gen_n_7&lt;br /&gt;Sourcing &amp;#39;./.pbs_&amp;lt;server address&amp;gt;_110854/pbs_gen_n_7.etf&amp;#39; (&amp;lt;data and time&amp;gt;)...&lt;br /&gt;rdbfname wdbfname effort physical pas design assembly_index&lt;br /&gt;./.pbs_&amp;lt;server address&amp;gt;_110854/pbs_gen_n_7.db ./.pbs_&amp;lt;server address&amp;gt;_110854/pbs_gen_n_7_post.db medium 0 0 /designs/pbs_gen_n_7 -1&lt;br /&gt;&lt;br /&gt;Segmentation Fault accessing address ffffffffffffc6a0.&lt;br /&gt;&lt;br /&gt;Fatal internal error, code 11 (Segmentation fault)&lt;br /&gt;&lt;br /&gt;Dumping stack trace (tid:7fdf8e241500/main thread).&lt;br /&gt;&lt;br /&gt;Operating System: linux&lt;br /&gt;Product Version: 17.11-s014_1&lt;br /&gt;Build Date: Oct&amp;nbsp; 9 2017&lt;br /&gt;Executable: &amp;lt;cds dir&amp;gt;/GENUS171/tools.lnx86/synth/bin/64bit/genus&lt;br /&gt;Startup Options: -legacy_ui &lt;br /&gt;Current Directory: &amp;lt;my dir&amp;gt;&lt;br /&gt;Stack trace:&lt;/p&gt;
&lt;p&gt;Do you have any idea for this situation?&lt;br /&gt;Thank you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>set_multicycle_path using clock enable signals</title><link>https://community.cadence.com/thread/38940?ContentTypeID=0</link><pubDate>Tue, 12 Jun 2018 09:46:10 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:4a9f6697-949e-4046-8a9a-a554f8edca8b</guid><dc:creator>Hildebrandt</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/38940?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/38940/set_multicycle_path-using-clock-enable-signals/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello!&lt;/p&gt;
&lt;p&gt;For synthesis with Genus 17.1 I want to constrain a multi-cycle path inside one single clock domain from some flipflops using one clock enable signal to some other flipflops using a different clock enable signal. There is a solution for Altera Quartus &amp;lt;&lt;a href="https://www.altera.com/support/support-resources/design-examples/design-software/timinganalyzer/exm-tq-clock-enable.html"&gt;https://www.altera.com/support/support-resources/design-examples/design-software/timinganalyzer/exm-tq-clock-enable.html&amp;gt;,&lt;/a&gt; which works fine for Quartus, but not for Genus. After adapting the syntax of the Quartus solution I tried in Genus:&lt;/p&gt;
&lt;p&gt;set_multicycle_path 4 -from [get_fanout [get_pins my_component/my_clock_enable_1_reg/q]]&amp;nbsp; -to [get_fanout [get_pins my_component/my_clock_enable_2_reg/q]]&amp;nbsp; -setup&lt;/p&gt;
&lt;p&gt;but the &amp;lt;get_fanout&amp;gt; command gives a list, which includes objects, which are not supported by &amp;lt;set_multicycle_path&amp;gt;. Here is the relevant part of the error message:&lt;/p&gt;
&lt;p&gt;Error : A given object is not suitable for this exception. [SDC-211] [set_multicycle_path]&lt;br /&gt; : The &amp;#39;set_multicycle_path&amp;#39; command does not allow &amp;#39;-from&amp;#39; specifications for pins on unmapped combinational or hierachical instances ...&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The used clock-enable signals are used inside clocked processes as combinational logic and together with other combinational conditions the synthesis tool recognizes this as clock-enable. Here is the pseudo-code:&lt;/p&gt;
&lt;p&gt;elsif rising_edge(clk) then&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; if (clock_enable_1=&amp;#39;1&amp;#39; AND other_condition=&amp;#39;1&amp;#39;) then&lt;/p&gt;
&lt;p&gt;Ralf&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>(Cadence Genus Synthesis) How to use more than one library file for synthesis?</title><link>https://community.cadence.com/thread/38602?ContentTypeID=0</link><pubDate>Fri, 13 Apr 2018 12:29:55 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:2a064704-bbd3-4bdc-9719-56c528637d9b</guid><dc:creator>Raveen Kumar</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/38602?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/38602/cadence-genus-synthesis-how-to-use-more-than-one-library-file-for-synthesis/rss?ContentTypeId=0</wfw:commentRss><description>&lt;div class="votecell post-layout--left"&gt;
&lt;div class="vote-count-post " itemprop="upvoteCount"&gt;&amp;nbsp;Below is my Genus synthesis script.tcl,&lt;/div&gt;
&lt;/div&gt;
&lt;div class="postcell post-layout--right"&gt;
&lt;div class="post-text" itemprop="text"&gt;
&lt;pre&gt;&lt;code&gt;    #Script

    #Setting Library and Design Path
    set_attribute lib_search_path ../lib/

    set_attribute hdl_search_path ../design_files/

    #Setting Library and Design Files
    set_attribute library tech1.lib

    #Analyze and Elaborate the Design File
    read_hdl -sv count.sv
    elaborate

    # Apply Constraints and generate clocks
    read_sdc ../constraints/constraints.sdc

    # Synthesize the design to the target library
    synthesize -to_mapped -effort medium

    # Write out the reports
    report timing &amp;gt; count_timing.rep
    report gates  &amp;gt; count_cell.rep
    report power  &amp;gt; count_power.rep

    # Write out the structural Verilog and sdc files
    write_hdl &amp;gt; count_netlist.v
    write_sdc &amp;gt; count_sdc.sdc
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;How to write a script to import multiple library files say, tech1.lib, tech2.lib,... and synthesize the design with each and everone of them and generate reports? Also is there an option to make the tool to report best library to match timings of the design.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Synthesis Area plus power estimate concatenation</title><link>https://community.cadence.com/thread/38293?ContentTypeID=0</link><pubDate>Wed, 07 Feb 2018 17:59:24 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:787b5dfc-ba68-4dbf-9440-bda0764afa85</guid><dc:creator>GioFz</dc:creator><slash:comments>12</slash:comments><comments>https://community.cadence.com/thread/38293?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/38293/synthesis-area-plus-power-estimate-concatenation/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello guys,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am currently working on a project where I synthetize thousands of small little combinatorial blocks. These blocks are similar and my purpose it is to find simply the best one for AREA and POWER. My current genus/rc script can do this easily for the AREA but I am struggling to find an efficient way to do the same with the power.&amp;nbsp;&lt;br /&gt;My current script is the following:&lt;/p&gt;
&lt;p&gt;***********************CODE**********************************&lt;/p&gt;
&lt;p&gt;set_attribute information_level 2&lt;br /&gt;set_attribute lib_search_path ../../libs&lt;br /&gt;set_attribute library gf40.lib&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;read_hdl -sv -library WORK ../vlog/blocks0001.v&lt;/p&gt;
&lt;p&gt;set DESIGN block0001000&lt;/p&gt;
&lt;p&gt;elaborate $DESIGN&lt;br /&gt;check_design -unresolved $DESIGN&lt;/p&gt;
&lt;p&gt;set input_port_list { a }&lt;br /&gt;set output_port_list { y }&lt;/p&gt;
&lt;p&gt;synthesize -to_generic -effort high $DESIGN&lt;br /&gt;synthesize -to_mapped -effort high $DESIGN&lt;/p&gt;
&lt;p&gt;set area_design [get_attribute area $DESIGN]&lt;br /&gt;set out [open "../rpt/blocks0001.rpt" w]&lt;br /&gt;puts $out &amp;quot;Total gate_count $DESIGN : $area_design&amp;quot;&lt;br /&gt;close $out&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;read_hdl -sv -library WORK ../vlog/blocks0001.v&lt;/p&gt;
&lt;p&gt;set DESIGN block0001001&lt;/p&gt;
&lt;p&gt;elaborate $DESIGN&lt;br /&gt;check_design -unresolved $DESIGN&lt;/p&gt;
&lt;p&gt;set input_port_list { a }&lt;br /&gt;set output_port_list { y }&lt;/p&gt;
&lt;p&gt;synthesize -to_generic -effort high $DESIGN&lt;br /&gt;synthesize -to_mapped -effort high $DESIGN&lt;/p&gt;
&lt;p&gt;set area_design [get_attribute area $DESIGN]&lt;br /&gt;set out [open "../rpt/blocks0001.rpt" a]&lt;br /&gt;puts $out &amp;quot;Total gate_count $DESIGN : $area_design&amp;quot;&lt;br /&gt;close $out&lt;/p&gt;
&lt;p&gt;.... and so on&lt;/p&gt;
&lt;p&gt;****************************************************************&lt;br /&gt;&lt;br /&gt;It compiles the verilog codes from one only generated file. The result is this:&lt;/p&gt;
&lt;p&gt;***********************RESULT*****************************&lt;/p&gt;
&lt;p&gt;Total gate_count block0001000 : 18.522&lt;br /&gt;Total gate_count &lt;span&gt;block&lt;/span&gt;0001001 : 18.522&lt;br /&gt;Total gate_count &lt;span&gt;block&lt;/span&gt;0001002 : 18.8748&lt;br /&gt;Total gate_count&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;block&lt;/span&gt;0001003 : 18.8748&lt;br /&gt;Total gate_count&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;block&lt;/span&gt;0001004 : 13.7592&lt;br /&gt;Total gate_count&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;block&lt;/span&gt;0001005 : 12.5244&lt;br /&gt;Total gate_count&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;block&lt;/span&gt;0001006 : 19.0512..... so on&lt;/p&gt;
&lt;p&gt;**************************************************************&lt;/p&gt;
&lt;p&gt;So all Area estimations are in the same report, very easily extractable. For the power I tried to the same with report_power and report_gates -power commands, but I cannot get any good result.&lt;br /&gt;Do you have any suggestion about this?&lt;br /&gt;&lt;br /&gt;P.S.&lt;br /&gt;I am quite new with the cadence softwares so I know my question could sound a little bit silly and imprecise, so please ask for more details if you need it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Domino Logic Synthesis using Genus</title><link>https://community.cadence.com/thread/38205?ContentTypeID=0</link><pubDate>Mon, 22 Jan 2018 16:35:49 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1ea26a0b-1b3f-46d9-b911-b318758d838d</guid><dc:creator>Schriek</dc:creator><slash:comments>3</slash:comments><comments>https://community.cadence.com/thread/38205?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/38205/domino-logic-synthesis-using-genus/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve created two sets of standard cells, static and dynamic (or domino), consisting of basic combinational gates and some sequential elements.&lt;br /&gt;Using Genus, I am using the library domains functionality to map some behavioral HDL (i.e. multiplier) to both the static and the domino gates.&lt;br /&gt;The static version maps just fine, the domino gates however, are not recognized as usable gates.&lt;/p&gt;
&lt;p&gt;The specific error message is:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="font-size:inherit;"&gt;At least one usable two-input and/or/nand/nor gate (modulo inversion at inputs) is required for mapping.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;Ensure that the loaded libraries contain at least one such cell. [LBR-172]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;Both an OR and AND domino gate are available.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:inherit;"&gt;I figured, since the domino gates have three inputs, Genus does not recognize them as usable basic gates.&amp;nbsp;&lt;br /&gt;Hence the question, is it even possible to map to these domino gates using Genus and if so, how to do so?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;Thanks.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>inserting scan chain - DFT</title><link>https://community.cadence.com/thread/37351?ContentTypeID=0</link><pubDate>Tue, 23 May 2017 06:31:03 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:cb314554-79ae-4a15-9f3e-084f95ba15df</guid><dc:creator>subashrajam</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/37351?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/high-level-synthesis/37351/inserting-scan-chain---dft/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Could you help to insert the scan chain in RTL design by providing the required script file?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>