our PCI-SIG DevCon 2019 APAC Tour: All Around Latest Spec Updates and Solution Offering By feedproxy.google.com Published On :: Tue, 29 Oct 2019 09:26:00 GMT PCI-SIG DevCon 2019 APAC tour has come to Tokyo and Taipei this year. The focus is predominantly around the latest updates for PCIe Gen 5 which its version 1.0 specification was just released this year in May. A series of presentations provided by PCI-SIG on the day 1 with comprehensive information covering all aspects of Gen 5 specification, including protocol, logical, electrical, compliance updates. On the day 2 (only in Taipei), several member companies shared their view on Testing, PCB analysis and Signal integrity. The exhibit is also another spotlight of this event where the member companies showcased their latest PCIe solutions. Presentation Track (Taipei), Exhibit (Tokyo), Exhibit (Taipei) Cadence, as the market leading PCIe IP vendor, participated APAC tour this year with bringing in its latest PCIe IP solution offering (Gen 5/4) to the region as well as showcasing two live demo setups in the exhibit floor. One setup is the PCIe software development kit (SDK) while the other is the Interop/compliance/debug platform. Both come with the Cadence PCIe Gen 4 hardware setup and its corresponding software kit. The SDK can be used for Device Driver Development, Firmware Development, and for pre-silicon emulation as well. It supports Xtensa and ARM processor with Linux OS and it also equip with Ethernet interface which can be used for remote debugging. It also supports PCIe stress tests for Speed change, link enable/disable, entry/exist for lower power states, …etc. Cadence PCIe 4.0 Software Development Kit The “System Interop/Compliance/Debug platform” was set up to test with multiple endpoint and System platforms. This system come with integrated Cadence software for basic system debug without the need for analyzer to perform the analysis, such as LTSSM History, TS1/TS2 transmitted/received with time stamp, Link training phases, Capturing Packet errors details, Capturing PHY TX/RX internal state machine details, ...etc. Cadence PCIe System Interop/Compliance/Debug Platform The year 2019 is certainly a "fruitful year" for the PCIe as more Gen 4 products are now available in the market, Gen 5 v1.0 specification got officially ratified, and PCI-SIG's revealing of Gen 6 specification development. We were glad to be part of this APAC tour with the chance to further introduce Cadence’s complete and comprehensive PCIe IP solution. See you all next year in APAC again! More Information For more information on Cadence's PCIe IP offerings, see our PCI Express page. For more information on PCIe in general, and on the various PCI standards, see the PCI-SIG website. Related Posts Blog: Did You “Stress Test” Yet? Essential Step to Ensure a Quality PCIe 4.0 Product Blog: PCIe Gen4: It’s Official, We’re Compliant Blog: PCIe 3.0 Still Shines While PCIe Keeps Evolving Blog: The PCIe 4.0 Era Continues at PCI-SIG Developers Conference 2016 Full Article PCI Developers Conference Design IP PCIe Gen4 PCIe Gen3 PCIe PHY PCIe Gen5 PCI Express PCI-SIG
our Population Is Not a Problem, but Our Greatest Strength By feedproxy.google.com Published On :: 2019-06-09T03:27:29+00:00 This is the 21st installment of The Rationalist, my column for the Times of India. When all political parties agree on something, you know you might have a problem. Giriraj Singh, a minister in Narendra Modi’s new cabinet, tweeted this week that our population control law should become a “movement.” This is something that would find bipartisan support – we are taught from school onwards that India’s population is a big problem, and we need to control it. This is wrong. Contrary to popular belief, our population is not a problem. It is our greatest strength. The notion that we should worry about a growing population is an intuitive one. The world has limited resources. People keep increasing. Something’s gotta give. Robert Malthus made just this point in his 1798 book, An Essay on the Principle of Population. He was worried that our population would grow exponentially while resources would grow arithmetically. As more people entered the workforce, wages would fall and goods would become scarce. Calamity was inevitable. Malthus’s rationale was so influential that this mode of thinking was soon called ‘Malthusian.’ (It is a pejorative today.) A 20th-century follower of his, Harrison Brown, came up with one of my favourite images on this subject, arguing that a growing population would lead to the earth being “covered completely and to a considerable depth with a writhing mass of human beings, much as a dead cow is covered with a pulsating mass of maggots.” Another Malthusian, Paul Ehrlich, published a book called The Population Bomb in 1968, which began with the stirring lines, “The battle to feed all of humanity is over. In the 1970s hundreds of millions of people will starve to death in spite of any crash programs embarked upon now.” Ehrlich was, as you’d guess, a big supporter of India’s coercive family planning programs. ““I don’t see,” he wrote, “how India could possibly feed two hundred million more people by 1980.” None of these fears have come true. A 2007 study by Nicholas Eberstadt called ‘Too Many People?’ found no correlation between population density and poverty. The greater the density of people, the more you’d expect them to fight for resources – and yet, Monaco, which has 40 times the population density of Bangladesh, is doing well for itself. So is Bahrain, which has three times the population density of India. Not only does population not cause poverty, it makes us more prosperous. The economist Julian Simon pointed out in a 1981 book that through history, whenever there has been a spurt in population, it has coincided with a spurt in productivity. Such as, for example, between Malthus’s time and now. There were around a billion people on earth in 1798, and there are around 7.7 billion today. As you read these words, consider that you are better off than the richest person on the planet then. Why is this? The answer lies in the title of Simon’s book: The Ultimate Resource. When we speak of resources, we forget that human beings are the finest resource of all. There is no limit to our ingenuity. And we interact with each other in positive-sum ways – every voluntary interactions leaves both people better off, and the amount of value in the world goes up. This is why we want to be part of economic networks that are as large, and as dense, as possible. This is why most people migrate to cities rather than away from them – and why cities are so much richer than towns or villages. If Malthusians were right, essential commodities like wheat, maize and rice would become relatively scarcer over time, and thus more expensive – but they have actually become much cheaper in real terms. This is thanks to the productivity and creativity of humans, who, in Eberstadt’s words, are “in practice always renewable and in theory entirely inexhaustible.” The error made by Malthus, Brown and Ehrlich is the same error that our politicians make today, and not just in the context of population: zero-sum thinking. If our population grows and resources stays the same, of course there will be scarcity. But this is never the case. All we need to do to learn this lesson is look at our cities! This mistaken thinking has had savage humanitarian consequences in India. Think of the unborn millions over the decades because of our brutal family planning policies. How many Tendulkars, Rahmans and Satyajit Rays have we lost? Think of the immoral coercion still carried out on poor people across the country. And finally, think of the condescension of our politicians, asserting that people are India’s problem – but always other people, never themselves. This arrogance is India’s greatest problem, not our people. © 2007 IndiaUncut.com. All rights reserved. India Uncut * The IU Blog * Rave Out * Extrowords * Workoutable * Linkastic Full Article
our How to Specify Phase Noise as an Instance Parameter in Spectre Sources (e.g. vsource, isource, Port) By feedproxy.google.com Published On :: Wed, 21 May 2014 00:33:00 GMT Last year, I wrote a blog post entitled Modeling Oscillators with Arbitrary Phase Noise Profiles . We now have an easier way to do this. Starting in MMSIM 13.1 , you can specify the phase noise as an instance parameter in Spectre sources, including...(read more) Full Article Spectre RF phase noise spectreRF analogLib port noise profiles
our Cadence Presenting Four Spectre RF MicroApp Papers at IMS2016, May 22-27 By feedproxy.google.com Published On :: Mon, 16 May 2016 19:45:24 GMT Hello Spectre RF Users, Next week is my all time favorite technical conference - the International Microwave Symposium IMS2016 , May 22-27 in San Francisco, CA at the Moscone Center. If you're at the conference, please stop by the Cadence booth and...(read more) Full Article RF RF Simulation wireless analog/RF HBnoise Circuit simulation Wilsey HB Spectre RF pnoise phase noise Schaldenbrand spectreRF RF design harmonic balance pss
our Willamette HDL and Cadence Develop the Industry's First PSS Training Course for Perspec System Verifier By feedproxy.google.com Published On :: Sat, 01 Dec 2018 01:20:00 GMT Cadence continues to be a leader in SoC verification and has expanded our industry investment in Accellera portable stimulus language standardization. Some customers have expressed reservations that portable stimulus requires the effort of learn...(read more) Full Article whdl Perspec perspec system verifier willamette hdl Accellera pss portable stimulus Accellera PSS
our BoardSurfers: Allegro In-Design Impedance Analysis: Screen your Routed Design Quickly By community.cadence.com Published On :: Tue, 28 Apr 2020 13:12:00 GMT Have you ever manufactured a printed circuit board (PCB) without analyzing all the routed signal traces? Most designers will say “yes, all the time.” Trace widths and spacing are set by constraints,... [[ Click on the title to access the full blog on the Cadence Community site. ]] Full Article
our My Journey - From a Layout Designer to an Application Engineer By community.cadence.com Published On :: Wed, 29 Apr 2020 14:41:00 GMT Today, we are living in the era where whatever we think of as an idea is not far from being implemented…thanks to machine learning (ML) and artificial intelligence (AI) entering into the... [[ Click on the title to access the full blog on the Cadence Community site. ]] Full Article
our Start Your Engines: AMSD Flex – Your Instant Access to Latest Spectre Features! By community.cadence.com Published On :: Fri, 01 May 2020 06:59:00 GMT Cadence ® Spectre ® AMS Designer is a high-performance mixed-signal simulation system. The ability to use multiple engines, and drive from a variety of platforms enables you to "rev... [[ Click on the title to access the full blog on the Cadence Community site. ]] Full Article
our Tales from DAC: Altair's HERO Is Your Hero By feedproxy.google.com Published On :: Mon, 29 Jul 2019 21:07:00 GMT Emulators are great. They vastly speed up verification to the point where it’s hard to imagine life without them; as designs grow in complexity, simple simulation can’t keep up for the biggest designs. The extra oomph from emulation is almost a necessity for the top percentages of design sizes. However, many users of Palladium aren’t efficiently using their unit’s processing power, and as a result they’re missing out on the full speed-up potential that Palladium can provide. Altair’s HERO is here for you. With its help, your Palladium unit can be even more amazing for your productivity than before. HERO (that’s Hardware Emulator Resource Optimizer) adds emulator support to Altair’s Accelerator. You already know and love Altair’s scheduling tools; so why not make them do more for you, so you can be one of those people who are making the most out of their Palladium system? Emulators are kind of like big computers, but it’s a lot harder to manage leftover resources on an emulator than it is on, say, a CPU. A scheduler like HERO neatly sidesteps this problem by more intelligently using the resources available to ensure that there’s a minimal patchwork of leftover resources to begin with. HERO supports past generations of Palladium as well, so if you’re still using an older version, you can still take advantage of the upgrades HERO provides. There’s a wide variety of features HERO has that make your emulator easier to use. HERO separates a job into a “select” section and a “run” section: the “select” part makes a last-minute decision on which domains or boards to use, while the “run” part is the actual job. This makes it easier to ensure that your Palladium emulator is being used as efficiently as possible. Jobs are placed using “shapes”, which are a set of job types; these can be selected from a list of pre-defined ones by the user. Shapes can have special constraints if those are needed. A new reservation system also helps HERO organize Palladium’s processing power better. HERO offers both “hard” reservations and “soft” reservations. A hard reservation locks other users out of reserving any part of the emulator at all, while a soft reservation allows a user to reserve a part of the emulator for a later use. Think of it like this: a soft reservation is like grabbing a ticket from the deli counter, while a hard reservation stops you from ever entering the market. When using HERO, you can manage your entire verification workload. You’ll find that your utilization of your emulator vastly increases—it’s been reported that some users using only 30% of the capabilities of their Palladium unit(s) saw a massive increase to over 90% once they made the switch to HERO. If you’re ready to take your Palladium productivity to the next level, Altair has a HERO for you. To see the full presentation given by Andrea Casotto in the Cadence Theater at DAC 2019, check here. Full Article Cadence Theater HERO Palladium Altair Engineering DAC 2019
our Specman: Analyze Your Coverage with Python By feedproxy.google.com Published On :: Wed, 06 Nov 2019 13:31:00 GMT In the former blog about Python and Specman: Specman: Python Is here!, we described the technical information around Specman-Python integration. Since Python provides so many easy to use existing libraries in various fields, it is very tempting to leverage these cool Python apps. Coverage has always been the center of the verification methodology, however in the last few years it gets even more focus as people develop advanced utilities, usually using Machine Learning aids. Anyhow, any attempt to leverage your coverage usually starts with some analysis of the behavior and trends of some typical tests. Visualizing the data makes it easier to understand, analyze, and communicate. Fortunately, Python has many Visualization libraries. In this blog, we show an example of how you can use the plotting Python library (matplotlib) to easily display coverage information during a run. In this blog, we use the Specman Coverage API to extract coverage data, and a Python module to display coverage grades interactively during a single run and the way to connect both. Before we look at the example, if you have read the former blog about Specman and Python and were concerned about the fact that python3 is not supported, we are glad to update that in Specman 19.09, Python3 is now supported (in addition to Python2). The TestcaseLet’s say I have a stable verification environment and I want to make it more efficient. For example: I want to check whether I can make the tests shorter while hardly harming the coverage. I am not sure exactly how to attack this task, so a good place to start is to visually analyze the behavior of the coverage on some typical test I chose. The first thing we need to do is to extract the coverage information of the interesting entities. This can be done using the old Coverage API. Coverage APICoverage API is a simple interface to extract coverage information at a certain point. It is implemented through a predefined struct type named user_cover_struct. To use it, you need to do the following: Define a child of user_cover_structusing like inheritance (my_cover_struct below). Extend its relevant methods (in our example we extend only the end_group() method) and access the relevant members (you can read about the other available methods and members in cdnshelp). Create an instance of the user_cover_structchild and call the predefined scan_cover() method whenever you want to query the data (even in every cycle). Calling this method will result in calling the methods you extended in step 2. The code example below demonstrates these three steps. We chose to extend the end_group() method and we keep the group grade in some local variable. Note that we divide it by 100,000,000 to get a number between 0 to 1 since the grade in this API is an integer from 0 to 100,000,000. struct my_cover_struct like user_cover_struct { !cur_group_grade:real; //Here we extend user_cover_struct methods end_group() is also { cur_group_grade = group_grade/100000000; }}; extend sys{ !cover_info : my_cover_struct; run() is also { start monitor_cover (); }; monitor_cover() @any is { cover_info = new; while(TRUE) { // wait some delay, for example – wait [10000] * cycles; // scan the packet.packet_cover cover group compute cover_info.scan_cover("packet.packet_cover"); };//while };// monitor_cover};//sys Pass the Data to a Python ModuleAfter we have extracted the group grade, we need to pass the grade along with the cycle and the coverage group name (assuming there are a few) to a Python module. We will take a look at the Python module itself later. For now, we will first take a look at how to pass the information from the e code to Python. Note that in addition to passing the grade at certain points (addVal method), we need an initialization method (init_plot) with the number of cycles, so that the X axis can be drawn at the beginning, and end_plot() to mark interesting points on the plot at the end. But to begin with, let’s have empty methods on the Python side and make sure we can just call them from the e code. # plot_i.pydef init_plot(numCycles): print (numCycles)def addVal(groupName,cycle,grade): print (groupName,cycle,grade)def end_plot(): print ("end_plot") And add the calls from e code: struct my_cover_struct like user_cover_struct { @import_python(module_name="plot_i", python_name="addVal") addVal(groupName:string, cycle:int,grade:real) is imported; !cur_group_grade:real; //Here we extend user_cover_struct methods end_group() is also { cur_group_grade = group_grade/100000000; //Pass the values to the Python module addVal(group_name,sys.time, cur_group_grade); } //end_group};//user_cover_struct extend sys{ @import_python(module_name="plot_i", python_name="init_plot" init_plot(numCycles:int) is imported; @import_python(module_name="plot_i", python_name="end_plot") end_plot() is imported; !cover_info : my_cover_struct; run() is also { start scenario(); }; scenario() @any is { //initialize the plot in python init_plot(numCycles); while(sys.time<numCycles) { //Here you add your logic //get the current coverage information for packet cover_info = new; var num_items:= cover_info.scan_cover("packet.packet_cover"); //Here you add your logic };//while //Finish the plot in python end_plot(); }//scenario}//sys The green lines define the methods as they are called from the e The blue lines are pre-defined annotations that state that the method in the following line is imported from Python and define the Python module and the name of the method in it. The red lines are the calls to the Python methods. Before running this, note that you need to ensure that Specman finds the Python include and lib directories, and Python finds our Python module. To do this, you need to define a few environment variables: SPECMAN_PYTHON_INCLUDE_DIR, SPECMAN_PYTHON_LIB_DIR, and PYTHONPATH. The Python Module to Draw the PlotAfter we extracted the coverage information and ensured that we can pass it to a Python module, we need to display this data in the Python module. There are many code examples out there for drawing a graph with Python, especially with matplotlib. You can either accumulate the data and draw a graph at the end of the run or draw a graph interactively during the run itself- which is very useful especially for long runs. Below is a code that draws the coverage grade of multiple groups interactively during the run and at the end of the run it prints circles around the maximum point and adds some text to it. I am new to Python so there might be better or simpler ways to do so, but it does the work. The cool thing is that there are so many examples to rely on that you can produce this kind of code very fast. # plot_i.pyimport matplotlibimport matplotlib.pyplot as plt plt.style.use('bmh') #set interactive modeplt.ion() fig = plt.figure(1)ax = fig.add_subplot(111) # Holds a specific cover groupclass CGroup: def __init__(self, name, cycle,grade ): self.name = name self.XCycles=[] self.XCycles.append(cycle) self.YGrades=[] self.YGrades.append(grade) self.line_Object= ax.plot(self.XCycles, self.YGrades,label=name)[-1] self.firstMaxCycle=cycle self.firstMaxGrade=grade def add(self,cycle,grade): self.XCycles.append(cycle) self.YGrades.append(grade) if grade>self.firstMaxGrade: self.firstMaxGrade=grade self.firstMaxCycle=cycle self.line_Object.set_xdata(self.XCycles) self.line_Object.set_ydata(self.YGrades) plt.legend(shadow=True) fig.canvas.draw() #Holds all the data of all cover groups class CData: groupsList=[] def add (self,groupName,cycle,grade): found=0 for group in self.groupsList: if groupName in group.name: group.add(cycle,grade) found=1 break if found==0: obj=CGroup(groupName,cycle,grade) self.groupsList.append(obj) def drawFirstMaxGrade(self): for group in self.groupsList: left, right = plt.xlim() x=group.firstMaxCycle y=group.firstMaxGrade #draw arrow #ax.annotate("first maximum grade", xy=(x,y), #xytext=(right-50, 0.4),arrowprops=dict(facecolor='blue', shrink=0.05),) #mark the points on the plot plt.scatter(group.firstMaxCycle, group.firstMaxGrade,color=group.line_Object.get_color()) #Add text next to the point text='cycle:'+str(x)+' grade:'+str(y) plt.text(x+3, y-0.1, text, fontsize=9, bbox=dict(boxstyle='round4',color=group.line_Object.get_color())) #Global datamyData=CData() #Initialize the plot, should be called oncedef init_plot(numCycles): plt.xlabel('cycles') plt.ylabel('grade') plt.title('Grade over time') plt.ylim(0,1) plt.xlim(0,numCycles) #Add values to the plotdef addVal(groupName,cycle,grade): myData.add(groupName,cycle,grade) #Mark interesting points on the plot and keep it showndef end_plot(): plt.ioff(); myData.drawFirstMaxGrade(); #Make sure the plot is being shown plt.show(); #uncomment the following lines to run this script with simple example to make sure #it runs properly regardless of the Specman interaction #init_plot(300)#addVal("xx",1,0)#addVal("yy",1,0)#addVal("xx",50,0.3)#addVal("yy",60,0.4)#addVal("xx",100,0.8)#addVal("xx",120,0.8)#addVal("xx",180,0.8)#addVal("yy",200,0.9)#addVal("yy",210,0.9)#addVal("yy",290,0.9)#end_plot() In the example we used, we had two interesting entities: packet and state_machine, thus we had two equivalent coverage groups. When running our example connecting to the Python module, we get the following graph which is displayed interactively during the run. When analyzing this specific example, we can see two things. First, packet gets to a high coverage quite fast and significant part of the run does not contribute to its coverage. On the other hand, something interesting happens relating to state_machine around cycle 700 which suddenly boosts its coverage. The next step would be to try to dump graphic information relating to other entities and see if something noticeable happens around cycle 700. To run a complete example, you can download the files from: https://github.com/okirsh/Specman-Python/ Do you feel like analyzing the coverage behavior in your environment? We will be happy to hear about your outcomes and other usages of the Python interface. Orit KirshenbergSpecman team Full Article Specman Specman coverage engine coverage Python Functional Verification Specman e e e language specman elite functional coverage
our BoardSurfers: Allegro In-Design Impedance Analysis: Screen your Routed Design Quickly By feedproxy.google.com Published On :: Tue, 28 Apr 2020 13:12:00 GMT Have you ever manufactured a printed circuit board (PCB) without analyzing all the routed signal traces? Most designers will say “yes, all the time.” Trace widths and spacing are set by constraints, and many designers simply don’t h...(read more) Full Article PCB design Sigrity Allegro
our Inconsistent behaviour of warn() between Virtuoso and Allegro By feedproxy.google.com Published On :: Thu, 23 Apr 2020 09:27:22 GMT For a project, we depend on capturing warnings. This works fine in Virtuoso but behaves differently in Allegro. In our observations Virtuoso: >>> warn("Hello") *WARNING* Hello Allegro: >>> warn("Hello") *WARNING* Hello But when we capture the warning: Virtuoso: >>> warn("Hello") getWarn() "Hello" Allegro: >>> warn("Hello") getWarn() "*WARNING* Hello" This is a Problem for because we put an empty String in the warn and depend on the fact that no Warning results in an empty String but on Allegro the output always begins with *WARNING* Is there a way to make the behavior consistent in both versions? Full Article
our Population Is Not a Problem, but Our Greatest Strength By feedproxy.google.com Published On :: 2019-06-09T03:27:29+00:00 This is the 21st installment of The Rationalist, my column for the Times of India. When all political parties agree on something, you know you might have a problem. Giriraj Singh, a minister in Narendra Modi’s new cabinet, tweeted this week that our population control law should become a “movement.” This is something that would find bipartisan support – we are taught from school onwards that India’s population is a big problem, and we need to control it. This is wrong. Contrary to popular belief, our population is not a problem. It is our greatest strength. The notion that we should worry about a growing population is an intuitive one. The world has limited resources. People keep increasing. Something’s gotta give. Robert Malthus made just this point in his 1798 book, An Essay on the Principle of Population. He was worried that our population would grow exponentially while resources would grow arithmetically. As more people entered the workforce, wages would fall and goods would become scarce. Calamity was inevitable. Malthus’s rationale was so influential that this mode of thinking was soon called ‘Malthusian.’ (It is a pejorative today.) A 20th-century follower of his, Harrison Brown, came up with one of my favourite images on this subject, arguing that a growing population would lead to the earth being “covered completely and to a considerable depth with a writhing mass of human beings, much as a dead cow is covered with a pulsating mass of maggots.” Another Malthusian, Paul Ehrlich, published a book called The Population Bomb in 1968, which began with the stirring lines, “The battle to feed all of humanity is over. In the 1970s hundreds of millions of people will starve to death in spite of any crash programs embarked upon now.” Ehrlich was, as you’d guess, a big supporter of India’s coercive family planning programs. ““I don’t see,” he wrote, “how India could possibly feed two hundred million more people by 1980.” None of these fears have come true. A 2007 study by Nicholas Eberstadt called ‘Too Many People?’ found no correlation between population density and poverty. The greater the density of people, the more you’d expect them to fight for resources – and yet, Monaco, which has 40 times the population density of Bangladesh, is doing well for itself. So is Bahrain, which has three times the population density of India. Not only does population not cause poverty, it makes us more prosperous. The economist Julian Simon pointed out in a 1981 book that through history, whenever there has been a spurt in population, it has coincided with a spurt in productivity. Such as, for example, between Malthus’s time and now. There were around a billion people on earth in 1798, and there are around 7.7 billion today. As you read these words, consider that you are better off than the richest person on the planet then. Why is this? The answer lies in the title of Simon’s book: The Ultimate Resource. When we speak of resources, we forget that human beings are the finest resource of all. There is no limit to our ingenuity. And we interact with each other in positive-sum ways – every voluntary interactions leaves both people better off, and the amount of value in the world goes up. This is why we want to be part of economic networks that are as large, and as dense, as possible. This is why most people migrate to cities rather than away from them – and why cities are so much richer than towns or villages. If Malthusians were right, essential commodities like wheat, maize and rice would become relatively scarcer over time, and thus more expensive – but they have actually become much cheaper in real terms. This is thanks to the productivity and creativity of humans, who, in Eberstadt’s words, are “in practice always renewable and in theory entirely inexhaustible.” The error made by Malthus, Brown and Ehrlich is the same error that our politicians make today, and not just in the context of population: zero-sum thinking. If our population grows and resources stays the same, of course there will be scarcity. But this is never the case. All we need to do to learn this lesson is look at our cities! This mistaken thinking has had savage humanitarian consequences in India. Think of the unborn millions over the decades because of our brutal family planning policies. How many Tendulkars, Rahmans and Satyajit Rays have we lost? Think of the immoral coercion still carried out on poor people across the country. And finally, think of the condescension of our politicians, asserting that people are India’s problem – but always other people, never themselves. This arrogance is India’s greatest problem, not our people. The India Uncut Blog © 2010 Amit Varma. All rights reserved. Follow me on Twitter. Full Article
our IC Packagers: Identify Your Components By feedproxy.google.com Published On :: Tue, 24 Mar 2020 14:19:00 GMT We’ve all seen bar codes and the more modern QR codes. They’re everywhere you go – items at the grocery store, advertisements and posters, even on websites. Did you know that, with the productivity toolbox in Allegro Package Designe...(read more) Full Article Allegro Package Designer Allegro PCB Editor
our IC Packagers: You Can Leave Your (Molding) Cap On… By feedproxy.google.com Published On :: Tue, 21 Apr 2020 14:27:00 GMT Molding caps aren’t something we talk about too frequently around here. We all know they exist, and they serve an important purpose of protecting the delicate die from potentially harsh environmental conditions. They impact how well heat can be...(read more) Full Article Allegro Package Designer
our Welcome! Please use this forum to upload your code By feedproxy.google.com Published On :: Tue, 05 Aug 2008 21:01:43 GMT Please include a brief summary of how to use it. Full Article
our Are You Stuck While Synthesizing Your Design Due to Low-Power Issues? We Have the Solution! By feedproxy.google.com Published On :: Tue, 31 Mar 2020 14:39:00 GMT Optimizing power can be a very convoluted and crucial process. To make design chips meet throughput goals along with optimal power consumption, you need to plan right from the beginning! (read more) Full Article Low Power Logic Design
our Start Your Engines: AMSD Flex—Take your Pick! By feedproxy.google.com Published On :: Thu, 16 Apr 2020 22:16:00 GMT Introduction to AMSD Flex mode and its benefits.(read more) Full Article mixed signal design AMS Designer AMSD AMSD Flex Mode mixed-signal verification
our Start Your Engines: AMSD Flex – Your Instant Access to Latest Spectre Features! By feedproxy.google.com Published On :: Fri, 01 May 2020 06:59:00 GMT This blog talks about how to enable the AMS Designer flex mode.(read more) Full Article mixed signal design AMS Designer AMSD AMSD Flex Mode mixed-signal verification
our Virtuosity: Are Your Layout Design Mansions Correct-by-Construction? By community.cadence.com Published On :: Thu, 26 Mar 2020 14:21:00 GMT Do you want to create designs that are correct by construction? Read along this blog to understand how you can achieve this by using Width Spacing Patterns (WSPs) in your designs. WSPs, are track lines that provide guidance for quickly creating wires. Defining WSPs that capture the width-dependent spacing rules, and snapping the pathSegs of a wire to them, ensures that the wires meet width-dependent spacing rules.(read more) Full Article ICADVM18.1 Advanced Node Layout Suite width spacing patterns Layout Virtuoso Virtuosity usability Custom IC Design ux
our #MakeYourOwnMask: সেলাই না করেই বাড়িতে বানিয়ে ফেলুন মাস্ক, জেনে নিন কীভাবে By bengali.news18.com Published On :: Full Article
our #MakeYourOwnMask: বাড়িতেই সহজে বানিয়ে ফেলুন ফেস্ক মাস্ক, জেনে নিন কীভাবে By bengali.news18.com Published On :: Full Article
our #MakeYourOwnMask: ঘরে তৈরি মাস্ক কি করোনা মোকাবিলা করতে পারবে? By bengali.news18.com Published On :: Full Article
our #MakeYourOwnMask: পুরনো টিশার্ট দিয়েই চটজলদি বানিয়ে ফেলুন মাস্ক ! কীভাবে? পড়ে নিন By bengali.news18.com Published On :: Full Article
our #MakeYourOwnMask: বাড়িতেই সহজে বানিয়ে ফেলুন ফেস্ক মাস্ক, জেনে নিন কীভাবে By bengali.news18.com Published On :: Full Article
our News18 Urdu: Latest News Sirmour By urdu.news18.com Published On :: visit News18 Urdu for latest news, breaking news, news headlines and updates from Sirmour on politics, sports, entertainment, cricket, crime and more. Full Article
our Ultrasonic Waves Can Make Siri Share Your Secrets By packetstormsecurity.com Published On :: Mon, 02 Mar 2020 15:21:08 GMT Full Article headline privacy flaw apple
our Greek Journo Who Published List Of Swiss Bank Account Holders Cleared By packetstormsecurity.com Published On :: Fri, 02 Nov 2012 15:15:41 GMT Full Article headline privacy bank data loss switzerland greece
our Attention Symantec - There Is A Bug Crawling On Your Website By packetstormsecurity.com Published On :: Wed, 15 Apr 2009 10:59:55 GMT Full Article symantec xss
our Kenya Court Halts Biometric ID Over Data Fears By packetstormsecurity.com Published On :: Fri, 31 Jan 2020 15:28:36 GMT Full Article headline government privacy africa
our Oracle Spoils Your Day With Nearly 150 Patches By packetstormsecurity.com Published On :: Thu, 16 Jan 2014 04:00:14 GMT Full Article headline flaw patch oracle blackberry java
our What's This About Canada Reading Your BlackBerry Texts? By packetstormsecurity.com Published On :: Fri, 15 Apr 2016 14:14:41 GMT Full Article headline government privacy phone canada blackberry backdoor
our Amazon Fires Four Employees For Abusing Ring Access By packetstormsecurity.com Published On :: Thu, 09 Jan 2020 14:57:13 GMT Full Article headline privacy amazon
our Nintendo Wii U Network 'Hacked' Hours After Launch? By packetstormsecurity.com Published On :: Mon, 19 Nov 2012 21:54:15 GMT Full Article headline privacy flaw nintendo
our Upgrade of Managed DSLS Service on Feb, 29th 3:00AM (UTC+1). Estimated duration: 3 hours By www.3ds.com Published On :: Tue, 25 Feb 2020 17:29:19 +0100 Managed DSLS Service will be upgraded on Feb, 29th (starting Saturday Feb, 29th 2020 - 3AM - UTC+1) Full Article 3DEXPERIENCE Managed DSLS maintenance
our US School Tag Tracker Project Prompts Court Row By packetstormsecurity.com Published On :: Sat, 24 Nov 2012 17:52:28 GMT Full Article headline government privacy usa rfid
our Syria's Internet Goes Dark For Several Hours By packetstormsecurity.com Published On :: Fri, 21 Mar 2014 23:40:22 GMT Full Article headline government facebook twitter syria censorship
our France Fingered As Source Of Syria-Spying Babar Malware By packetstormsecurity.com Published On :: Fri, 06 Mar 2015 14:25:28 GMT Full Article headline government privacy malware spyware france syria
our Dutch Sites Favourite With Hackers By packetstormsecurity.com Published On :: Tue, 14 Apr 2009 06:38:24 GMT Full Article hacker netherlands
our Dutch Court Orders Pirate Bay To Delete Torrents By packetstormsecurity.com Published On :: Fri, 23 Oct 2009 09:36:22 GMT Full Article government netherlands pirate
our Dutch Courts: Wi-Fi Hacking Is Not A Crime By packetstormsecurity.com Published On :: Mon, 21 Mar 2011 15:27:12 GMT Full Article headline hacker wireless netherlands
our Dutch Court Rules Pirate Bay Must Be Blocked By packetstormsecurity.com Published On :: Thu, 10 May 2012 15:14:59 GMT Full Article headline government riaa mpaa netherlands pirate
our Four Critical Flaws Patched In Adobe Digital Edition By packetstormsecurity.com Published On :: Thu, 11 Oct 2018 00:29:03 GMT Full Article headline malware flaw adobe patch
our This App Will Tell You If Your iPhone Gets Hacked By packetstormsecurity.com Published On :: Thu, 14 Nov 2019 15:40:47 GMT Full Article headline hacker phone apple backdoor
our IBM Open Sources New Approach To Crypto By packetstormsecurity.com Published On :: Fri, 03 May 2013 14:50:23 GMT Full Article headline ibm cryptography
our Vietnamese Security Firm - Your Face Is Easy To Fake By packetstormsecurity.com Published On :: Tue, 02 Dec 2008 12:40:17 GMT Full Article vietnam
our i-doit Open Source CMDB 1.14.1 Arbitrary File Deletion By packetstormsecurity.com Published On :: Wed, 06 May 2020 14:33:53 GMT i-doit Open Source CMDB version 1.14.1 suffers from an arbitrary file deletion vulnerability. Full Article
our Virgin Media Learns About Poor Outsourcing Decisions By packetstormsecurity.com Published On :: Fri, 04 Mar 2016 16:02:25 GMT Full Article headline india flaw cryptography
our Indian Police Arrest Four For Game Of Thrones Leak By packetstormsecurity.com Published On :: Tue, 15 Aug 2017 13:31:45 GMT Full Article headline hacker india data loss
our Alleged Romanian Phishers Finally Hauled Into US Courts By packetstormsecurity.com Published On :: Wed, 30 Sep 2009 17:28:45 GMT Full Article government usa phish romania