in A Guide to Build A Mini Guitar/Audio Amplifier Based on LM386 By community.cadence.com Published On :: Thu, 29 Mar 2018 10:05:29 GMT Hey, is it suitable to post here? I wanted a small yet robust amp for practicing while I travel. I wanted something that would fit in my pocket yet still be loud enough to hear.Presented here is a amplifier based upon the LM386 Audio Amplifier. There is a standard circuit in the data sheet that is an excellent place to start. Materials needed:1 - HM359 project box1 - 668-1237 speaker1 - BS6I battery conn1 - CP1-3515 stereo jack1 - SC1316 stereo jack2 - 450-1742 knob1 - 679-1856 switch1- 3mm LED1 - 10 ohm 1/4W resistor1 - 10uF ceramic cap1 - .05 uF ceramic cap1 - 420 uF electrolytic cap1 - 8 ohm resistor2 - 51AADB24 10K pot1 - HM1252 circuit board1 - LM386N-4 amplifier Wire and SolderStep 1: Prep the enclosure Careful planning is required the first time you free build a circuit. The circuit board has solder pads but not traces. You will have to use thin wire to make the connections for the circuit to work. Begin by laying out the components on the circuit board that will need to pass through the enclosure. This enclosure has a removable top panel which will be used for the volume, gain and 1/4 inch stereo jack. Space is limited to check for fit before drilling. All drilling of the plastic should be done with a step drill bit. This will make the cleanest holes without breaking the plastic. Lay out the pots a few spaces back but still in line with the desired position. mark the center of each pot shaft then drill with a step drill tot he tightest fitting hole size. Make a center mark between the pot holes then drill for the stereo jack On the inside of the top cover position and mark where the speaker will go. Make a template on grid paper the same size as the speaker. Tape the template to the inside of the cover as shown then use a step bit to drill holes on the center of every square in the grid. This will form the speaker grille. clean up the holes. Step 2: place the major components Solder the pots to the circuit board as shown. then place the stereo jack(note in order to get the final fit I had to trim and modify the stereo jack housing a little) Next, position and solder the switch on the circuit board and mark a space on the top cover that will need to be cut for the switch opening. Use a small file to cut the opening. Use a sharp knife to bevel the edges of the switch hole to allow for easier operation. Drill a hole in the side of the upper case for the headphone jack and fasten it in place. ( I had to recess the hole a bit for the retaining nut to grab) Step 3: Build the circuit The speaker is held in place by using 2 small brackets that come with the serial cable connector hood. ( I had a bunch around that would never be used) Refer the the circuit shown from the datasheet and the datasheet for the LM386. The basic circuit only has the volume control while the datasheet shows how to add a gain control across pins 1 and 8 of the amplifier. The speaker is wired in series with the headphone jack. The headphone jack has internal switches that shut the speaker off when the phones are plugged in. I chose to use a chip socket for the amplifier which make prototyping easier since you do not have to worry about solder heating as much. Carefully lay the circuit out on the board and begin wiring components together. I added a second pot and cap in series between pins 1 and 8 of the amp to be able to manually set the gain in addition to volume. Check you connections with a multimeter before adding the amplifier. I chose to add a LED indicator for power. This was done by using one side of switch contacts from the battery. The LED is in series with a 220 ohm resistor. Assemble the case and insert the battery. Step 4: Final notes If the speaker is noisy while the headphones work normally, try reversing the speaker connections. If it does not correct the issue, connect a 8 ohm resistor across the speaker contacts. You may have to place an insulating layer between the speaker and the place where the stereo jack comes through to prevent contact. This will be noted by a loud buzz. You may have to add some foam in the battery compartment to stop the battery from banging around. For reference, I've also read an article about amplifiers: http://www.apogeeweb.net/article/60.html Thanks for reading! Full Article
in TensorFlow Optimization in DSVM: Azure and Cadence By community.cadence.com Published On :: Mon, 22 Oct 2018 12:41:39 GMT Hello Folks, Problem statement first: How does one properly setup tensorflow for running on a DSVM using a remote Docker environment? Can this be done in aml_config/*.runconfig? I receive the following message and I would like to be able to utilize the increased speeds of the extended FMA operations. tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA Background: I utilize a local docker environment managed through Azure ML Workbench for initial testing and code validation so that I'm not running an expensive DSVM constantly. Once I assess that my code is to my liking, I then run it on a remote docker instance on an Azure DSVM. I want a consistent conda environment across my compute environments, so this works out extremely well. However, I cannot figure out how to control the tensorflow build to optimize for the hardware at hand (i.e. my local docker on macOS vs. remote docker on Ubuntu DSVM) Full Article
in Using oscillograph waveform file CSV as the Pspice simulation signal source By community.cadence.com Published On :: Tue, 20 Nov 2018 06:28:04 GMT hi, I save the waveform file of the oscilloscope as CSV file format. Now, I need to use this waveform file as the source of the low-pass filter . I searched and read the PSPICE help documents, and did not find any methods. How to realize it? Are there any reference documents or examples? Thanks! Full Article
in Path mapping for C Firmware source files when debugging By community.cadence.com Published On :: Mon, 25 Feb 2019 16:24:37 GMT Hi, i am compiling firmware under Windows transfer the binaries and the sources to Linux to simulate/debug there. The problem is that the paths in the DWARF debug info of the .elf file are the absolute Windows paths as set by the compiler so they are useless under Linux. Is it possible to configure mappings of these paths to the Linux paths when simulating/debugging like with e.g. GDB (https://sourceware.org/gdb/current/onlinedocs/gdb/Source-Path.html#index-set-substitute_002dpath)? thx, Peter Full Article
in USB crash issue in Linux 4.14.62 By community.cadence.com Published On :: Tue, 16 Apr 2019 07:16:31 GMT Hi , FIrst of all , I hope I have posted my query in the right place . I am expecting software support/suggestions for the below issue. I am working on LTE which use USB interface and the Host Controller is USB 2.0 . The BSP is from NXP which supports Cadence USB 3.0 Host controller and with USB 3.0 supported cadence driver.NXP had used the USB 3.0 host controller for USB type C based device. Cadence USB 3.0 based device driver seems to be backward compatible for USB 2.0 host controller .Since basic LTE functionalities seems to be working fine I continued to use the same driver in Linux 4.14.62 But I am facing a kernel warning of unhandled interrupt and the crash log points to cdns_irq function as shown below The crash/kerenel warning is very random and not occuring all the time. .691533] irq 36: nobody cared (try booting with the "irqpoll" option) [ 1.698242] CPU: 0 PID: 87 Comm: kworker/0:1 Not tainted 4.9.88 #24 [ 1.704509] Hardware name: Freescale i.MX8QXP MEK (DT) [ 1.709659] Workqueue: pm pm_runtime_work [ 1.713675] Call trace: [ 1.716123] [<ffff0000080897d0>] dump_backtrace+0x0/0x1b0 [ 1.721523] [<ffff000008089994>] show_stack+0x14/0x20 [ 1.726582] [<ffff0000083daff0>] dump_stack+0x94/0xb4 [ 1.731638] [<ffff00000810f064>] __report_bad_irq+0x34/0xf0 [ 1.737212] [<ffff00000810f4ec>] note_interrupt+0x2e4/0x330 [ 1.742790] [<ffff00000810c594>] handle_irq_event_percpu+0x44/0x58 [ 1.748974] [<ffff00000810c5f0>] handle_irq_event+0x48/0x78 [ 1.754553] [<ffff0000081100a8>] handle_fasteoi_irq+0xc0/0x1b0 [ 1.760390] [<ffff00000810b584>] generic_handle_irq+0x24/0x38 [ 1.766141] [<ffff00000810bbe4>] __handle_domain_irq+0x5c/0xb8 [ 1.771979] [<ffff000008081798>] gic_handle_irq+0x70/0x15c 1.807416] 7a40: 00000000000002ba ffff80002645bf00 00000000fa83b2da 0000000001fe116e [ 1.815252] 7a60: ffff000088bf7c47 ffffffffffffffff 00000000000003f8 ffff0000085c47b8 [ 1.823088] 7a80: 0000000000000010 ffff800026484600 0000000000000001 ffff8000266e9718 [ 1.830925] 7aa0: ffff00000b8b0008 ffff800026784280 ffff00000b8b000c ffff00000b8d8018 [ 1.838760] 7ac0: 0000000000000001 ffff000008b76000 0000000000000000 ffff800026497b20 [ 1.846596] 7ae0: ffff00000810bd24 ffff800026497b20 ffff000008851d18 0000000000000145 [ 1.854433] 7b00: ffff000008b8d6c0 ffff0000081102d8 ffffffffffffffff ffff00000810dda8 [ 1.862268] [<ffff000008082eec>] el1_irq+0xac/0x120 [ 1.867155] [<ffff000008851d18>] _raw_spin_unlock_irqrestore+0x18/0x48 [ 1.873684] [<ffff00000810bd24>] __irq_put_desc_unlock+0x1c/0x48 [ 1.879695] [<ffff00000810de10>] enable_irq+0x48/0x70 [ 1.884756] [<ffff0000085ba8f8>] cdns3_enter_suspend+0x1f0/0x440 [ 1.890764] [<ffff0000085baca0>] cdns3_runtime_suspend+0x48/0x88 [ 1.896776] [<ffff0000084cf398>] pm_generic_runtime_suspend+0x28/0x40 [ 1.903223] [<ffff0000084dc3e8>] genpd_runtime_suspend+0x88/0x1d8 [ 1.909320] [<ffff0000084d0e08>] __rpm_callback+0x70/0x98 [ 1.914724] [<ffff0000084d0e50>] rpm_callback+0x20/0x88 [ 1.919954] [<ffff0000084d1b2c>] rpm_suspend+0xf4/0x4c8 [ 1.925184] [<ffff0000084d20fc>] rpm_idle+0x124/0x168 [ 1.930240] [<ffff0000084d26c0>] pm_runtime_work+0xa0/0xb8 [ 1.935732] [<ffff0000080dc1dc>] process_one_work+0x1dc/0x380 [ 1.941481] [<ffff0000080dc3c8>] worker_thread+0x48/0x4d0 [ 1.946885] [<ffff0000080e2408>] kthread+0xf8/0x100[ 1.957080] handlers: [ 1.959350] [<ffff0000085ba668>] cdns3_irq [ 1.963449] Disabling IRQ #36 Kindly provide a solution to solve this issue. Thanks & Regards, Anjali Full Article
in Arduino: how to save the dynamic memory? By community.cadence.com Published On :: Wed, 06 Nov 2019 07:25:31 GMT When the Arduino Mega2560 is added to the first serial port, the dynamic memory is 2000 bytes, and when the second serial serial is added, the dynamic memory is 4000 bytes. Now I need to add the third Serial serial port. The dynamic memory is 6000 bytes. Due to the many variables in the program itself, the dynamic memory is not enough. Please help me how to save the dynamic memory? Full Article
in Matlab cannot open Pspice, to prompt orCEFSimpleUI.exe that it has stopped working! By community.cadence.com Published On :: Thu, 09 Apr 2020 12:08:58 GMT Cadence_SPB_17.4-2019 + Matlab R2019a 请参考本文档中的步骤进行操作 1,打开BJT_AMP.opj 2,设置Matlab路径 3,打开BJT_AMP_SLPS.slx 4,打开后,设置PSpiceBlock,出现或CEFSimpleUI.exe停止工作 5,添加模块 6,相同 7,打开pspsim.slx 8,相同 9,打开C: Cadence Cadence_SPB_17.4-2019 tools bin orCEFSimpleUI.exe和orCEFSimple.exe 10,相同 我想问一下如何解决,非常感谢! Full Article
in How do I use TCL to get connections between modules in INNOVUS. By community.cadence.com Published On :: Sun, 20 Sep 2020 04:04:00 GMT Please give me some ideas. Thank you very much. Full Article
in How to remove incorrect nets error in cadence? By community.cadence.com Published On :: Tue, 03 Nov 2020 10:58:16 GMT While doing the lvs it's showing an error in gnd connection, I am not being able to understand exactly what is the error and what do I need to do to remove this error? Full Article
in How to turn vavlog IO width mismatch error to warning? By community.cadence.com Published On :: Wed, 13 Sep 2023 07:15:52 GMT Hi, all. When I use vavlog to compile verilog rtl, it will recognize IO width mismatch problem as a fatal error. How to turn the error into warning? VCS can use -error=noIOPCWM to ingore the error. Is vavlog has similar arguments? Full Article
in The code used to Replace Cache useing TCL command By community.cadence.com Published On :: Fri, 19 Apr 2024 10:16:17 GMT use the DBO function DboLib_RepalceCache to do the job of "Replace cache" in order to easy the job , type the code below . the code is a wrapper of the function metioned above set lStatus [DboState]set lSession $::DboSession_s_pDboSessionDboSession -this $lSessionset lDesignsIter [$lSession NewDesignsIter $lStatus]set lDesign [$lDesignsIter NextDesign $lStatus]set lNullObj NULL set oldLibName [DboTclHelper_sMakeCString "E:\PROJECT_WORKLIB.OLB"]set newLibName [DboTclHelper_sMakeCString "E:\MCU_PARTS_LIB.OLB"] #DboLib_ReplaceCache wrapperproc ReplaceCacheByName {partName} { global oldLibName global newLibName global lDesign set lPartStr [DboTclHelper_sMakeCString $partName] #set lNewStr [DboTclHelper_sMakeCString $newName] $lDesign ReplaceCache $lPartStr $oldLibName $lPartStr $newLibName 0 1} then use the tcl command like below to do the real job : ReplaceCacheByName "CL10B104KB8NNNC_C12" Full Article
in How to design enhancement mode eGaN (EPC8002) switch in cadence By community.cadence.com Published On :: Tue, 06 Aug 2024 08:44:04 GMT Hi, I need to design EPC8002 eGaN switch in cadence. Can someone provide me step by step guide on hoe to add EPC8002 into my cadence. I am working on BCD180. Thank you Ihsan Full Article
in Here Is Why the Indian Voter Is Saddled With Bad Economics By indiauncut.com Published On :: 2019-02-03T03:54:17+00:00 This is the 15th installment of The Rationalist, my column for the Times of India. It’s election season, and promises are raining down on voters like rose petals on naïve newlyweds. Earlier this week, the Congress party announced a minimum income guarantee for the poor. This Friday, the Modi government released a budget full of sops. As the days go by, the promises will get bolder, and you might feel important that so much attention is being given to you. Well, the joke is on you. Every election, HL Mencken once said, is “an advance auction sale of stolen goods.” A bunch of competing mafias fight to rule over you for the next five years. You decide who wins, on the basis of who can bribe you better with your own money. This is an absurd situation, which I tried to express in a limerick I wrote for this page a couple of years ago: POLITICS: A neta who loves currency notes/ Told me what his line of work denotes./ ‘It is kind of funny./ We steal people’s money/And use some of it to buy their votes.’ We’re the dupes here, and we pay far more to keep this circus going than this circus costs. It would be okay if the parties, once they came to power, provided good governance. But voters have given up on that, and now only want patronage and handouts. That leads to one of the biggest problems in Indian politics: We are stuck in an equilibrium where all good politics is bad economics, and vice versa. For example, the minimum guarantee for the poor is good politics, because the optics are great. It’s basically Garibi Hatao: that slogan made Indira Gandhi a political juggernaut in the 1970s, at the same time that she unleashed a series of economic policies that kept millions of people in garibi for decades longer than they should have been. This time, the Congress has released no details, and keeping it vague makes sense because I find it hard to see how it can make economic sense. Depending on how they define ‘poor’, how much income they offer and what the cost is, the plan will either be ineffective or unworkable. The Modi government’s interim budget announced a handout for poor farmers that seemed rather pointless. Given our agricultural distress, offering a poor farmer 500 bucks a month seems almost like mockery. Such condescending handouts solve nothing. The poor want jobs and opportunities. Those come with growth, which requires structural reforms. Structural reforms don’t sound sexy as election promises. Handouts do. A classic example is farm loan waivers. We have reached a stage in our politics where every party has to promise them to assuage farmers, who are a strong vote bank everywhere. You can’t blame farmers for wanting them – they are a necessary anaesthetic. But no government has yet made a serious attempt at tackling the root causes of our agricultural crisis. Why is it that Good Politics in India is always Bad Economics? Let me put forth some possible reasons. One, voters tend to think in zero-sum ways, as if the pie is fixed, and the only way to bring people out of poverty is to redistribute. The truth is that trade is a positive-sum game, and nations can only be lifted out of poverty when the whole pie grows. But this is unintuitive. Two, Indian politics revolves around identity and patronage. The spoils of power are limited – that is indeed a zero-sum game – so you’re likely to vote for whoever can look after the interests of your in-group rather than care about the economy as a whole. Three, voters tend to stay uninformed for good reasons, because of what Public Choice economists call Rational Ignorance. A single vote is unlikely to make a difference in an election, so why put in the effort to understand the nuances of economics and governance? Just ask, what is in it for me, and go with whatever seems to be the best answer. Four, Politicians have a short-term horizon, geared towards winning the next election. A good policy that may take years to play out is unattractive. A policy that will win them votes in the short term is preferable. Sadly, no Indian party has shown a willingness to aim for the long term. The Congress has produced new Gandhis, but not new ideas. And while the BJP did make some solid promises in 2014, they did not walk that talk, and have proved to be, as Arun Shourie once called them, UPA + Cow. Even the Congress is adopting the cow, in fact, so maybe the BJP will add Temple to that mix? Benjamin Franklin once said, “Democracy is two wolves and a lamb voting on what to have for lunch.” This election season, my friends, the people of India are on the menu. You have been deveined and deboned, marinated with rhetoric, seasoned with narrative – now enter the oven and vote. The India Uncut Blog © 2010 Amit Varma. All rights reserved. Follow me on Twitter. Full Article
in India’s Problem is Poverty, Not Inequality By indiauncut.com Published On :: 2019-02-17T04:23:30+00:00 This is the 16th installment of The Rationalist, my column for the Times of India. Steven Pinker, in his book Enlightenment Now, relates an old Russian joke about two peasants named Boris and Igor. They are both poor. Boris has a goat. Igor does not. One day, Igor is granted a wish by a visiting fairy. What will he wish for? “I wish,” he says, “that Boris’s goat should die.” The joke ends there, revealing as much about human nature as about economics. Consider the three things that happen if the fairy grants the wish. One, Boris becomes poorer. Two, Igor stays poor. Three, inequality reduces. Is any of them a good outcome? I feel exasperated when I hear intellectuals and columnists talking about economic inequality. It is my contention that India’s problem is poverty – and that poverty and inequality are two very different things that often do not coincide. To illustrate this, I sometimes ask this question: In which of the following countries would you rather be poor: USA or Bangladesh? The obvious answer is USA, where the poor are much better off than the poor of Bangladesh. And yet, while Bangladesh has greater poverty, the USA has higher inequality. Indeed, take a look at the countries of the world measured by the Gini Index, which is that standard metric used to measure inequality, and you will find that USA, Hong Kong, Singapore and the United Kingdom all have greater inequality than Bangladesh, Liberia, Pakistan and Sierra Leone, which are much poorer. And yet, while the poor of Bangladesh would love to migrate to unequal USA, I don’t hear of too many people wishing to go in the opposite direction. Indeed, people vote with their feet when it comes to choosing between poverty and inequality. All of human history is a story of migration from rural areas to cities – which have greater inequality. If poverty and inequality are so different, why do people conflate the two? A key reason is that we tend to think of the world in zero-sum ways. For someone to win, someone else must lose. If the rich get richer, the poor must be getting poorer, and the presence of poverty must be proof of inequality. But that’s not how the world works. The pie is not fixed. Economic growth is a positive-sum game and leads to an expansion of the pie, and everybody benefits. In absolute terms, the rich get richer, and so do the poor, often enough to come out of poverty. And so, in any growing economy, as poverty reduces, inequality tends to increase. (This is counter-intuitive, I know, so used are we to zero-sum thinking.) This is exactly what has happened in India since we liberalised parts of our economy in 1991. Most people who complain about inequality in India are using the wrong word, and are really worried about poverty. Put a millionaire in a room with a billionaire, and no one will complain about the inequality in that room. But put a starving beggar in there, and the situation is morally objectionable. It is the poverty that makes it a problem, not the inequality. You might think that this is just semantics, but words matter. Poverty and inequality are different phenomena with opposite solutions. You can solve for inequality by making everyone equally poor. Or you could solve for it by redistributing from the rich to the poor, as if the pie was fixed. The problem with this, as any economist will tell you, is that there is a trade-off between redistribution and growth. All redistribution comes at the cost of growing the pie – and only growth can solve the problem of poverty in a country like ours. It has been estimated that in India, for every one percent rise in GDP, two million people come out of poverty. That is a stunning statistic. When millions of Indians don’t have enough money to eat properly or sleep with a roof over their heads, it is our moral imperative to help them rise out of poverty. The policies that will make this possible – allowing free markets, incentivising investment and job creation, removing state oppression – are likely to lead to greater inequality. So what? It is more urgent to make sure that every Indian has enough to fulfil his basic needs – what the philosopher Harry Frankfurt, in his fine book On Inequality, called the Doctrine of Sufficiency. The elite in their airconditioned drawing rooms, and those who live in rich countries, can follow the fashions of the West and talk compassionately about inequality. India does not have that luxury. The India Uncut Blog © 2010 Amit Varma. All rights reserved. Follow me on Twitter. Full Article
in Lessons from an Ankhon Dekhi Prime Minister By indiauncut.com Published On :: 2019-05-05T03:17:51+00:00 This is the 19th installment of The Rationalist, my column for the Times of India. A friend of mine was very impressed by the interview Narendra Modi granted last week to Akshay Kumar. ‘Such a charming man, such great work ethic,’ he gushed. ‘He is the kind of uncle I would want my kids to have.’ And then, in the same breath, he asked, ‘How can such a good man be such a bad prime minister?” I don’t want to be uncharitable and suggest that Modi’s image is entirely manufactured, so let’s take the interview at face value. Let’s also grant Modi his claims about the purity of his neeyat (intentions), and reframe the question this way: when it comes to public policy, why do good intentions often lead to bad outcomes? To attempt an answer, I’ll refer to a story a friend of mine, who knows Modi well, once told me about him. Modi was chilling with his friends at home more than a decade ago, and told them an incident from his childhood. His mother was ill once, and the young Narendra was tending to her. The heat was enervating, so the boy went to the switchboard to switch on the fan. But there was no electricity. My friend said that as he told this story, Modi’s eyes filled with tears. Even after all these years, he was moved by the memory. My friend used this story to make the point that Modi’s vision of the world is experiential. If he experiences something, he understands it. When he became chief minister of Gujarat, he made it his stated mission to get reliable electricity to every part of Gujarat. No doubt this was shaped by the time he flicked a switch as a young boy and the fan did not budge. Similarly, he has given importance to things like roads and cleanliness, since he would have experienced the impact of those as a young man. My term for him, inspired by Rajat Kapoor’s 2014 film, is ‘the ankhon dekhi prime minister’. At one level, this is a good thing. He sees a problem and works for the rest of his life to solve it. But what of things he cannot experience? The economy is a complex beast, as is society itself, and beyond a certain level, you need to grasp abstract concepts to understand how the world works. You cannot experience them. For example, spontaneous order, or the idea that society and markets, like language, cannot be centrally directed or planned. Or the positive-sum nature of things, which is the engine of our prosperity: the idea that every transaction is a win-win game, and that for one person to win, another does not have to lose. Or, indeed, respect for individual rights and free speech. One understands abstract concepts by reading about them, understanding them, applying them to the real world. Modi is not known to be a reader, and this is not his fault. Given his background, it is a near-miracle that he has made it this far. He wasn’t born into a home with a reading culture, and did not have either the resources or the time when he was young to devote to reading. The only way he could learn about the world, thus, was by experiencing it. There are two lessons here, one for Modi himself and others in his position, and another for everyone. The lesson in this for Modi is a lesson for anyone who rises to such an important position, even if he is the smartest person in the world. That lesson is to have humility about the bounds of your knowledge, and to surround yourself with experts who can advise you well. Be driven by values and not confidence in your own knowledge. Gather intellectual giants around you, and stand on their shoulders. Modi did not do this in the case of demonetisation, which he carried out against the advice of every expert he consulted. We all know the damage it caused to the economy. The other learning from this is for all of us. How do we make sense of the world? By connecting dots. An ankhon-dekhi approach will get us very few dots, and our view of the world will be blurred and incomplete. The best way to gather more dots is reading. The more we read, the better we understand the world, and the better the decisions we take. When we can experience a thousand lives through books, why restrict ourselves to one? A good man with noble intentions can make bad decisions with horrible consequences. The only way to hedge against this is by staying humble and reading more. So when you finish reading this piece, think of an unread book that you’d like to read today – and read it! The India Uncut Blog © 2010 Amit Varma. All rights reserved. Follow me on Twitter. Full Article
in Can Amit Shah do for India what he did for the BJP? By indiauncut.com Published On :: 2019-06-02T02:07:40+00:00 This is the 20th installment of The Rationalist, my column for the Times of India. Amit Shah’s induction into the union cabinet is such an interesting moment. Even partisans who oppose the BJP, as I do, would admit that Shah is a political genius. Under his leadership, the BJP has become an electoral behemoth in the most complicated political landscape in the world. The big question that now arises is this: can Shah do for India what he did for the BJP? This raises a perplexing question: in the last five years, as the BJP has flourished, India has languished. And yet, the leadership of both the party and the nation are more or less the same. Then why hasn’t the ability to manage the party translated to governing the country? I would argue that there are two reasons for this. One, the skills required in those two tasks are different. Two, so are the incentives in play. Let’s look at the skills first. Managing a party like the BJP is, in some ways, like managing a large multinational company. Shah is a master at top-down planning and micro-management. How he went about winning the 2014 elections, described in detail in Prashant Jha’s book How the BJP Wins, should be a Harvard Business School case study. The book describes how he fixed the BJP’s ground game in Uttar Pradesh, picking teams for 147,000 booths in Uttar Pradesh, monitoring them, and keeping them accountable. Shah looked at the market segmentation in UP, and hit upon his now famous “60% formula”. He realised he could not deliver the votes of Muslims, Yadavs and Jatavs, who were 40% of the population. So he focussed on wooing the other 60%, including non-Yadav OBCs and non-Jatav Dalits. He carried out versions of these caste reconfigurations across states, and according to Jha, covered “over 5 lakh kilometres” between 2014 and 2017, consolidating market share in every state in this country. He nurtured “a pool of a thousand new OBC and Dalit leaders”, going well beyond the posturing of other parties. That so many Dalits and OBCs voted for the BJP in 2019 is astonishing. Shah went past Mandal politics, managing to subsume previously antagonistic castes and sub-castes into a broad Hindutva identity. And as the BJP increased its depth, it expanded its breadth as well. What it has done in West Bengal, wiping out the Left and weakening Mamata Banerjee, is jaw-dropping. With hindsight, it may one day seem inevitable, but only a madman could have conceived it, and only a genius could have executed it. Good man to be Home Minister then, eh? Not quite. A country is not like a large company or even a political party. It is much too complex to be managed from the top down, and a control freak is bound to flounder. The approach needed is very different. Some tasks of governance, it is true, are tailor-made for efficient managers. Building infrastructure, taking care of roads and power, building toilets (even without an underlying drainage system) and PR campaigns can all be executed by good managers. But the deeper tasks of making an economy flourish require a different approach. They need a light touch, not a heavy hand. The 20th century is full of cautionary tales that show that economies cannot be centrally planned from the top down. Examples of that ‘fatal conceit’, to use my hero Friedrich Hayek’s term, include the Soviet Union, Mao’s China, and even the lady Modi most reminds me of, Indira Gandhi. The task of the state, when it comes to the economy, is to administer a strong rule of law, and to make sure it is applied equally. No special favours to cronies or special interest groups. Just unleash the natural creativity of the people, and don’t try to micro-manage. Sadly, the BJP’s impulse, like that of most governments of the past, is a statist one. India should have a small state that does a few things well. Instead, we have a large state that does many things badly, and acts as a parasite on its people. As it happens, the few things that we should do well are all right up Shah’s managerial alley. For example, the rule of law is effectively absent in India today, especially for the poor. As Home Minister, Shah could fix this if he applied the same zeal to governing India as he did to growing the BJP. But will he? And here we come to the question of incentives. What drives Amit Shah: maximising power, or serving the nation? What is good for the country will often coincide with what is good for the party – but not always. When they diverge, which path will Shah choose? So much rests on that. The India Uncut Blog © 2010 Amit Varma. All rights reserved. Follow me on Twitter. Full Article
in Trump and Modi are playing a Lose-Lose game By indiauncut.com Published On :: 2019-06-23T03:26:43+00:00 This is the 22nd installment of The Rationalist, my column for the Times of India. Trade wars are on the rise, and it’s enough to get any nationalist all het up and excited. Earlier this week, Narendra Modi’s government announced that it would start imposing tariffs on 28 US products starting today. This is a response to similar treatment towards us from the US. There is one thing I would invite you to consider: Trump and Modi are not engaged in a war with each other. Instead, they are waging war on their own people. Let’s unpack that a bit. Part of the reason Trump came to power is that he provided simple and wrong answers for people’s problems. He responded to the growing jobs crisis in middle America with two explanations: one, foreigners are coming and taking your jobs; two, your jobs are being shipped overseas. Both explanations are wrong but intuitive, and they worked for Trump. (He is stupid enough that he probably did not create these narratives for votes but actually believes them.) The first of those leads to the demonising of immigrants. The second leads to a demonising of trade. Trump has acted on his rhetoric after becoming president, and a modern US version of our old ‘Indira is India’ slogan might well be, “Trump is Tariff. Tariff is Trump.” Contrary to the fulminations of the economically illiterate, all tariffs are bad, without exception. Let me illustrate this with an example. Say there is a fictional product called Brump. A local Brump costs Rs 100. Foreign manufacturers appear and offer better Brumps at a cheaper price, say Rs 90. Consumers shift to foreign Brumps. Manufacturers of local Brumps get angry, and form an interest group. They lobby the government – or bribe it with campaign contributions – to impose a tariff on import of Brumps. The government puts a 20-rupee tariff. The foreign Brumps now cost Rs 110, and people start buying local Brumps again. This is a good thing, right? Local businesses have been helped, and local jobs have been saved. But this is only the seen effect. The unseen effect of this tariff is that millions of Brump buyers would have saved Rs 10-per-Brump if there were no tariffs. This money would have gone out into the economy, been part of new demand, generated more jobs. Everyone would have been better off, and the overall standard of living would have been higher. That brings to me to an essential truth about tariffs. Every tariff is a tax on your own people. And every intervention in markets amounts to a distribution of wealth from the people at large to specific interest groups. (In other words, from the poor to the rich.) The costs of this are dispersed and invisible – what is Rs 10 to any of us? – and the benefits are large and worth fighting for: Local manufacturers of Brumps can make crores extra. Much modern politics amounts to manufacturers of Brumps buying politicians to redistribute money from us to them. There are second-order effects of protectionism as well. When the US imposes tariffs on other countries, those countries may respond by imposing tariffs back. Raw materials for many goods made locally are imported, and as these become expensive, so do those goods. That quintessential American product, the iPhone, uses parts from 43 countries. As local products rise in price because of expensive foreign parts, prices rise, demand goes down, jobs are lost, and everyone is worse off. Trump keeps talking about how he wants to ‘win’ at trade, but trade is not a zero-sum game. The most misunderstood term in our times is probably ‘trade-deficit’. A country has a trade deficit when it imports more than what it exports, and Trump thinks of that as a bad thing. It is not. I run a trade deficit with my domestic help and my local grocery store. I buy more from them than they do from me. That is fine, because we all benefit. It is a win-win game. Similarly, trade between countries is really trade between the people of both countries – and people trade with each other because they are both better off. To interfere in that process is to reduce the value created in their lives. It is immoral. To modify a slogan often identified with libertarians like me, ‘Tariffs are Theft.’ These trade wars, thus, carry a touch of the absurd. Any leader who imposes tariffs is imposing a tax on his own people. Just see the chain of events: Trump taxes the American people. In retaliation, Modi taxes the Indian people. Trump raises taxes. Modi raises taxes. Nationalists in both countries cheer. Interests groups in both countries laugh their way to the bank. What kind of idiocy is this? How long will this lose-lose game continue? The India Uncut Blog © 2010 Amit Varma. All rights reserved. Follow me on Twitter. Full Article
in Virtuoso Studio: Simplified Review of Operating Point Parameter Values By community.cadence.com Published On :: Wed, 29 May 2024 06:23:00 GMT Read on to know about the Operating Point Parameters Summary window that gives you a one-stop view of the categorized and tabulated details on all operating point parameters in your design. This window improves your review cycle with its many benefits.(read more) Full Article Analog Design Environment Operating point summary window Virtuoso Studio Operating Point Information Virtuoso Analog Design Environment Custom IC Design Virtuoso ADE Explorer Virtuoso ADE Assembler IC23.1
in How Do You Ensure the Reliability of Your Design in Virtuoso Studio? By community.cadence.com Published On :: Mon, 03 Jun 2024 06:56:00 GMT Designers have long recognized the need to analyze the reliability of ICs. Two commonly used approaches for performing reliability analysis include calculating the change in device degradation and relying on safe operating checks in circuit simulators. With the advent of the ever-increasing use of ICs in mission-critical applications, the need for reliable reliability analysis has become of paramount importance. Over the years, you have been using reliability analysis in Virtuoso ADE Assembler and Virtuoso ADE Explorer to measure and review aging effects, such as device characteristic degradations, model parameter changes, self-heating effects, and so on. Reliability analysis can be performed using two modes: Spectre native and RelXpert. The reliability analysis analyzes the effect of time on circuit performance drift and predicts the reliability of designs in terms of performance. In ADE Assembler, you can run the reliability simulation for fresh test (when time is zero), stress test (to generate degradation data), and aged test (at specific intervals, such as one year, three years, or 10 years). In the stress test, extreme environmental conditions are used to stress devices before aging analysis. The following figure shows the reliability simulation flow. The Reliability Options form has the following four tabs: Basic: Enables you to specify analysis type, aging options, start and stop time of reliability simulation, and options related to device masking, degradation ratio, and lifetime calculation. Modeling: Enables you to choose the modeling type you want to use during reliability simulation. Degradation: Enables you to specify the options to print device and subcircuit degradation information into a .bt0 file. Output: Enables you to specify the degradation reports to be generated and methods to filter degradation results in the reports. While the Basic and the Output tabs are used by design engineers, the Modeling and the Degradation tabs are primarily used by model developers. Reviewing degradation reports in text or XML formats can be a tiresome exercise because degradation data can be large and can contain a large number of instances due to advanced technology nodes and post-layout simulations. For you to work effectively and interactively with these reports, the new reliability report is based on the SQLite database, which adds the benefit of improved performance and capabilities of sorting and filtering reliability data using SQLite operators. As they say, watching this in action might help you more than reading about it, so please take a look at our Training Bytes video channel, which offers many helpful videos on how to run Reliability Analysis in Virtuoso Studio. All the related videos are linked together in a channel so that you can easily access and watch as many as you like. Reliability Analysis in Virtuoso Studio Want to Learn More? For lab instructions and a downloadable design, enroll for the online training courses of your interest on Reliability Analysis in Virtuoso Studio vIC23.1 (Online) Training is also available as "Blended" or "live" class. Digital Badge Available You can become Cadence Certified once you complete the course (s) and share your knowledge and certifications on social media channels. Go straight to the course exam at the Learning and Support Portal. Note: Some of the above links are accessible only to Cadence customers who have a valid login ID for the Cadence Learning and Support Portal. Do You Have Access to the Cadence Support Portal? If not, follow the steps below to create your account. On the Cadence Support portal, select Register Now and provide the requested information on the Registration page. You will need an email address and host ID in order to sign up. If you need help with registration, contact support@cadence.com. To stay up-to-date with the latest news and information about Cadence training and webinars, subscribe to the Cadence Training emails. If you have questions about courses, schedules, online, public, or live onsite training, reach out to us at Cadence Training. Related Resources Training Bytes (Videos) Virtuoso ADE Explorer Graphical User Interface What is the need for Reliability Analysis? (Video) Blogs Come Join Us and Learn from the Cadence Training Offerings It’s the Digital Era; Why Not Showcase Your Brand Through a Digital Badge! Online Course Reliability Analysis in Virtuoso Studio vIC23.1 (Online) About Knowledge Booster Training Bytes Knowledge Booster Training Bytes is an online journal that relays information about Cadence Training videos, online courses, and upcoming webinars that are available in the Learning section of the Cadence Learning and Support portal. This blog category brings you direct links to these videos, courses, and other related material on a regular basis. Niyati Singh On behalf of the Cadence Training team Full Article blended blended training relxpert Reliability Report learning training reliability options Cadence training digital badges training bytes Virtuoso Cadence certified Virtuoso Video Diary reliability analysis Custom IC Design online training Custom IC reliability
in Start Your Engines: Optimizing Mixed-Signal Simulation Efficiency By community.cadence.com Published On :: Wed, 05 Jun 2024 20:18:00 GMT During a mixed-signal simulation, the analog engine usually dominates the simulation time and resources. If you need to run only the analog engine in several windows, or if you would like to to run multiple tests of the same circuit with different stimuli or test pattern, then you need to run the simulation multiple times. View this blog to know more about the the two advanced technologies that Spectre AMS Designer provides to help you improve the efficiency of your mixed-signal designs and to increase the simulation speed.(read more) Full Article AMS mixed-signal methodology AMS Designer Start Your Engines AMS simulation
in Virtuoso Studio: How Do You Name Simulation Histories in Virtuoso ADE Assembler? By community.cadence.com Published On :: Fri, 07 Jun 2024 12:16:00 GMT This blog describes an efficient way to name the histories saved by the simulation runs in Virtuoso ADE Assembler.(read more) Full Article Virtuoso Analog Design Environment Custom IC Virtuoso ADE Assembler ADE Assembler IC23.1 Virtuoso IC23.1
in Start Your Engines: Create and Insert Connect Modules for Mixed-Signal Verification By community.cadence.com Published On :: Tue, 11 Jun 2024 16:17:00 GMT Read this blog to know how you can easily create and insert connect modules using Spectre AMS Designer with the Verilog-AMS standard language defined by Accellera. (read more) Full Article AMS AMS Designer Mixed-Signal AMS simulation mixed-signal design AMS Verification mixed-signal verification
in Doc Assistant A-Z: Making the Most of the Cadence Cloud-Based Help Viewer: Pt. 2 By community.cadence.com Published On :: Wed, 26 Jun 2024 20:00:00 GMT At a bustling Cadence event, we met Adrian, an intern at a startup who immerses himself in Cadence tools for his research and work. Adrian was enthusiastic about the innovative technologies at his disposal but faced a significant challenge: internet access was limited to a single machine for new joiners, forcing interns to wait in line for their turn to use online resources. Adrian's excitement soared when he discovered a game-changing solution: Doc Assistant. The cloud-based help viewer, Doc Assistant, ships with all Cadence tools, enabling Adrian to access help resources offline from any machine equipped with the software. This meant Adrian could continue his research and work seamlessly, irrespective of internet availability! Meeting Cadence users and customers at such events has given us the opportunity to showcase how they can benefit from the diverse features that Doc Assistant offers. With that note, welcome back to our Doc Assistant A-Z blog series! In Part 1, we explored key features and benefits that our innovative viewer brings to the table. Today, in Part 2, we'll dive deeper into the advanced functionalities and customization options that make Doc Assistant indispensable for its users. Whether you're looking to streamline your workflow or enhance your user experience, this blog will provide the insights you need to fully leverage the capabilities of our documentation viewer. Let’s get started! What Makes Doc Assistant Stand Out? Here are a few (more) cool features of Doc Assistant! History and Bookmarks: Want to refer to the topic you read last week? Of course, you can! Doc Assistant stores your browsing activity as History. You can also bookmark topics and revisit them later. Indexing Capabilities: Looking for seamless search capabilities? The advanced indexing capabilities of Doc Assistant enhance the accessibility and manageability of documents. Doc Assistant automatically creates a search index if it is missing or broken. Jump Links: Worried about scrolling through lengthy topics? Fret no more! Use the jump links in each topic to quickly navigate to different sections within the same topic or across topics. Jump links reduce the need for excessive scrolling and let you access relevant content swiftly. Just-in-Time Notifications: Looking for alerts and messages? That’s supported. Doc Assistant displays notifications about important events, including errors, warnings, information, and success messages. Keyword-Based Search Suggestions: You somewhat know your search keyword, but not quite sure? No worries. Just start typing what you know. Keyword and page suggestions are displayed dynamically as you type, providing a more sophisticated and intuitive search experience. Library-Switch Support: Want to view documents from other libraries? Doc Assistant, by default, displays documents for the currently active release in your machine. You can access documents from other releases by configuring the associated documentation libraries. Multimedia Support: Want to view product demos? Multimedia support in Doc Assistant lets you play videos, listen to audio, and view images without opening any external application. Navigation Made Easy: Worried that you’ll get lost in an infinite doc loop? Not at all. The intuitive navigation controls in Doc Assistant are designed to provide you with a fluid and efficient experience. The Doc Assistant user interface is clean and logically organized, with easy-to-access documentation links. That's not all. We have more coming your way. Until next time, take care and stay tuned for our next edition! Want to Know More? Here's a video about Doc Assistant Visit the Doc Assistant web page Read the Doc Assistant FAQ document For any questions or general feedback, write to docassistant.support@cadence.com. Subscribe to receive email notifications about our latest Custom IC Design blog posts. Happy reading! -Priya Sriram, on behalf of the Doc Assistant Team Full Article In-Tool Help user documentation in-built help Cloud-Based Help Doc Assistant
in Knowledge Booster Training Bytes - Writing Physical Verification Language Rules By community.cadence.com Published On :: Wed, 03 Jul 2024 08:56:00 GMT Have you ever wanted to write a DRC rule deck to check for space or width constraints on polygons? Or have you wondered how the multiple lines of an LVS rule deck extract and conduct a comparison between the schematic and layout? Maybe you've been curious about the role of rule deck writers in creating high-quality designs ready for tape-out. If any of these questions interest you, there is good news: the latest version (v23.1) of the Physical Verification Rules Writer (PVLRW) course is designed to teach you rule deck writing. This free 16-hour online course includes audio and labs designed to make your learning experience comfortable and flexible. Whether you are new to the concept or an experienced CAD/PDK engineer, the course is structured to enhance your rule deck writing skills. The PVLRW course covers six core modules: Layer Processing, DRC Rules, Layout Extraction, ERC and LVS Rules, Schematic Netlisting, and Coloring Rules. There are also three optional appendix sections. Each module explains relevant rules with syntax, concepts, graphics, examples, and case studies. This course is based on tool versions PEGASUS231 and Virtuoso Studio IC231. Pegasus Input and Output Pegasus is a cloud-ready physical verification signoff solution that enables engineers to support faster delivery of advanced-node integrated circuits (ICs) to market. Pegasus requires input data in the form of layout geometry, schematic netlists, and rules that direct the tool operation. The rules fall into two categories: those that describe the fabrication process and those that control the job-specific operation. Pegasus provides log and report files, netlists, databases, and error databases as output. Overview of Pegasus Rule File The rule decks written in Physical Verification Language (PVL) work for the Cadence PV signoff tools Pegasus and PVS (Physical Verification System). The PVL rules are placed in a file that gets selected in a run from the GUI or the command line, as the user directs. PVL rules may be on separate lines within the file and can also be contained in named rule blocks. Each line of code starts with a PVL rule that uses prefix type notation. It consists of a keyword followed by options, input layer or variable names, and output layer or variable names. A rule block has the format of the keyword rule, followed by a rule name you wish to give it, followed by an opening curly brace. You enter the rules you wish to perform, followed by a closing curly brace on the last separate line. Sample Rule deck with individual lines of code and rule blocks. DRC Rules The first step in a typical Pegasus flow is a Design Rule Check (DRC), which verifies that layout geometries conform to the minimum width, spacing, and other fabrication process rules required by an IC foundry. Each foundry specifies its own process-dependent rules that must be met by the layout design. There are three types of DRC rules: layer definition rules, layer derivation rules, and DRC design check rules. Layer definition rules identify the layers contained in the input layout database, and layer derivation rules derive additional layers from the original input layers, allowing the tool to test the design against specific foundry requirements using the design check rules. A sample DRC Rule deck A layout view displaying the DRC violations LVS Rules The Pegasus Layout Versus Schematic (LVS) tool compares the layout netlist with the schematic netlist to check for discrepancies. There are two essential LVS rule sets: LVS extraction rules and comparison rules. LVS extraction rules help extract drawn devices and connectivity information from the input layout geometry data and outputs into a layout netlist. The LVS extraction rule set also includes the layer definition, derivation, extraction, connectivity, and net listing rules. LVS comparison rules are associated with comparing the extracted layout netlist to a schematic netlist. A sample LVS Rule deck. TCL, Macros, and Conditional commands Tcl is supported and used in various Pegasus functionalities, such as Pegasus rule files and Pegasus configurator. Macros are functional templates that are defined once and can be used multiple times in a rule file. Conditional Commands are used to process or skip specific commands in the rule file. Do You Have Access to the Cadence Support Portal? If not, follow the steps below to create your account. On the Cadence Support portal, select Register Now and provide the requested information on the Registration page. You will need an email address and host ID to sign up. If you need help with registration, contact support@cadence.com. To stay up to date with the latest news and information about Cadence training and webinars, subscribe to the Cadence Training emails. If you have questions about courses, schedules, online, public, or live onsite training, reach out to us at Cadence Training. For any questions, general feedback, or future blog topic suggestions, please leave a comment. Related Resources Product Manuals Cadence Pegasus Developers Guide Rapid Adoption Kits Running Pegasus DRC/LVS/FILL in Batch Mode Training Byte Videos What Is the Run Command File? How to Run PVS-Pegasus Jobs in GUI and Batch modes? PVS DRC Run From - Setup Rules What Is PVS/Pegasus Layer Viewer? PVL Coloring Ruledecks with Docolor and Stitchcolor PLV Commands: dfm_property with Primary & Secondary Layer PVS Quantus QRC Overview Online Courses Pegasus Verification System PVS (Physical Verification System) Virtuoso Layout Design Basics About Knowledge Booster Training Bytes Knowledge Booster Training Bytes is an online journal that relays information about Cadence Training videos, online courses, and upcoming webinars in the Learning section of the Cadence Learning and Support portal. This blog category brings you direct links to these videos, courses, and other related material on a regular basis. Subscribe to receive email notifications about our latest Custom IC Design blog posts. Full Article Virtuoso Studio Routing Layout Suite Cadence training training bytes Circuit Design Cadence Education Services Custom IC Design online training
in Start Your Engines: The Innovation Behind Universal Connect Modules (UCM) By community.cadence.com Published On :: Fri, 02 Aug 2024 08:10:00 GMT Read this blog to know more about the innovation behind Universal Connect Modules (UCM).(read more) Full Article SystemVerilog Start Your Engines Spectre AMS Designer Verilog-AMS Mixed-Signal mixed-signal verification
in Virtuoso Studio IC 23.1: Using Net Tracer for Design Review By community.cadence.com Published On :: Tue, 06 Aug 2024 09:18:00 GMT This blog explores how Virtuoso Studio Net Tracer can help you perform a design review. We’ll use the net connectivity option, which allows the user to get a clean highlighted net. You can use the Net Tracer tool to highlight the nets. You can find the Net Tracer command under the connectivity pulldown menu in the layout window. Trace manager and the ability to display different islands on the same net with other colors, you can identify and connect the unconnected islands as you wish. The Net Tracer utility traces the nets in the physical view (layout). The trace is a highlighted net, which is a non-selectable object. The Net Tracer utility is available from Virtuoso Layout Suite XL onwards. You can use this utility based on your specific needs and preferences. For a better understanding of the Net Tracer feature, let’s see one scenario between the circuit designer and layout engineer for a layout design review. Circuit designer: Can we go through the routed input nets “inm” and “inp”? Layout engineer: From the below layout view where they are highlighted using the XL connectivity, today I will use Net Tracer utility for the design review. Circuit designer: I have never heard of this feature. Let's see how it works. Layout engineer: Sure, now we turn on the Net Tracer toolbar using the below option. You see the Net Tracer options form here: As you can see on my screen, I have opened the layout view and engaged the Net Tracer utility. Net Tracer allows shapes to be traced on a net in two tracing modes, namely, physical and logical, where shapes on the same net are physically or logically connected. Physical tracing gathers all the shapes physically connected on the same net. Logical tracing gathers all the shapes assigned to the same net. It highlights the net as in the source design (schematic). It will highlight shapes on the same net, even if they are isolated shapes that are not physically connected. For this scenario, let us use physical tracing for input nets “inm” and “inp." Highlighted nets are shown below: Net “inm” Net “inp” Nets “inm” and “inp” Net Tracer has features like physical and logical tracing, preview, step-by-step mode, ease of tracing a net on a shape out of multiple underlying shapes, and so on. Let us explore logical tracing for output nets “outm” and “outp”: Here, you can see how to enable true color and halo before enabling logical tracing to identify the metal route. After enabling the true color halo, enable the logical trace. Here, I am opening the trace manager to search “outm” and “outp” and click trace. That will trace the particular nets as shown. Net Tracer has a preview feature, which is helpful in terms of the number of previewed objects. This preview capability hints at how the trace would appear when you create it. This useful feature in Virtuoso Studio highlights both completed and incomplete nets, helping the user better understand the status of the highlighted nets. Circuit designer: Thanks for the design review. You have done good work. Net Tracer clearly shows both types of tracing, and it was even easy for the circuit designer to understand. Layout engineer: Let me share the link to the Net Tracer RAK, where other layout engineers can explore many more amazing features of the Net Tracer. Do You Have Access to the Cadence Support Portal? If not, follow the steps below to create your account. On the Cadence Support portal, select Register Now and provide the requested information on the Registration page. You will need an email address and host ID to sign up. If you need help with registration, contact support@cadence.com. To stay up to date with the latest news and information about Cadence training and webinars, subscribe to the Cadence Training emails. If you have questions about courses, schedules, online, public, or live onsite training, reach out to us at Cadence Training. For any questions, general feedback, or future blog topic suggestions, please leave a comment. Become Cadence Certified Cadence Training Services now offers digital badges for this training course. These badges indicate proficiency in a certain technology or skill and give you a way to validate your expertise to managers and potential employers. You can highlight your expertise by adding these digital badges to your email signature or any social media platform, such as Facebook or LinkedIn. To become Cadence Certified, you can find additional information here. Related Resources Videos Invoking the MarkNet, Net Tracer command and its options Net Tracer Features Video: Net Tracer saving and loading saved trace, neighboring shapes of trace Net Tracer: Physical Tracing – Step mode Net Tracer: Physical and Logical Tracing Video: Net Tracer show preview option, from net and display options, shape count in trace Video: Net Tracer using a constraint group with different display mode settings and using the Trace Manager GUI RAK Introduction to Net Tracer Product manual Virtuoso Layout Suite XL: Connectivity Driven Editing User Guide IC23.1 About Knowledge Booster Training Bytes Knowledge Booster Training Bytes is an online journal that relays information about Cadence Training videos, online courses, and upcoming webinars that are available in the Learning section of the Cadence Learning and Support portal. This blog category brings you direct links to these videos, courses, and other related material on a regular basis. Sandhya. On behalf of the Cadence Training team Full Article IC 23.1 Analog Design Environment Cadence blogs Virtuoso Studio custom/analog cadence review design review analog Virtuoso RF Layout EXL training Layout Suite Virtuoso Analog Design Environment training bytes Layout Virtuoso design Virtuoso Video Diary Analog Layout Automation Analog Layout Custom IC Design Net Tracer Virtuoso Layout Suite Custom IC blog
in Doc Assistant A-Z: Making the Most of the Cadence Cloud-Based Help Viewer Part 3 By community.cadence.com Published On :: Tue, 01 Oct 2024 05:16:00 GMT Welcome back to the Doc Assistant A-Z blog series! Since the launch of Doc Assistant, we've been gathering feedback and input from our customers regarding their experiences with our latest documentation viewer. My interaction with Ralf was particularly useful and interesting. Ralf is a design engineer who works on complex schematics and intricate layouts. For each release, he is challenged with the task of verifying the tool and feature changes across multiple releases. He shared with me that he has been using Doc Assistant’s capabilities to help him achieve this. Ralf explained that he utilizes Doc Assistant to open and compare documents from different releases side-by-side, seamlessly tracking updates across multiple releases and verifying those updates in his Cadence tools. Additionally, in Doc Assistant’s online mode, he compares documents across previous tool versions, ensuring a thorough review of any changes. Finally, he was happy to share with me that Doc Assistant features have helped him significantly reduce the time he spends on identifying such changes. You, of course, can also achieve such productivity gains using several Doc Assistant features designed to help simplify such tasks! In previous editions of this blog series, we looked at some key features and benefits of Doc Assistant. If you've missed these editions, I would highly recommend that you read them: Doc Assistant A-Z: Making the Most of the Cadence Cloud-Based Help Viewer: Part 1 Doc Assistant A-Z: Making the Most of the Cadence Cloud-Based Help Viewer: Part 2 In this third installment, we're diving into some more of Doc Assistant's key capabilities. Open Multiple Documents Want to refer to multiple docs at the same time? That’s easy! Open each doc on a separate tab in Doc Assistant. Personalized Content Recommendations Is it a hassle to navigate through all docs each time? You don’t have to. You can tailor your Doc Assistant preferences to match your content requirements. PDF Support Do you prefer downloading and reading a PDF instead of an HTML? That’s also supported. Quick Access to Relevant Search Results Are you pressed for time, and yet want to run a comprehensive doc search? You’re covered. In online mode, search runs on all available product documentation, and the results are listed from multiple sources. Resource Links Looking for more information about a topic you’ve just read? That’s handy. Look out for content recommendations! Share Content Want to share a useful doc with the rest of your team? That’s easy. With a single click, Doc Assistant lets you share content with one or more readers. Submit Feedback Your feedback is important to us. Use the Submit Feedback feature to share your comments and inputs. To learn more about how to use the above features, check out the Doc Assistant User Guide. These are just a few of the productivity gain features in Doc Assistant. We’ll cover more in the next blog in the series. Want to Know More? Here's a video about Doc Assistant Visit the Doc Assistant web page Read the Doc Assistant FAQ document If you have any feedback on Doc Assistant or would like to request more information or a demo, please contact docassistant.support@cadence.com. Subscribe to receive email notifications about our latest Custom IC Design blog posts. Happy reading! - Priya Sriram, on behalf of the Doc Assistant Team Full Article In-Tool Help user documentation in-built help Cloud-Based Help Doc Assistant
in PCB Chamfering Board edge connectors By community.cadence.com Published On :: Thu, 09 Dec 2021 15:12:48 GMT Hi I am looking into chamfering the edge of PCB for Board edge connectors. I have performed fillet command earlier but new to chamfering. Below is the description : As seen above, the PCB edge are chamfered in thickness as well as at the corners. Using OrCAD PCB hotfix S023. Full Article
in SPB17.4 installation package build defect By community.cadence.com Published On :: Thu, 09 Dec 2021 23:05:50 GMT 1, Some components in the installation package cannot choose to install; even if they do not choose them, they will still be installed; just less shortcut icons, the documents are still released to the installation directory. 2, "Catia Application Frame" repeat the problem? “x:CadenceSPB_17.4 oolsin“ ”x:CadenceSPB_17.4 oolsspatial“ "Catia Application Frame" shouldn't you use the latest version? 3,Follow-up update patch cleaning the useless files and extra empty folder action !!! The SPB17.4 installation package is currently the worst installation package I have seen for large-scale software packaging. Full Article
in Purging duplicate vias in pcb editor By community.cadence.com Published On :: Fri, 10 Dec 2021 07:07:15 GMT How do we purge/remove the duplicated vias in the same location of the PCB editor? These vias are not the one stacked and they are just blind vias running in internal layers 12-14. I find there is an additional copy of the blind via at the same location. Not sure what caused this issue. Full Article
in Launch footprint editor from Capture or PCB Editor? By community.cadence.com Published On :: Fri, 10 Dec 2021 15:14:52 GMT I'd like to be able to edit a footprint for a part in my design without needing to find the footprint filepath and directly open that file in PCB Editor. I see that I can view footprints from Capture, and that doing so shows me the footprint path, but I can't find any way to launch the editor. Is there any way to go directly from a part in a Capture schematic or a placed part in a PCB Editor board design to editing that part's footprint? Full Article
in Orcad PCB (allegro) not using GPU over USB By community.cadence.com Published On :: Mon, 13 Dec 2021 16:19:21 GMT Hi, I have a monitor plugged to my laptop using a HDMI to USB adapter. When using this adapter, Allegro runs very slowly. It seems that it is not using my video card. Is this a known issue with a workaround I can try? Thanks, Michael Full Article
in Can I align pin numbers in edit part windows in Orcad Capture? By community.cadence.com Published On :: Tue, 14 Dec 2021 01:55:10 GMT Hello.. I'm updating part in part editor in orcad capture, and I wonder how to align pin numbers using menu or tcl/tk command. Please, let me know. Thank you. Full Article
in 17.4 Design Sync Fails without providing errors By community.cadence.com Published On :: Tue, 14 Dec 2021 14:06:09 GMT As the title suggests I am unable to perform design sync between OrCAD Capture and Allegro. When I add a layout and try to sync to it I am given ERROR(ORCAP-2426): Cannot run Design Sync because of errors. See session log for error details. Session Log [ORPCBFLOW] : Invoking ECO dialog.INFO(ORNET-1176): Netlisting the designINFO(ORNET-1178): Design Name:C:USERSDDOYLEDOCUMENTSCADENCEBOARDSREMOTE POWER DEVICECAPTUREREMOTE_POWER_DEVICE.DSNNetlist Directory:c:usersddoyledocumentscadenceoards emote power devicelayoutallegroConfiguration File:C:CadenceSPB_17.4 ools/capture/allegro.cfgpstswp.exe - pst - d "C:USERSDDOYLEDOCUMENTSCADENCEBOARDSREMOTE POWER DEVICECAPTUREREMOTE_POWER_DEVICE.DSN"- n "c:usersddoyledocumentscadenceoards emote power devicelayoutallegro" - c "C:CadenceSPB_17.4 ools/capture/allegro.cfg" - v 3 - l 31 - s "" - j "PCB Footprint" - hpath "HPathForCollision"Spawning... pstswp.exe - pst - d "C:USERSDDOYLEDOCUMENTSCADENCEBOARDSREMOTE POWER DEVICECAPTUREREMOTE_POWER_DEVICE.DSN"- n "c:usersddoyledocumentscadenceoards emote power devicelayoutallegro" - c "C:CadenceSPB_17.4 ools/capture/allegro.cfg" - v 3 - l 31 - s "" - j "PCB Footprint" - hpath "HPathForCollision"{ Using PSTWRITER 17.4.0 d001Dec-14-2021 at 09:00:49 } INFO(ORCAP-36080): Scanning netlist files ... Loading... c:usersddoyledocumentscadenceoards emote power devicelayoutallegropstchip.dat Loading... c:usersddoyledocumentscadenceoards emote power devicelayoutallegropstchip.dat Loading... c:usersddoyledocumentscadenceoards emote power devicelayoutallegropstxprt.dat Loading... c:usersddoyledocumentscadenceoards emote power devicelayoutallegropstxnet.datpackaging the design view...Exiting... pstswp.exe - pst - d "C:USERSDDOYLEDOCUMENTSCADENCEBOARDSREMOTE POWER DEVICECAPTUREREMOTE_POWER_DEVICE.DSN"- n "c:usersddoyledocumentscadenceoards emote power devicelayoutallegro" - c "C:CadenceSPB_17.4 ools/capture/allegro.cfg" - v 3 - l 31 - s "" - j "PCB Footprint" - hpath "HPathForCollision"INFO(ORNET-1179): *** Done *** This issue started to occur after I changed parts that exist on previously created PCBs. I changed the following leading up to this: 1. Added height in Allegro to many of my components using the Setup->Area->Package Height tool. 2. Changed the reference designator category in OrCAD Capture to TP for several components on board. Any advice here would be most welcome. Thanks! Full Article
in The default location of orCAD Capture library Pin Number is incorrect By community.cadence.com Published On :: Tue, 14 Dec 2021 21:38:21 GMT The default position of the pin number is incorrect. Full Article
in Allegro part of DPI does not support scaling above 150% By community.cadence.com Published On :: Tue, 14 Dec 2021 21:49:57 GMT Allegro part of DPI does not support scaling above 150% Full Article
in Migrating from files Orcad Layout 16.2 By community.cadence.com Published On :: Wed, 15 Dec 2021 02:55:48 GMT I have managed to convert our old schematic and PCD file to from Layout 16.2 to 17.4 I have exported the footprints and moved them to the correct lib directory. I get no DRC errors and I can build a new netlist file. The problem is I can't get the PCB editor to update using the new netlist and get the following error: I cannot figure out how to fix the Name is too long error. (---------------------------------------------------------------------) ( ) ( Allegro Netrev Import Logic ) ( ) ( Drawing : 70055R2.brd ) ( Software Version : 17.4S023 ) ( Date/Time : Tue Dec 14 18:54:25 2021 ) ( ) (---------------------------------------------------------------------) ------ Directives ------------ Ripup etch: Yes Ripup delete first segment: No Ripup retain bondwire: No Ripup symbols: IfSame Missing symbol has error: No DRC update: Yes Schematic directory: 'C:/AFS/70055 PCB Test 2' Design Directory: 'C:/AFS/70055 PCB Test 2' Old design name: 'C:/AFS/70055 PCB Test 2/70055R2.brd' New design name: 'C:/AFS/70055 PCB Test 2/70055R2.brd' CmdLine: netrev -$ -i C:/AFS/70055 PCB Test 2 -x -u -t -y 2 -h -z -q netrev_constraint_report.xml C:/AFS/70055 PCB Test 2/#Taaaaae57776.tmp ------ Preparing to read pst files ------ Starting to read C:/AFS/70055 PCB Test 2/pstchip.dat Finished reading C:/AFS/70055 PCB Test 2/pstchip.dat (00:00:00.02) Starting to read C:/AFS/70055 PCB Test 2/pstxprt.dat Finished reading C:/AFS/70055 PCB Test 2/pstxprt.dat (00:00:00.00) Starting to read C:/AFS/70055 PCB Test 2/pstxnet.dat Finished reading C:/AFS/70055 PCB Test 2/pstxnet.dat (00:00:00.00) ------ Oversights/Warnings/Errors ------ #1 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_9_SWITCH_OTTO_ALT_SW DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_9_SWITCH_OTTO_ALT_SW DP' has library errors. Unable to transfer to Allegro. #2 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_10_SWITCH_OTTO_LIGHTS_SW DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_10_SWITCH_OTTO_LIGHTS_S' has library errors. Unable to transfer to Allegro. #3 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_7_SWITCH_OTTO_ALT_SW DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_7_SWITCH_OTTO_ALT_SW DP' has library errors. Unable to transfer to Allegro. #4 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_3_SWITCH_OTTO_MASTER_SW DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_3_SWITCH_OTTO_MASTER_SW' has library errors. Unable to transfer to Allegro. #5 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_6_SWITCH_OTTO_LIGHTS_SW DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_6_SWITCH_OTTO_LIGHTS_SW' has library errors. Unable to transfer to Allegro. #6 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'SW DPDT_3_SWITCH_OTTO_MASTER_DPDT': 'Name is too long.'. ERROR(SPMHNI-170): Device 'SW DPDT_3_SWITCH_OTTO_MASTER_DP' has library errors. Unable to transfer to Allegro. #7 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'CONNECTOR DB15_DSUBVPTM15_CONNECTOR DB15': 'Name is too long.'. ERROR(SPMHNI-170): Device 'CONNECTOR DB15_DSUBVPTM15_CONNE' has library errors. Unable to transfer to Allegro. #8 ERROR(SPMHNI-176): Device library error detected. ERROR(SPMHNI-189): Problems with the name of device 'CONNECTOR DB9_DSUBVPTM9_CONNECTOR DB9': 'Name is too long.'. ERROR(SPMHNI-170): Device 'CONNECTOR DB9_DSUBVPTM9_CONNECT' has library errors. Unable to transfer to Allegro. #9 ERROR(SPMHNI-175): Netrev error detected. ERROR(SPMHDB-195): Error processing 'M6': Text line is outside of the extents.. ------ Library Paths ------ MODULEPATH = . C:/Cadence/SPB_17.4/share/local/pcb/modules PSMPATH = . symbols .. ../symbols C:/Cadence/SPB_17.4/share/local/pcb/symbols C:/Cadence/SPB_17.4/share/pcb/pcb_lib/symbols C:/Cadence/SPB_17.4/share/pcb/allegrolib/symbols C:/Cadence/SPB_17.4/share/pcb/pcb_lib/symbols PADPATH = . symbols .. ../symbols C:/Cadence/SPB_17.4/share/local/pcb/padstacks C:/Cadence/SPB_17.4/share/pcb/pcb_lib/symbols C:/Cadence/SPB_17.4/share/pcb/allegrolib/symbols C:/Cadence/SPB_17.4/share/pcb/pcb_lib/symbols ------ Summary Statistics ------ #10 Run stopped because errors were detected netrev run on Dec 14 18:54:25 2021 DESIGN NAME : '70055R2' PACKAGING ON Nov 2 2021 14:32:04 COMPILE 'logic' CHECK_PIN_NAMES OFF CROSS_REFERENCE OFF FEEDBACK OFF INCREMENTAL OFF INTERFACE_TYPE PHYSICAL MAX_ERRORS 500 MERGE_MINIMUM 5 NET_NAME_CHARS '#%&()*+-./:=>?@[]^_`|' NET_NAME_LENGTH 24 OVERSIGHTS ON REPLACE_CHECK OFF SINGLE_NODE_NETS ON SPLIT_MINIMUM 0 SUPPRESS 20 WARNINGS ON 10 errors detected No oversight detected No warning detected cpu time 0:00:27 elapsed time 0:00:00 Full Article
in Allegro PCB Design Link issue By community.cadence.com Published On :: Wed, 15 Dec 2021 09:02:56 GMT Hi All I followed tutorial video below for using Design link https://www.youtube.com/watch?v=f9JmFF8lqA0 and I followed the video with embedded board design file which should be same one on video I did every set. but at 2:55 of video, Steve have the tabs of both design names on top of Constraint Manager in video but my one didn't exist them which one would be different? there was some comment on command windows but I think they would not be problem here regard Full Article
in Allegro 17.4 always reports new files as created in 17.2 By community.cadence.com Published On :: Wed, 15 Dec 2021 22:17:58 GMT Hello. I am using Cadence 17.4 tools. When I open a package symbol (.dra) or board file (.brd) in Allegro that was created in an older version of the tool I get a message like this one (as expected): "The design created using release 17.2 will be updated for compatibility with the current software..." If I create a symbol or board file from scratch in the 17.4 tool then open it later, I get the same message. (always referring to version 17.2 which is the previous version I was using here). So far this has not caused me any problems, but I would like to understand why it is doing this in case I have something setup incorrectly. I only have version 17.4 installed. I am not exporting to a downrev version when I save (i.e. not using File->Export->Downrev design…) and in User Preferences->Drawing I don’t have anything selected for database_compatibility_mode. What else might I check? FYI here is the tool version information that I see after selecting Help->About Symbol: OrCAD PCB Designer Standard 17.4-2019 S012 [10/26/2020] Windows SPB 64-bit Edition Thanks -Jason Full Article
in Create bounding shape for arcs By community.cadence.com Published On :: Mon, 20 Dec 2021 17:23:09 GMT When using Shape > Create Bounding Shape on an arc, the outer side works well, but on the inner side it just draws a straight line from the begging to the end of the curve. Is anyone aware of a fix for this? I'm attaching a picture as an example, it works great on lines. Full Article
in No windows cascading in OrCAD Capture 17.4 By community.cadence.com Published On :: Tue, 21 Dec 2021 08:02:37 GMT Hello All, I'm a novice to this forum and probably this subject has been already discussed here. My company has purchased OrCAD Capture 17.4 tools that have a new GUI if compared to my earlier used OrCAD Capture 9.2. I have been using Capture 9.2 for ~18 years and its GUI is really convenient. The GUI of 17.4 looks to be a modern one with new icons and really has improved features and new capabilities. However, my main complain about GUI 17.4 is that the schematic windows cannot be cascaded. Although they can be set floating, this is even more annoying because all toolbars remain in the Capture window and when you select a tool, the Capture window pops over already open schematic window and you need a lot of useless extra clicks to return back to the currently edited schematic page. I always used cascading of schematic windows before because my complex designs includes many pages, not speaking about the library windows that are typically open simulatneously. My view is that the lack of CASCADING in Capture GUI 17.4 is critical and unacceptable for complex projects, and I would very highly appreciate if the Cadence guys will return back the CASCADING capability for schematic pages. In case this will be done, this will make the GUI really great and comfortable to use. Does anybody have opinion on this issue? Many thanks, Pavel Full Article
in Sense line and decoupling capacitors By community.cadence.com Published On :: Thu, 23 Dec 2021 08:16:10 GMT Hello, A mybe silly question came to my mind: When routing sense lines, is it better to hav them as close as possible to DUT or afer the decoupling capacitors ? Force in red, sense in purple. Best way is 1 or 2 ? Thanks in advance and Merry Christmas to everybody ! Full Article
in Noise summary data per sub-block in Maestro output expressions By community.cadence.com Published On :: Tue, 22 Oct 2024 21:56:24 GMT Hi, I have a question about printing noise summary via maestro output expressions. How can I print noise data using output expressions, for multiple levels of the hierarchy? I have found this article which describe the procedure using ocnGenNoiseSummary() function: https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000007MViHEAW&pageName=ArticleContent I see also Andrew Beckett referring to the above mentioned article as a solution to a similar question: community.cadence.com/.../noise-summary-per-instance However, this seems to work only if I'm to extract noise data from a single level of hierarchy. If I have the output expression "ocnGenNoiseSummary(2 ?result 'hbnoise)", it will generate a "noisesummary" directory under results directory for a hierarchy level of 2. If I am to extract data from various hierarchy levels, I should be able to generate multiple noise summary directories, such as noisesummary1, noisesummary2 where they correspond to "ocnGenNoiseSummary(1 ?result 'hbnoise)" & "ocnGenNoiseSummary(2 ?result 'hbnoise)", respectively. However this does not seem to be possible. Can you please advice? Thanks. My Cadence version: IC23.1-64b.ISR7.27 BR, Denizhan Karaca Full Article
in Netlisting error when doing parametric sweep on transient simulation By community.cadence.com Published On :: Wed, 23 Oct 2024 10:13:32 GMT Dear all, I defined two design variables in ADE Assembler, say V1 and V2, that define the voltage 1 and voltage 2 of a "vpulse" voltage source in my schematic. Then, I define V1 = 1.0, and V2 = 2.0, run a transient simulation, and everything is as expexcted. The source provides pulses between 1.0 V and 2.0 V. Next, I set V1 = 1.0:0.5:1.5, thereby creating a parametric sweep with 1.0 V and 1.5 V for V1. I keep V2 at 2.0 V. Then the simulation fails, and all I get is "netl err" in my Output Expressions and an error message that the results directory does not exist and nothing can be plotted: This is reasonable, as the results directory is deleted on starting a new simulation, and as there is no simulation result, none of my output expressions can be plotted. WARNING (OCN-6040): The specified directory does not exist, or the directory does not contain valid PSF results. Ensure that the path to the directory is correct and the directory has a logFile and PSF result files.WARNING (ADE-1065): No simulation results are available.ERROR (WIA-1175): Cannot plot waveform signals because no waveform data is available for plotting.One of the possible reasons can be that 'Save' check box for these signals are not selected in the Outputs Setup pane. Ensure that these check boxes are selected before you run the simulation. Normally, this kind of para,metric sweep is not a problem, I have done this many times before. There must be something special in THIS PARTICULAR test bench or simulator setup. The trouble is, I don't get any useful error messages. Does anyone know what might be the problem here OR where to find useful information to investigate further (log files stored somewhere)? Thank you! Regards, Volker P.S. Using Corners instead does not help either. Running it through all values by hand works, though. Full Article
in Cannot access individual noise contributions using SpectreMDL By community.cadence.com Published On :: Tue, 29 Oct 2024 12:21:23 GMT I have tried replicating the setup described in a previous post (here), with the proposed solution. The MDL measurements return a value of 0 for all exported result but the first. Using Viva I can actually see the correct value for each contribution. I am using :- Spectre 23.1.0.538.isr10- Viva IC23.1-64b.ISR8.40 What should I do differently? Thanks! ***** test.scs ***** r1 (1 0) res_model l=10e-6 w=2e-6 r2 (2 1) res_model l=15e-6 w=2e-6 vr (2 0) vsource dc=1.0 mag=1 model res_model resistor rsh=100 kf=1e-20*exp(dkf) parameters dkf=0 statistics { process { vary dkf dist=gauss std=0.5 } } noi (1 0) noise freq=1 /***** test.mdl *****/ alias measurement noi_test { run noi; export real noi_total=noi_test:out; export real r1_total=r1:total; export real r1_flicker=r1:fn; export real r1_thermal=r1:rn; export real r2_total=r2:total; export real r2_flicker=r2:fn; export real r2_thermal=r2:rn; } run noi_test **** test.measure **** Measurement Name : noi_testAnalysis Type : noisenoi_total = 6.9282e-06 r1_flicker = 0 r1_thermal = 0 r1_total = 0 r2_flicker = 0 r2_thermal = 0 r2_total = 0 Full Article
in Error using probe terminal for dspf stb analysis By community.cadence.com Published On :: Wed, 30 Oct 2024 10:02:43 GMT IC 23.1-64b.ISR8.40 Hi all, I'm trying to run an stb analysis in a dspf extracted view via Probe terminal. The instance exist in the dspf and I already prepended the X that is placed in the dspf extraction. Spectre complains with the following error: Error found by spectre during STB analysis `stb'. ERROR (SPECTRE-16408): The probe parameter must be specified to perform stability analysis.Analysis `stb' was terminated prematurely due to an error. What is missing here? Full Article
in Config sweep View in Tests By community.cadence.com Published On :: Wed, 30 Oct 2024 10:28:38 GMT Hi all, I have a question regarding how to sweep the config view without using a global variable. I’d like to set a different config view for each test, and I'm trying to avoid using corners or plan. Any suggestions on how to achieve this? Thanks in advance for your help! Best,MooH Full Article
in Change code in veriloga view from external program By community.cadence.com Published On :: Wed, 30 Oct 2024 15:31:02 GMT For reasons too complicated to go into here, I need to generate the code for a veriloga view from a outside the normal Verilog-A editor. I would start with an "empty" veriloga view generated from the symbol in the normal way so I get the port order correct, then use external code to provide "guts" of the veriloga view by overwriting the generated code. My understanding is that and code changes made external to the normal flow do not get picked up by Cadence - the Verilog-A code gets read at design time, not at netlist time. Would simply forcing a check and save of the veriloga view after the code is modified fix that problem? Or is there an easier way to incorporate externally generated Verilog-A code? Full Article
in Author and library name in sheet border By community.cadence.com Published On :: Thu, 31 Oct 2024 10:05:54 GMT Dear community We would like to have more minimalistic and customized sheet borders for our schematics. I used this guide to create a starting point. Essentially, I made a copy of the US_8ths library and modified the Title symbol to look something like that: Problem 1 The variable ilInst~>libName points to the library of the sheet border symbols, not to the library of the schematic. How do I need to modify this field in order to see the library name of the schematic where the border is instantiated? Problem 2 The function CCSgetCreator() was taken from here. This solution does not seem to work with our management toll (we use VersIC); the function always returns nil as value. What is the simplest way to display the name of the user that created the schematic? A custom field that could be filled manually would also do the job for us; it doesn't need to be something that automatically fetches data from a database system. Thanks for any input. Full Article
in How to use PSpice library in Virtuoso/Spectre? By community.cadence.com Published On :: Thu, 31 Oct 2024 14:02:01 GMT I want to use PSpice model (download from TI) in Virtuoso , but it can not work. Please help me to check the error message, Thanks ADE-> Setup-> simulation files->Pspice Files /TPS628502-Q1_TRANS.LIB Parse error before token ']' in expression '[[STEADY_STATE]*0.6]'. If '[[STEADY_STATE]*0.6]' is a spice expression, quotes are required for the expression. ERROR(SFE-46): An instance of 'TPS628502-Q1_TRANS' can have at most 8 terminals (but has 9). *****************************************************************************.SUBCKT TPS628502-Q1_TRANS COMP_FSET EN FB GND PG SW SYNC_MODE VIN + PARAMS: STEADY_STATE=0 V_U9_V45 U9_N16725824 0 5E_U9_ABM22 U9_N16725392 0 VALUE { V(FREQ)*1e-12 }X_U9_U161 U9_N16849713 U9_N16846056 one_shot PARAMS: T=20 Full Article