<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="https://community.cadence.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0"><channel><title>Cadence Logic Design Forum</title><link>https://community.cadence.com/cadence_technology_forums/f/logic-design</link><description></description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle> Synthesis, Equivalence Checking, Low Power Validation, Test[br][b]Moderator:[/b] Diego Hammerschlag, Vince Pham, Lisa</itunes:subtitle><item><title>Static power consumption of domino logic and cmos logic AND gate (cadence 6.1.8)</title><link>https://community.cadence.com/thread/65790?ContentTypeID=0</link><pubDate>Sat, 28 Feb 2026 21:41:16 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:162d8605-fa35-4995-93b4-30b180c6b047</guid><dc:creator>MM202602287655</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/65790?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/65790/static-power-consumption-of-domino-logic-and-cmos-logic-and-gate-cadence-6-1-8/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I am comparing the performance parametrics of cmos logic and domino logic from room temperature to cryogenic temperature.&lt;/p&gt;
&lt;p&gt;I was measuring the parameters like dynamic power consumption, static power, delay etc&lt;/p&gt;
&lt;p&gt;Basically I am working both circuits on same schematic cell view with same Vdd, load and input frequency.&lt;/p&gt;
&lt;p&gt;firstly i tried measuring static power consumption by shift deleting one circuit at a time in schematic as both had common vdd supply and global ground. At that time cmos has pW range power consumption in room temperature and it reduces only by few to cryogenic. Domino had more static power at room from nW and it went to pW range in cryogenic, but the decrease was not gradual, it was random fluctuating with high and low. Also at some instances it gave negative power. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;While giving negative power, how to take the value, should we consider the magnitude at that temperature.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Also later i gave two vdd names separately for cmos and domino(only instances given separate, vdd value same only) with global ground for everything and no circuit change except this, but then I simulated power, the static power of cmos was more or less same, but static power of domino&amp;nbsp;for 11 combination was going to uW range.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;same circuit simulated with two different analysis on same condition gave 2 different results. How and why&lt;/b&gt;?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;i am simulating static power on the flat regions of transient analysis fir input combo 00,01,10,11 for a temperature sweep from -270C to 30C with step 10 deg C.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Requesting help on this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Timing closure on cloned clock gate enable inputs</title><link>https://community.cadence.com/thread/65715?ContentTypeID=0</link><pubDate>Thu, 05 Feb 2026 15:36:13 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:b167379d-67d6-4fe5-88d2-ec1ca0134aac</guid><dc:creator>YJ202602057834</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/65715?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/65715/timing-closure-on-cloned-clock-gate-enable-inputs/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Our IP has a software controlled clock gate controlling an entire clock domain (several hundred flops). I noticed that in some cases, the clock gate is cloned post CTS, which create a large fanout path from the enable to the different clones. This path fails then fails timing checks. Apologies if this should not come as a surprise; I&amp;#39;m mostly a Verilog guy.&lt;/p&gt;
&lt;p&gt;I have searched quite a lot online but could not find a reliable method of dealing with this kind of problem. The only method that could seemingly solve this is a set_max_fanout/set_register_duplication directive on the enable flop, but for reasons that people online do not explain, backend engineers do not like to use these directives. So:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Is there an industry-standard way to deal with this kind of problems?&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Can anyone tell me why set_max_fanout/set_register_duplication directives are frowned upon?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I have some ideas regarding 1 but they usually involve severe limits on the users to configure clock gating only within a reset context.&lt;/p&gt;
&lt;p&gt;Many thanks in advance!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Ring oscillator separation gate delay and interconnect delay</title><link>https://community.cadence.com/thread/65149?ContentTypeID=0</link><pubDate>Tue, 02 Sep 2025 15:06:45 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:f8a76db8-2adf-4df3-a232-4de18666f7cf</guid><dc:creator>SL202509028216</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/65149?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/65149/ring-oscillator-separation-gate-delay-and-interconnect-delay/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:150%;"&gt;Hello.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;I have been reviewing the conventional methodologies for separating intrinsic gate delay and interconnect delay in ring oscillators, &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;such as &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;(1) varying the fan-out of the inverter &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;(2) modifying the interconnect length/width or shape &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;(3) changing the number of stages in the inverter chain. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;However, I believe these approaches cannot rigorously decouple the two delays. This is because the overall circuit delay fundamentally results from the product of the total resistance and capacitance distributed across the entire circuit. Unless every cell is explicitly modeled as a network of R and C components and the contributions are separated at that level, the extracted delay will always contain coupled effects of both gate and interconnect. Do you think there is a feasible circuit modification or an alternative methodology that could more clearly separate gate delay and interconnect delay, beyond the conventional fan-out, interconnect geometry, or stage-count variations? &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;I would greatly appreciate your insights or suggestions on possible approaches. thankyou!&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Genus synthesis | SystemVerilog in-code attribute assignment</title><link>https://community.cadence.com/thread/65097?ContentTypeID=0</link><pubDate>Wed, 20 Aug 2025 10:43:31 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:d62e79f5-df77-4fd7-a256-b48ef2ebd58f</guid><dc:creator>SA202508198026</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/65097?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/65097/genus-synthesis-systemverilog-in-code-attribute-assignment/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p data-start="252" data-end="257"&gt;Hi,&lt;/p&gt;
&lt;p data-start="259" data-end="387"&gt;I&amp;rsquo;m trying to determine whether Cadence Genus supports SystemVerilog in-code synthesis attributes (similar to how Vivado does), for example:&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;(* dont_touch = &amp;quot;true&amp;quot; *) logic mysignal;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;br /&gt;&lt;/span&gt;My goal is to simplify my &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;code data-start="505" data-end="517"&gt;timing.sdc&lt;/code&gt;&lt;/span&gt; file.&lt;/p&gt;
&lt;p data-start="578" data-end="633"&gt;When I try this, Genus reports:&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Warning : Unused attribute [VLOGPT-506]&lt;/span&gt;&lt;/p&gt;
&lt;p data-start="628" data-end="727"&gt;I&amp;rsquo;ve tested several variations without success and haven&amp;rsquo;t found much documentation or examples for Genus specifically.&lt;br /&gt;- Does Genus actually support this style of attribute assignment?&lt;br /&gt;- If so, what is the correct syntax?&lt;br /&gt;- Can it be applied to module instances, ports, registers, or nets?&lt;/p&gt;
&lt;p data-start="903" data-end="947"&gt;Any insights would be greatly appreciated.&lt;/p&gt;
&lt;p data-start="946" data-end="974"&gt;Thanks in advance,&lt;br data-start="964" data-end="967" /&gt; Siebe&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Reuse circuits</title><link>https://community.cadence.com/thread/65055?ContentTypeID=0</link><pubDate>Wed, 06 Aug 2025 13:23:08 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:971b526d-2706-4a0d-a7ff-f17ba05fff7f</guid><dc:creator>HSID</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/65055?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/65055/reuse-circuits/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;My company is researching a way to utilize reuse circuits. I know how to create them and bring them into a new design. What I am looking for is how do other companies handle the reuse circuits.&lt;/p&gt;
&lt;p&gt;We would like to store them within EDM. I have not found any documents to really describe this. If someone is already using EDM to store reuse circuits and what their process is I would like to hear how you handle this.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;HSID&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Logic Gates Circuit -to- VHDL -to- IC ??</title><link>https://community.cadence.com/thread/64720?ContentTypeID=0</link><pubDate>Sun, 18 May 2025 21:48:50 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:e0321a86-2baf-4696-8b23-6f094b2f0236</guid><dc:creator>HA202505189520</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/64720?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/64720/logic-gates-circuit--to--vhdl--to--ic/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:150%;"&gt;Hi everyone i hope you are all doing well&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;im a schematic Entry designer.&amp;nbsp;i design, create and draw logic gates/Flip Flops circuits using NI Multism PLD desinger, and then export that design into a &lt;span style="font-family:impact, chicago;"&gt;VHDL file&lt;span style="font-family:arial, helvetica, sans-serif;"&gt; and synthesize in a FPGA IDE&amp;nbsp;&lt;/span&gt;&lt;/span&gt;for real FPGA simulation.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;- This an example of a digital button de-bouncer&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;img style="max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/31/Debouncer.png_2D00_1280x960.png" /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;img style="max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/31/2025_2D00_05_2D00_18_5F00_221605.png_2D00_1280x960.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Now i after i confirmed that circuit is working i want to create an actual &lt;span style="font-family:impact, chicago;"&gt;IC&lt;/span&gt; out of it (or &lt;span style="font-family:impact, chicago;"&gt;ASIC&lt;/span&gt;) but before manufacturing and chosign the fabricator, i have to create the&lt;span style="font-family:impact, chicago;"&gt; transistor-level layout&lt;/span&gt; or &lt;span style="font-family:impact, chicago;"&gt;photo mask&lt;/span&gt; (i actually don&amp;#39;t know what&amp;nbsp;&amp;nbsp;that file called) and i heard that &lt;span style="font-family:impact, chicago;"&gt;Cadence&lt;/span&gt; can do that but :&lt;br /&gt;- Does Cadence support pure digital logic design, and which version of Cadence do i need?&lt;br /&gt;- Do i have to start from scratch (rebuild it all manually) or just &lt;span style="font-family:impact, chicago;"&gt;convert&lt;/span&gt; my VHDL file into that &amp;quot;&lt;span&gt;transistor-level layout design&amp;quot;&lt;br /&gt;any suggestions&amp;nbsp;or information will be appreciated&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;span&gt;Thank you for your time&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Clock as Data Constraints</title><link>https://community.cadence.com/thread/64703?ContentTypeID=0</link><pubDate>Tue, 13 May 2025 15:22:20 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:fecd810d-2698-4328-80a9-b6ccf993b98a</guid><dc:creator>correllj</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/64703?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/64703/clock-as-data-constraints/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have several logic constructs where one clock samples another clock, such as phase detector, where the D pin of the flop is a clock.&lt;/p&gt;
&lt;p&gt;When running &amp;quot;report_timing -lint&amp;quot;, genus is reporting &amp;quot;Sequential data pins driven by a clock signal&amp;quot;.&lt;/p&gt;
&lt;p&gt;How do I set up the constraints to handle this?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>signal (done) transition missing in (xcelium -simvision) during simulation but it is visible in xlinx vivado</title><link>https://community.cadence.com/thread/64659?ContentTypeID=0</link><pubDate>Sat, 03 May 2025 08:08:58 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:d30ac417-1241-44cf-9ce4-ebbe5a5e35ac</guid><dc:creator>RK202504233943</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/64659?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/64659/signal-done-transition-missing-in-xcelium--simvision-during-simulation-but-it-is-visible-in-xlinx-vivado/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p class="" data-start="424" data-end="430"&gt;Hello,&lt;/p&gt;
&lt;p class="" data-start="432" data-end="552"&gt;I&amp;#39;m running a behavioral simulation of my Verilog design using both &lt;strong data-start="500" data-end="517"&gt;Xilinx Vivado&lt;/strong&gt; and &lt;strong data-start="522" data-end="551"&gt;Cadence Xcelium/SimVision&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="" data-start="554" data-end="866"&gt;In Vivado, I can clearly see a signal (indicating end-of-count/status) rising at a specific simulation time (~120,598 ns), as expected. However, in Xcelium/SimVision, that signal stays low throughout the simulation, even though the rest of the signals (e.g., clock, reset, counter) behave the same in both tools.&lt;/p&gt;
&lt;p class="" data-start="554" data-end="866"&gt;&lt;/p&gt;
&lt;p class="" data-start="554" data-end="866"&gt;same code runs on both machine but i can see clearly see transition of signal &amp;quot;done&amp;quot; in vivado tool but this signal cant be seen in simvision throughout the simualtion. when i try to set time as 145000 around in signal and try to move cursor forward arrow cursor it shows with red warning &amp;quot; to advance simulation to next edge of selected signal,you must enable the watching live data from simulator&amp;quot; .to address this i rightclik on selected signal and choose watch but nothing works.&lt;/p&gt;
&lt;p class="" data-start="554" data-end="866"&gt;in my testbench code&amp;nbsp;&amp;nbsp; i am terminating simul&lt;img style="max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/31/download_2D00_resizehood.com.png" /&gt;&lt;img style="max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/31/xilinx_5F00_vivado_5F00_done_5F00_transition.png" /&gt;ation at 145000ns ($finish) but with this timing window there is no any transition of my slected ignal (done) in simvision but with same timing delay (145000ns ($finish))&amp;nbsp; on xilinx vivado it shows very clear&amp;nbsp; transition.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>regrading abnormal working of xcelium simulator during wavefrom simulation</title><link>https://community.cadence.com/thread/64622?ContentTypeID=0</link><pubDate>Thu, 24 Apr 2025 06:34:41 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:697b17a2-d15c-4e57-96b5-59fafd22491f</guid><dc:creator>RK202504233943</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/64622?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/64622/regrading-abnormal-working-of-xcelium-simulator-during-wavefrom-simulation/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;hellow cadence support team,&lt;/p&gt;
&lt;p&gt;i&amp;nbsp; am facing an issue in xcelium simulator while simulating verilog code. when i try to run signal wavefrom it does nto working. it comes with pop op windows which says &amp;quot;&amp;quot; Recovery: Xcelium simulator Terminated Abnormally&amp;quot;&amp;quot;&lt;/p&gt;
&lt;p&gt;[ XM-SIM terminated unexpectedly] this happen when ever i click on run button then it shows pop op window with terminated simulation message.&lt;/p&gt;
&lt;p&gt;my linux version is : 8.9 (red hat)&lt;/p&gt;
&lt;p&gt;xcelium version : 22.03-s012&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/31/WhatsApp-Image-2025_2D00_04_2D00_22-at-6.25.24-PM.jpeg" /&gt;&lt;/p&gt;
&lt;p&gt;it would be great help if you can address this issue and kindly resolves this problem.&lt;/p&gt;
&lt;p&gt;i need very fast so please please if you can provide please !!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Using ChipWare (CW) Components in Quartus FPGA Builds?</title><link>https://community.cadence.com/thread/63170?ContentTypeID=0</link><pubDate>Fri, 31 Jan 2025 15:09:19 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:18fad2d5-2865-4382-aa3c-78a8ce5d9c9b</guid><dc:creator>SL202501311657</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/63170?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/63170/using-chipware-cw-components-in-quartus-fpga-builds/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Is there a way to use encrypted ChipWare (CW) components in a Quartus FPGA build flow?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Asking for a software suggestion.</title><link>https://community.cadence.com/thread/62708?ContentTypeID=0</link><pubDate>Tue, 15 Oct 2024 23:05:41 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:85782092-0ea1-40d1-8913-b7cf6294f25c</guid><dc:creator>SJ202410152653</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/62708?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/62708/asking-for-a-software-suggestion/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi. I&amp;#39;m a very new learner on Cadence. I want to synthesis my logic design for the maximum, minimum and an average results of delay, power dissipation and area&amp;nbsp;under&amp;nbsp;varying multiple inputs&amp;nbsp;of different data. The different data will be exported from other software results. I&amp;#39;m lost on the steps/processes I should do.&lt;/p&gt;
&lt;p&gt;Could anyone suggest me on which software and/or function or scripts I should use to achieve these results?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>which tools support Linting for early stages of Digital Design flow?</title><link>https://community.cadence.com/thread/62656?ContentTypeID=0</link><pubDate>Thu, 03 Oct 2024 19:08:53 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:0d978620-67d5-4411-b279-c9b9508babcc</guid><dc:creator>TR20240805746</dc:creator><slash:comments>4</slash:comments><comments>https://community.cadence.com/thread/62656?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/62656/which-tools-support-linting-for-early-stages-of-digital-design-flow/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I am trying to understand the Linting process. I know that mainly JasperGold is the tool for this purpose. Though I think JasperGold is more suited for later stages of the design. As a RTL Design Engineer, I want to make sure that if another tool has the capability of doing Linting earlier in the flow. for example, does Xcelium, Genus or Confomal support linting. I have seen some contradicting information online regarding this topic, though I can&amp;#39;t find anything related to Linting on any of these tools.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>ask some functions that we don't know if it exists</title><link>https://community.cadence.com/thread/62612?ContentTypeID=0</link><pubDate>Wed, 25 Sep 2024 15:41:09 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:e51720b4-d877-422f-802f-273f3583b8f4</guid><dc:creator>RONZYRR</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/62612?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/62612/ask-some-functions-that-we-don-t-know-if-it-exists/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;We have a big circuit having 12K gates totally and trying to show it in one page slide visually. But it is so hard for us to shrink it down from gate-level to module-level. Do you have any function like these:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Toggle wires on and off&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;&amp;ldquo;Right click&amp;rdquo; elements and group them into black boxes&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Quickly left or right align elements to clean up pictures&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Unmapped points</title><link>https://community.cadence.com/thread/62590?ContentTypeID=0</link><pubDate>Mon, 23 Sep 2024 06:07:07 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:469bb560-478a-462f-be70-b6925d1989f9</guid><dc:creator>GN20240831236</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/62590?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/62590/unmapped-points/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi ,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I am using conformal v23.2 for LEC checking b/w netlist vs Netlist. I am getting 8 not mapped points(z) in revised but when i check in mapping manager it showing 0 Not mapped points and showing this 8 not mapped points in extra unmapped section z(f) snps_scan_out_6 .How to resolve this issue Pls help&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:480px;max-width:640px;" src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/31/pastedimage1730699818152v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;regards,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Want to use Transmission Gate in my design?</title><link>https://community.cadence.com/thread/59615?ContentTypeID=0</link><pubDate>Fri, 21 Jun 2024 16:19:26 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:dfb3bf18-28f5-4de4-9fd3-9c8a38f5e524</guid><dc:creator>Rohit B</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/59615?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/59615/want-to-use-transmission-gate-in-my-design/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I want to use a transmission gate in my design, but it is not available as a standard cell for Genus RTL synthesis. How can I perform an analysis of area, power, and critical path delay that includes the transmission gate alongside standard cells?&lt;/p&gt;
&lt;p&gt;Could you provide guidance or a methodology for integrating custom cells, like the transmission gate, into the synthesis flow for accurate analysis?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>removing cdn_loop_breakers from netlist</title><link>https://community.cadence.com/thread/59554?ContentTypeID=0</link><pubDate>Wed, 12 Jun 2024 04:49:49 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:68146f02-6f00-4d50-8f3f-dfc61284349f</guid><dc:creator>Ganga Vinod</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/59554?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/59554/removing-cdn_loop_breakers-from-netlist/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I was trying to remove the cdn_loop_breaker cells from the netlist.&amp;nbsp;&lt;br /&gt;When I tried the below 2 things, it removing the cdn_loop_breaker cells but while connecting the cdn_loop_breaker cell input to its proper connection, its somehow misleading the connections&lt;br /&gt;&lt;br /&gt;Things i tried:&lt;br /&gt;1.&amp;nbsp;&amp;nbsp;remove_cdn_loop_breaker -instances *cdn_loop_breaker*&lt;br /&gt;then i just ran&amp;nbsp;remove_cdn_loop_breaker&amp;nbsp; comand without the -instances switch&lt;br /&gt;2.&amp;nbsp;remove_cdn_loop_breaker&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;both of the above things are not providing the proper connections after removing the loop_breaker_cells&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to tell conformal to ignore certain combination of input</title><link>https://community.cadence.com/thread/59181?ContentTypeID=0</link><pubDate>Thu, 04 Apr 2024 10:35:38 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:a9f54cab-5995-438e-9733-a998aa090350</guid><dc:creator>gperry</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/59181?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/59181/how-to-tell-conformal-to-ignore-certain-combination-of-input/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;hi&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;How can I tell the LEC tool to ignore a combination of Primary input bus in both Golden and revised.&lt;/p&gt;
&lt;p&gt;For example in both Golden and revised there is&amp;nbsp;&lt;/p&gt;
&lt;p&gt;input [3:0] data_in&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I want LEC not to check the case that data_in[3:0] == 4&amp;#39;b1000&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Conformal CEC checking</title><link>https://community.cadence.com/thread/59112?ContentTypeID=0</link><pubDate>Tue, 19 Mar 2024 21:04:55 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:d808939b-3741-4fde-b82e-1467c312ec44</guid><dc:creator>Sameerpy</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/59112?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/59112/conformal-cec-checking/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Below is showing my Master.v&lt;/p&gt;
&lt;p&gt;********************************************************************************************************************************************************************************************************************&lt;/p&gt;
&lt;p&gt;///////ALU&lt;br /&gt;module ALU (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [31:0] A,B, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input[3:0] alu_control,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output reg [31:0] alu_result,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output reg zero_flag&lt;br /&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; always @(*)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Operating based on control input&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case(alu_control)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;#39;b0001: alu_result = A+B;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;#39;b0010: alu_result = A-B;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;#39;b0011: alu_result = A*B;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;#39;b0100: alu_result = A|B;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;#39;b0101: alu_result = A&amp;amp;B;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;#39;b0110: alu_result = A^B;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;#39;b0111: alu_result = ~B;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;#39;b1000: alu_result = A&amp;lt;&amp;lt;B;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;#39;b1001: alu_result = A&amp;gt;&amp;gt;B;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;#39;b1010: begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(A&amp;lt;B)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alu_result = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alu_result = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default: alu_result = A+B;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endcase&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setting Zero_flag if ALU_result is zero&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (alu_result)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zero_flag = 1&amp;#39;b1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zero_flag = 1&amp;#39;b0;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;endmodule&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/////CONTROL UNIT&lt;br /&gt;/* &lt;br /&gt;Control unit controls takes opcode, funct7, funct3 of the instruction code to determine&lt;br /&gt;and control regwrite in IFU, alu control in ALU to execute proper instruction&lt;br /&gt;*/&lt;br /&gt;/* &lt;br /&gt;Control unit controls takes opcode, funct7, funct3 of the instruction code to determine&lt;br /&gt;and control regwrite in IFU, alu control in ALU to execute proper instruction&lt;br /&gt;*/&lt;br /&gt;module CONTROL(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [4:0] opcode,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output reg [3:0] alu_control,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output reg regwrite_control,memread_control,memwrite_control&lt;br /&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; always @(opcode)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case(opcode)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;#39;b00001: begin alu_control=4&amp;#39;b0001;&amp;nbsp; //add&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regwrite_control=1; memread_control=0; memwrite_control=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;#39;b00010: begin alu_control=4&amp;#39;b0010;&amp;nbsp; ///sub&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regwrite_control=1; memread_control=0; memwrite_control=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;#39;b00011: begin alu_control=4&amp;#39;b0011;&amp;nbsp; //mul&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regwrite_control=0; memread_control=0; memwrite_control=1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;#39;b00100: begin alu_control=4&amp;#39;b0100;&amp;nbsp; ///OR&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regwrite_control=0; memread_control=0; memwrite_control=1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;#39;b00101: begin alu_control=4&amp;#39;b0101;&amp;nbsp; ///AND&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regwrite_control=1; memread_control=0; memwrite_control=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;#39;b00110: begin alu_control=4&amp;#39;b0110;&amp;nbsp; ///XOR&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regwrite_control=0; memread_control=0; memwrite_control=1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;#39;b00111: begin alu_control=4&amp;#39;b0111;&amp;nbsp; ///NOT&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regwrite_control=0; memread_control=0; memwrite_control=1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;#39;b01000: begin alu_control=4&amp;#39;b1000;&amp;nbsp; //SL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regwrite_control=1; memread_control=1; memwrite_control=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;#39;b11001: begin alu_control=4&amp;#39;b1001;&amp;nbsp; //SR&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regwrite_control=1; memread_control=1; memwrite_control=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;#39;b01010: begin alu_control=4&amp;#39;b1010;&amp;nbsp; //COMPARE&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regwrite_control=1; memread_control=1; memwrite_control=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //5&amp;#39;b11010: begin ALU_control=4&amp;#39;b0000;&amp;nbsp; //SW&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //regwrite_control=1; memread_control=0; memwrite_control=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //5&amp;#39;b01010: begin ALU_control=4&amp;#39;bxxxx;&amp;nbsp; //LW&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //regwrite_control=0; memread_control=0; memwrite_control=1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default : begin alu_control = 4&amp;#39;b0001; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regwrite_control=1; memread_control=0; memwrite_control=0; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endcase &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;endmodule&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//////DATA MEMORY&lt;br /&gt;module Data_Mem(&lt;br /&gt;input clock, rd_mem_enable, wr_mem_enable,&lt;br /&gt;input [11:0] address,&lt;br /&gt;input [31:0] datawrite_to_mem,&lt;br /&gt;output reg [31:0] dataread_from_mem );&lt;br /&gt;&lt;br /&gt;reg [31:0] Data_Memory[8:0];&lt;br /&gt;&lt;br /&gt;initial begin&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Data_Memory[0] = 32&amp;#39;hFFFFFFFF;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Data_Memory[1] = 32&amp;#39;h00000001;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Data_Memory[2] = 32&amp;#39;h00000005;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Data_Memory[3] = 32&amp;#39;h00000003;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Data_Memory[4] = 32&amp;#39;h00000004;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Data_Memory[5] = 32&amp;#39;h00000000;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Data_Memory[6] = 32&amp;#39;hFFFFFFFF;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Data_Memory[7] = 32&amp;#39;h00000000;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[8] = 32&amp;#39;h00000008;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[9] = 32&amp;#39;h00000009;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[10] = 32&amp;#39;h0000000A;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[11] = 32&amp;#39;h0000000B;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[12] = 32&amp;#39;h0000000C;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[13] = 32&amp;#39;h0000000D;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[14] = 32&amp;#39;h0000000E;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[15] = 32&amp;#39;h0000000F;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[16] = 32&amp;#39;h00000010;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[17] = 32&amp;#39;h00000011;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[18] = 32&amp;#39;h00000012;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[19] = 32&amp;#39;h00000013;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[20] = 32&amp;#39;h00000014;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[21] = 32&amp;#39;h00000015;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[22] = 32&amp;#39;h00000016;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[23] = 32&amp;#39;h00000017;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[24] = 32&amp;#39;h00000018;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[25] = 32&amp;#39;h00000019;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[26] = 32&amp;#39;h0000001A;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[27] = 32&amp;#39;h0000001B;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[28] = 32&amp;#39;h0000001C;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[29] = 32&amp;#39;h0000001D;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Data_Memory[30] = 32&amp;#39;h0000001E;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Data_Memory[31] = 32&amp;#39;h0000001F;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; always@(posedge clock) begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(wr_mem_enable) begin&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Data_Memory[address] &amp;lt;= datawrite_to_mem;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(rd_mem_enable) begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dataread_from_mem &amp;lt;= Data_Memory[address];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dataread_from_mem &amp;lt;= 32&amp;#39;h00000000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;endmodule&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/////INST MEM&lt;br /&gt;/* &lt;br /&gt;&lt;br /&gt;*/&lt;br /&gt;module INST_MEM(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [31:0] PC,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input reset,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output [31:0] Instruction_Code&lt;br /&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg [7:0] Memory [43:0]; // Byte addressable memory with 32 locations&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assign Instruction_Code = {Memory[PC+3],Memory[PC+2],Memory[PC+1],Memory[PC]};&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; initial begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setting 32-bit instruction: add t1, s0,s1 =&amp;gt; 0x00940333 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[3] = 8&amp;#39;b0000_0000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[2] = 8&amp;#39;b0000_0001;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[1] = 8&amp;#39;b0111_1100;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[0] = 8&amp;#39;b0000_0001;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setting 32-bit instruction: sub t2, s2, s3 =&amp;gt; 0x413903b3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[7] = 8&amp;#39;b0000_0000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[6] = 8&amp;#39;b0000_0110;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[5] = 8&amp;#39;b1000_1111;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[4] = 8&amp;#39;b1110_0010;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setting 32-bit instruction: mul t0, s4, s5 =&amp;gt; 0x035a02b3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[11] = 8&amp;#39;b0000_0000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[10] = 8&amp;#39;b0000_0101;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[9] = 8&amp;#39;b0111_1100;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[8] = 8&amp;#39;b0000_0011;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setting 32-bit instruction: or t3, s6, s7 =&amp;gt; 0x017b4e33&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[15] = 8&amp;#39;b1111_1111;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[14] = 8&amp;#39;b1111_0100;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[13] = 8&amp;#39;b1010_0000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[12] = 8&amp;#39;b1010_0100;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setting 32-bit instruction: and &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[19] = 8&amp;#39;b0000_0000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[18] = 8&amp;#39;b0010_1001;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[17] = 8&amp;#39;b0001_1101;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[16] = 8&amp;#39;b0010_0101;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setting 32-bit instruction: xor &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[23] = 8&amp;#39;b0000_0000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[22] = 8&amp;#39;b0001_1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[21] = 8&amp;#39;b0000_1101;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[20] = 8&amp;#39;b0110_0110;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setting 32-bit instruction: not &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[27] = 8&amp;#39;b0000_0000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[26] = 8&amp;#39;b0010_1001;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[25] = 8&amp;#39;b0011_1101;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[24] = 8&amp;#39;b1100_0111;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setting 32-bit instruction: shift left &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[31] = 8&amp;#39;b0000_0000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[30] = 8&amp;#39;b0101_0111;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[29] = 8&amp;#39;b1100_0110;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[28] = 8&amp;#39;b0000_1000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setting 32-bit instruction: shift right &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[35] = 8&amp;#39;b0000_0000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[34] = 8&amp;#39;b0110_1010;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[33] = 8&amp;#39;b1101_0010;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[32] = 8&amp;#39;b0111_1001;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Setting 32-bit instruction: Campare&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[39] = 8&amp;#39;b0000_0000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[38] = 8&amp;#39;b0111_1010;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[37] = 8&amp;#39;b1101_0010;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[36] = 8&amp;#39;b0110_1010;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Setting 32-bit instruction:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[43] = 8&amp;#39;b0000_0000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[42] = 8&amp;#39;b0111_0111;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[41] = 8&amp;#39;b1101_0010;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory[40] = 8&amp;#39;b0111_0010;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;endmodule&lt;br /&gt;&lt;br /&gt;//IFU&lt;br /&gt;/*&lt;br /&gt;The instruction fetch unit has clock and reset pins as input and 32-bit instruction code as output.&lt;br /&gt;Internally the block has Instruction Memory, Program Counter(P.C) and an adder to increment counter by 4, &lt;br /&gt;on every positive clock edge.&lt;br /&gt;*/&lt;br /&gt;module IFU(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input clock,reset,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output [31:0] Instruction_Code&lt;br /&gt;);&lt;br /&gt;reg [31:0] PC = 32&amp;#39;b0;&amp;nbsp; // 32-bit program counter is initialized to zero&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; always @(posedge clock, posedge reset)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(reset == 1)&amp;nbsp; //If reset is one, clear the program counter&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PC &amp;lt;= 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PC &amp;lt;= PC+4;&amp;nbsp;&amp;nbsp; // Increment program counter on positive clock edge&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Initializing the instruction memory block&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INST_MEM instr_mem(.PC(PC),.reset(reset),.Instruction_Code(Instruction_Code));&lt;br /&gt;&lt;br /&gt;endmodule&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;///MUX&lt;br /&gt;&lt;br /&gt;module Mux_2X1 (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input mem_rd_select, // rd_mem_enable&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input wire [31:0] dataread_from_mem, regdata2,&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output reg [31:0] mux_out&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;always @(mem_rd_select or dataread_from_mem or regdata2) begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (mem_rd_select == 1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mux_out &amp;lt;= dataread_from_mem ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mux_out &amp;lt;= regdata2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;endmodule&lt;br /&gt;&lt;br /&gt;//DFlipFlop&lt;br /&gt;module DFlipFlop(D,clock,Q);&lt;br /&gt;input D; // Data input &lt;br /&gt;input clock; // clock input &lt;br /&gt;output reg Q; // output Q &lt;br /&gt;always @(posedge clock) &lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;Q &amp;lt;= D; &lt;br /&gt;end &lt;br /&gt;endmodule &lt;br /&gt;&lt;br /&gt;///DATA path&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;module DATAPATH(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [4:0]Read_reg_add1,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [4:0]Read_reg_add2,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [4:0]Reg_write_add,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [3:0]Alu_control,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [11:0]Address,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input Wr_reg_enable,Wr_mem_enable,Rd_mem_enable,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input clock,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input reset,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output OUTPUT&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Declaring internal wires that carry data&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wire zero_flag;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wire [31:0]Dataread_from_mem;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wire [31:0]read_data1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wire [31:0]read_data2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wire [31:0]Mux_out;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wire [31:0]Alu_result;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //wire [31:0]datawrite_to_reg;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Instantiating the register file&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG_FILE reg_file_module(.reg_read_add1(Read_reg_add1),.reg_read_add2(Read_reg_add2),.reg_write_add(Reg_write_add),.datawrite_to_reg(Alu_result),.read_data1(read_data1),.read_data2(read_data2),.wr_reg_enable(Wr_reg_enable),.clock(clock),.reset(reset));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Instanting ALU&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ALU alu_module(.A(read_data1), .B(Mux_out), .alu_control(Alu_control), .alu_result(Alu_result), .zero_flag(zero_flag));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Mux&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mux_2X1 mux(.mem_rd_select(Rd_mem_enable),.dataread_from_mem(Dataread_from_mem),.regdata2(read_data2),.mux_out(Mux_out));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Data Memory&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data_Mem DM(.clock(clock),.rd_mem_enable(Rd_mem_enable),.wr_mem_enable(Wr_mem_enable),.address(Address),.datawrite_to_mem(Alu_result),.dataread_from_mem(Dataread_from_mem));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Dflipflop&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DFlipFlop DF (.D(zero_flag), .Q(OUTPUT),.clock(clock));&lt;br /&gt;endmodule&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;A register file can read two registers and write in to one register. &lt;br /&gt;The RISC V register file contains total of 32 registers each of size 32-bit. &lt;br /&gt;Hence 5-bits are used to specify the register numbers that are to be read or written. &lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;Register Read: Register file always outputs the contents of the register corresponding to read register numbers specified. &lt;br /&gt;Reading a register is not dependent on any other signals.&lt;br /&gt;&lt;br /&gt;Register Write: Register writes are controlled by a control signal RegWrite. &amp;nbsp;&lt;br /&gt;Additionally the register file has a clock signal. &lt;br /&gt;The write should happen if RegWrite signal is made 1 and if there is positive edge of clock. &lt;br /&gt;*/&lt;br /&gt;module REG_FILE(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [4:0] reg_read_add1,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [4:0] reg_read_add2,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [4:0] reg_write_add,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input [31:0] datawrite_to_reg,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output [31:0] read_data1,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output [31:0] read_data2,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input wr_reg_enable,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input clock,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input reset&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg [31:0] reg_memory [31:0]; // 32 memory locations each 32 bits wide&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; initial begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[0] = 32&amp;#39;h00000000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[1] = 32&amp;#39;hFFFFFFFF;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[2] = 32&amp;#39;h00000002;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[3] = 32&amp;#39;hFFFFFFFF;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[4] = 32&amp;#39;h00000004;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[5] = 32&amp;#39;h01010101;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[6] = 32&amp;#39;h00000006;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[7] = 32&amp;#39;h00000000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[8] = 32&amp;#39;h10101010;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[9] = 32&amp;#39;h00000009;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[10] = 32&amp;#39;h0000000A;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[11] = 32&amp;#39;h0000000B;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[12] = 32&amp;#39;h0000000C;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[13] = 32&amp;#39;h0000000D;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[14] = 32&amp;#39;h0000000E;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[15] = 32&amp;#39;h0000000F;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[16] = 32&amp;#39;h00000010;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[17] = 32&amp;#39;h00000011;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[18] = 32&amp;#39;h00000012;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[19] = 32&amp;#39;h00000013;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[20] = 32&amp;#39;h00000014;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[21] = 32&amp;#39;h00000015;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reg_memory[22] = 32&amp;#39;h00000016;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reg_memory[23] = 32&amp;#39;h00000017;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reg_memory[24] = 32&amp;#39;h00000018;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reg_memory[25] = 32&amp;#39;h00000019;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reg_memory[26] = 32&amp;#39;h0000001A;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reg_memory[27] = 32&amp;#39;h0000001B;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reg_memory[28] = 32&amp;#39;h0000001C;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reg_memory[29] = 32&amp;#39;h0000001D;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reg_memory[30] = 32&amp;#39;h0000001E;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[31] = 32&amp;#39;hFFFFFFFF;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The register file will always output the vaules corresponding to read register numbers &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // It is independent of any other signal&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assign read_data1 = reg_memory[reg_read_add1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assign read_data2 = reg_memory[reg_read_add2];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If clock edge is positive and regwrite is 1, we write data to specified register&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; always @(posedge clock)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (wr_reg_enable) begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[reg_write_add] = datawrite_to_reg;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_memory[reg_write_add] = 32&amp;#39;h00000000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br /&gt;endmodule&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/////PROCESSOR&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;module PROCESSOR( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input clock, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input reset,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output Output&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wire [31:0] instruction_Code;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wire [3:0] ALu_control;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wire WR_reg_enable;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wire WR_mem_enable;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wire RD_mem_enable;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IFU IFU_module(.clock(clock), .reset(reset), .Instruction_Code(instruction_Code));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONTROL control_module(.opcode(instruction_Code[4:0]),.alu_control(ALu_control),.regwrite_control(WR_reg_enable),.memread_control(RD_mem_enable),.memwrite_control(WR_mem_enable));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAPATH datapath_module(.Wr_mem_enable(WR_mem_enable),.Rd_mem_enable(RD_mem_enable),.Read_reg_add1(instruction_Code[9:5]),.Read_reg_add2(instruction_Code[14:10]),.Reg_write_add(instruction_Code[19:15]),.Address(instruction_Code[31:20]),.Alu_control(ALu_control),.Wr_reg_enable(WR_reg_enable), .clock(clock), .reset(reset), .OUTPUT(Output));&lt;br /&gt;&lt;br /&gt;endmodule&lt;br /&gt;&lt;br /&gt;**********************************************************************************************************************************************************&lt;br /&gt;&lt;br /&gt;Below is my Synthesis.tcl file for genus synthesis&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;********************&lt;/p&gt;
&lt;p&gt;set_attribute lib_search_path &amp;quot;/home/sameer23185/Desktop/VDF_PROJECT/lib&amp;quot;&lt;br /&gt;set_attribute hdl_search_path &amp;quot;/home/sameer23185/Desktop/VDF_PROJECT&amp;quot;&lt;br /&gt;set_attribute library &amp;quot;/home/sameer23185/Desktop/VDF_PROJECT/lib/90/fast.lib&amp;quot;&lt;br /&gt;read_hdl Master.v&lt;br /&gt;elaborate&lt;br /&gt;read_sdc Min_area.sdc&lt;br /&gt;set_attribute hdl_preserve_unused_register true&lt;br /&gt;set_attribute delete_unloaded_seqs false&lt;br /&gt;set_attribute optimize_constant_0_flops false&lt;br /&gt;set_attribute optimize_constant_1_flops false&lt;br /&gt;set_attribute optimize_constant_latches false&lt;br /&gt;set_attribute optimize_constant_feedback_seqs false&lt;br /&gt;#set_attribute prune_unsued_logic false&lt;br /&gt;synthesize -to_mapped -effort medium&lt;br /&gt;write_hdl &amp;gt; report/HDL_min_Netlist.v&lt;br /&gt;write_sdc &amp;gt; report/constraints.sdc &lt;br /&gt;write_script &amp;gt; report/synthesis.g&lt;br /&gt;report_timing &amp;gt; report/synthesis_timing_report.rep&lt;br /&gt;report_power &amp;gt; report/synthesis_power_report.rep&lt;br /&gt;report_gates &amp;gt; report/synthesis_cell_report.rep&lt;br /&gt;report_area &amp;gt; report/synthesis_area_report.rep&lt;br /&gt;gui_show&lt;/p&gt;
&lt;p&gt;**********************************************&lt;br /&gt;&lt;br /&gt;WHEN I COMPARING MY GOLDEN.V WITH HDL_min_Netlist.v&amp;nbsp; during &amp;nbsp; conformal , I got&amp;nbsp; these&amp;nbsp; non-equivalent &amp;nbsp; point&amp;nbsp;&amp;nbsp; for&amp;nbsp;&amp;nbsp; every reg memory and for every data memory. I don&amp;#39;t know what to do with these non-equivalent point. I&amp;#39;ve been stuck here for the past four days. Please help me in this and how can I remove this non- equivalent point , since I am new to this I really don&amp;#39;t know what to do.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:480px;max-width:640px;" src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/31/WhatsApp-Image-2024_2D00_03_2D00_20-at-1.17.02-AM.jpeg" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:480px;max-width:640px;" src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/31/WhatsApp-Image-2024_2D00_03_2D00_20-at-1.17.27-AM.jpeg" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Error orprobe3086</title><link>https://community.cadence.com/thread/59064?ContentTypeID=0</link><pubDate>Tue, 12 Mar 2024 09:27:56 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:b608d607-4916-445e-a761-91dddfa39354</guid><dc:creator>elirazo</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/59064?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/59064/error-orprobe3086/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;img style="max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/31/Ekran-g_F600_r_FC00_nt_FC00_s_FC00_-2024_2D00_03_2D00_12-115258.png" /&gt;&lt;/p&gt;
&lt;p&gt;I got &amp;quot;no simulation data for marker&amp;quot; for each A&amp;lt;B, A=B and A&amp;gt;B markers. Simulation output doesn&amp;#39;t show these outputs but the inputs shown. How can I solve this error?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Regarding the loading of waveform signals in the waveform windown using the tcl command</title><link>https://community.cadence.com/thread/58973?ContentTypeID=0</link><pubDate>Mon, 26 Feb 2024 09:26:52 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:cc5f81d2-aba2-48ab-b205-e0d6d2faf60d</guid><dc:creator>rahulkumarKKrahul</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/58973?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/58973/regarding-the-loading-of-waveform-signals-in-the-waveform-windown-using-the-tcl-command/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am trying to load some of the signals of the design saved in the signals.svwf to the waveform windown via the tcl file, I am using the following commands but nothing works, Can you please help&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;-submit waveform loadsignals -using &amp;quot;Waveform 2&amp;quot; FB1.svwf but it gives me the below error&lt;/p&gt;
&lt;p&gt;-submit waveform new -reuse -name Waveforms&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:480px;max-width:640px;" src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/31/pastedimage1708939491873v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Merge several worklibs</title><link>https://community.cadence.com/thread/58931?ContentTypeID=0</link><pubDate>Mon, 19 Feb 2024 15:58:11 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:67e32f7f-92c5-42d6-ad40-efccc9b7bbee</guid><dc:creator>zzzzzzx</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/58931?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/58931/merge-several-worklibs/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I find there is a similar question 10 years ago and the answer is out of date, so I come to ask again.&lt;/p&gt;
&lt;p&gt;I have compiled 2 different blocks in 2 different paths, using basic xrun -f xxxx.f, generated 2 xcelium.d folder.&lt;/p&gt;
&lt;p&gt;Then I have to compile another block based on these 2, how can I link these 2 generated libraries while compiling the 3rd one?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>copy paste circuit from one schematic design to another</title><link>https://community.cadence.com/thread/58811?ContentTypeID=0</link><pubDate>Tue, 30 Jan 2024 08:59:20 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:8b9a73c7-e793-459f-9aa7-eaa5ffcc05ac</guid><dc:creator>andyStubbs</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/58811?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/58811/copy-paste-circuit-from-one-schematic-design-to-another/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi, have two designs and would like to copy paste one area of circuit from the old design to the new design, best way/approach and guidance please..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to identify old Orcad Schematic entry version</title><link>https://community.cadence.com/thread/58749?ContentTypeID=0</link><pubDate>Fri, 19 Jan 2024 10:49:20 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:616f994b-2270-43fb-819f-52d9e33b34ac</guid><dc:creator>pautax</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/58749?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/58749/how-to-identify-old-orcad-schematic-entry-version/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;br /&gt;Good morning,&lt;br /&gt;I dug up an old project from 2005 and I should open the schematic to check some things.&lt;br /&gt;This is the schematic of a XILINX XC95108-pq160 CPLD which the XILINX ISE 6.1 software then translated and compiled, to generate a JEDEC file to burn CPLD.&lt;br /&gt;&lt;br /&gt;My problem is that I can&amp;#39;t open schematics with the versions of Orcad Schematic Entry that I have.&lt;br /&gt;Can anyone help me understand which version of Orcad Schematic Entry I need to install to see these files?&lt;br /&gt;&lt;br /&gt;I shared the files on:&lt;br /&gt;&lt;a href="https://drive.google.com/file/d/1xDgUTFFFPJ0BA51pZ2QDgqddtG4T25gt/view?usp=sharing"&gt;drive.google.com/.../view&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thank you very much&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to generate "Sheet Name" column in a pin report?</title><link>https://community.cadence.com/thread/58340?ContentTypeID=0</link><pubDate>Wed, 08 Nov 2023 03:52:26 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:03043123-f53a-46cc-a063-3ccda2476421</guid><dc:creator>Gan</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/58340?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/58340/how-to-generate-sheet-name-column-in-a-pin-report/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi everyone,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Is there any&amp;nbsp;method to generate &amp;quot;Sheet&amp;quot; column for a pin report like table below?&amp;nbsp;The column &amp;quot;Name.Pin&amp;quot; &amp;amp; &amp;quot;Signal&amp;quot; can be generated easily, but I have no idea to generate the column of &amp;quot;Sheet Name&amp;quot;.&lt;/p&gt;
&lt;p&gt;The software using here are Allegro Design Entry HDL, OrCAD Capture and Allegro PCB Editor. Can these 3 software generate &amp;quot;Sheet Name&amp;quot; data?&lt;/p&gt;
&lt;table width="467"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="143"&gt;Name.Pin&lt;/td&gt;
&lt;td width="164"&gt;Signal&lt;/td&gt;
&lt;td width="160"&gt;Sheet Name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C1_1.1&lt;/td&gt;
&lt;td&gt;N301321&lt;/td&gt;
&lt;td&gt;SITE1_1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C1_1.2&lt;/td&gt;
&lt;td&gt;GND_ANA_1&lt;/td&gt;
&lt;td&gt;SITE1_1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C1_2.1&lt;/td&gt;
&lt;td&gt;N180243&lt;/td&gt;
&lt;td&gt;SITE2_1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C1_2.2&lt;/td&gt;
&lt;td&gt;GND_ANA_2&lt;/td&gt;
&lt;td&gt;SITE2_1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Thank you.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Unable to open 64bit version of simvison</title><link>https://community.cadence.com/thread/58260?ContentTypeID=0</link><pubDate>Tue, 24 Oct 2023 22:09:21 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:3e3e23ae-ed01-4205-82a3-2058900f98c4</guid><dc:creator>sthoppa</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/58260?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/logic-design/58260/unable-to-open-64bit-version-of-simvison/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I am not able to open 64bit version of simvision using the following :&lt;/p&gt;
&lt;p&gt;simvision -64 -wav &amp;quot;path to wav&amp;quot;&lt;/p&gt;
&lt;p&gt;This throws the error&amp;nbsp;&amp;quot;&amp;nbsp; /lib64/libc.so.6: version `GLIBC_2.14&amp;#39; not found&amp;quot;&lt;/p&gt;
&lt;p&gt;I am only able to open it without the -64 option.&lt;/p&gt;
&lt;p&gt;As a result I am not able to use the source browser feature since the simulation was run in 64 bit mode.&lt;/p&gt;
&lt;p&gt;Need suggestion on how to resolve this. Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>