si OrCAD PCB Designer Pro w/ PSpice, Design Object Find Filter Greyed Out By feedproxy.google.com Published On :: Mon, 04 May 2020 20:25:24 GMT Hello All, I'm currently using OrCAD PCB Designer Professional w/ PSpice (version 16.6-2015). In the 'Design Object Find Filter' side bar, all options are grayed out and unselectable. I did attempt to 'Reset UI to Cadence Default' without any luck. A colleague has no issues with the identical file on his computer. Any guidance would be much appreciated. Thanks! George Full Article
si Allegro design entry DHL, pin swaps , export without exporting constraints, back annotate. By feedproxy.google.com Published On :: Wed, 06 May 2020 14:49:01 GMT Hi, I have a new customer that uses Allegro Design entry HDL for the schematic and have a few questions. 1. How do you get pin/gate swaps into the symbols in the schematic ? 2. How do you transfer them to the pcb editor ? 3. How do you back annotate the swaps from the pcb editor to the schematic ? 4. How do you stop the export/Import physical from updating the constraints in the pcb file ? Full Article
si Orcad CIS Variant Bom Missing By feedproxy.google.com Published On :: Thu, 07 May 2020 09:15:22 GMT Hi There, The variant bom I set gone dissapear. Is there any way to recover this back from the old design file? This is the second time it happen to me. Not really sure what could cause this. Thanks, Pornchai Full Article
si OVM transactions in simvision By feedproxy.google.com Published On :: Tue, 24 Mar 2009 08:27:22 GMT Hi,I'm using OVM transaction level tracing in SV. I was wondering if I can have simvision render different types of transactions with different colors e.g. based on a transaction attribute. I know how to do it at signal level using mnemonics but I haven't succeeded doing this at transaction level. Anyone? -Joep Full Article
si Einstein's puzzle (System Verilog) solved by Incisive92 By feedproxy.google.com Published On :: Fri, 20 Nov 2009 17:54:07 GMT Hello All,Following is the einstein's puzzle solved by cadence Incisive92 (solved in less than 3 seconds -> FAST!!!!!!) Thanks,Vinay HonnavaraVerification engineer at Keyu Techvinayh@keyutech.com // Author: Vinay Honnavara// Einstein formulated this problem : he said that only 2% in the world can solve this problem// There are 5 different parameters each with 5 different attributes// The following is the problem// -> In a street there are five houses, painted five different colors (RED, GREEN, BLUE, YELLOW, WHITE)// -> In each house lives a person of different nationality (GERMAN, NORWEGIAN, SWEDEN, DANISH, BRITAIN)// -> These five homeowners each drink a different kind of beverage (TEA, WATER, MILK, COFFEE, BEER),// -> smoke different brand of cigar (DUNHILL, PRINCE, BLUE MASTER, BLENDS, PALL MALL)// -> and keep a different pet (BIRD, CATS, DOGS, FISH, HORSES)///////////////////////////////////////////////////////////////////////////////////////// *************** Einstein's riddle is: Who owns the fish? ***************************////////////////////////////////////////////////////////////////////////////////////////*Necessary clues:1. The British man lives in a red house.2. The Swedish man keeps dogs as pets.3. The Danish man drinks tea.4. The Green house is next to, and on the left of the White house.5. The owner of the Green house drinks coffee.6. The person who smokes Pall Mall rears birds.7. The owner of the Yellow house smokes Dunhill.8. The man living in the center house drinks milk.9. The Norwegian lives in the first house.10. The man who smokes Blends lives next to the one who keeps cats.11. The man who keeps horses lives next to the man who smokes Dunhill.12. The man who smokes Blue Master drinks beer.13. The German smokes Prince.14. The Norwegian lives next to the blue house.15. The Blends smoker lives next to the one who drinks water.*/typedef enum bit [2:0] {red, green, blue, yellow, white} house_color_type;typedef enum bit [2:0] {german, norwegian, brit, dane, swede} nationality_type;typedef enum bit [2:0] {coffee, milk, water, beer, tea} beverage_type;typedef enum bit [2:0] {dunhill, prince, blue_master, blends, pall_mall} cigar_type;typedef enum bit [2:0] {birds, cats, fish, dogs, horses} pet_type;class Einstein_problem; rand house_color_type house_color[5]; rand nationality_type nationality[5]; rand beverage_type beverage[5]; rand cigar_type cigar[5]; rand pet_type pet[5]; rand int arr[5]; constraint einstein_riddle_solver { foreach (house_color[i]) foreach (house_color[j]) if (i != j) house_color[i] != house_color[j]; foreach (nationality[i]) foreach (nationality[j]) if (i != j) nationality[i] != nationality[j]; foreach (beverage[i]) foreach (beverage[j]) if (i != j) beverage[i] != beverage[j]; foreach (cigar[i]) foreach (cigar[j]) if (i != j) cigar[i] != cigar[j]; foreach (pet[i]) foreach (pet[j]) if (i != j) pet[i] != pet[j]; //1) The British man lives in a red house. foreach(nationality[i]) (nationality[i] == brit) -> (house_color[i] == red); //2) The Swedish man keeps dogs as pets. foreach(nationality[i]) (nationality[i] == swede) -> (pet[i] == dogs); //3) The Danish man drinks tea. foreach(nationality[i]) (nationality[i] == dane) -> (beverage[i] == tea); //4) The Green house is next to, and on the left of the White house. foreach(house_color[i]) if (i<4) (house_color[i] == green) -> (house_color[i+1] == white); //5) The owner of the Green house drinks coffee. foreach(house_color[i]) (house_color[i] == green) -> (beverage[i] == coffee); //6) The person who smokes Pall Mall rears birds. foreach(cigar[i]) (cigar[i] == pall_mall) -> (pet[i] == birds); //7) The owner of the Yellow house smokes Dunhill. foreach(house_color[i]) (house_color[i] == yellow) -> (cigar[i] == dunhill); //8) The man living in the center house drinks milk. foreach(house_color[i]) if (i==2) // i==2 implies the center house (0,1,2,3,4) 2 is the center beverage[i] == milk; //9) The Norwegian lives in the first house. foreach(nationality[i]) if (i==0) // i==0 is the first house nationality[i] == norwegian; //10) The man who smokes Blends lives next to the one who keeps cats. foreach(cigar[i]) if (i==0) // if the man who smokes blends lives in the first house then the person with cats will be in the second (cigar[i] == blends) -> (pet[i+1] == cats); foreach(cigar[i]) if (i>0 && i<4) // if the man is not at the ends he can be on either side (cigar[i] == blends) -> (pet[i-1] == cats) || (pet[i+1] == cats); foreach(cigar[i]) if (i==4) // if the man is at the last (cigar[i] == blends) -> (pet[i-1] == cats); foreach(cigar[i]) if (i==4) (pet[i] == cats) -> (cigar[i-1] == blends); //11) The man who keeps horses lives next to the man who smokes Dunhill. foreach(pet[i]) if (i==0) // similar to the last case (pet[i] == horses) -> (cigar[i+1] == dunhill); foreach(pet[i]) if (i>0 & i<4) (pet[i] == horses) -> (cigar[i-1] == dunhill) || (cigar[i+1] == dunhill); foreach(pet[i]) if (i==4) (pet[i] == horses) -> (cigar[i-1] == dunhill); //12) The man who smokes Blue Master drinks beer. foreach(cigar[i]) (cigar[i] == blue_master) -> (beverage[i] == beer); //13) The German smokes Prince. foreach(nationality[i]) (nationality[i] == german) -> (cigar[i] == prince); //14) The Norwegian lives next to the blue house. foreach(nationality[i]) if (i==0) (nationality[i] == norwegian) -> (house_color[i+1] == blue); foreach(nationality[i]) if (i>0 & i<4) (nationality[i] == norwegian) -> (house_color[i-1] == blue) || (house_color[i+1] == blue); foreach(nationality[i]) if (i==4) (nationality[i] == norwegian) -> (house_color[i-1] == blue); //15) The Blends smoker lives next to the one who drinks water. foreach(cigar[i]) if (i==0) (cigar[i] == blends) -> (beverage[i+1] == water); foreach(cigar[i]) if (i>0 & i<4) (cigar[i] == blends) -> (beverage[i-1] == water) || (beverage[i+1] == water); foreach(cigar[i]) if (i==4) (cigar[i] == blends) -> (beverage[i-1] == water); } // end of the constraint block // display all the attributes task display ; foreach (house_color[i]) begin $display("HOUSE : %s",house_color[i].name()); end foreach (nationality[i]) begin $display("NATIONALITY : %s",nationality[i].name()); end foreach (beverage[i]) begin $display("BEVERAGE : %s",beverage[i].name()); end foreach (cigar[i]) begin $display("CIGAR: %s",cigar[i].name()); end foreach (pet[i]) begin $display("PET : %s",pet[i].name()); end foreach (pet[i]) if (pet[i] == fish) $display("THE ANSWER TO THE RIDDLE : The %s has %s ", nationality[i].name(), pet[i].name()); endtask // end display endclassprogram main ; initial begin Einstein_problem ep; ep = new(); if(!ep.randomize()) $display("ERROR"); ep.display(); endendprogram // end of main Full Article
si Sudoku solver using Incisive Enterprise Verifier (IEV) and Assertion-Driven Simulation (ADS) By feedproxy.google.com Published On :: Tue, 13 Dec 2011 17:29:21 GMT Just in time for the holidays, inside the posted tar ball is some code to solve 9x9 Sudoku puzzles with the Assertion-Driven Simulation (ADS) capability of Incisive Enterprise Verifier (IEV). Enjoy! Joerg Mueller Solutions Engineer for Team Verify Full Article
si Simvision - Signal loading By feedproxy.google.com Published On :: Fri, 04 May 2012 04:59:11 GMT Hi all Good day.Can anyone tell me whether it is possible to view the signals once it is modified from its previous values without closing the simvision window. If possible kindly let me know the command for it(Linux). Is it possible to view the schematic for the code written?? Kindly instruct me. Thanks all.S K S Full Article
si Hold violation at post P&R simulation By feedproxy.google.com Published On :: Mon, 08 Oct 2012 04:28:27 GMT Hello, I am working in a digital design. The functional, post synthesis and post P&R without IO pads are all working fine, i.e., functionally and with clean timing reports "no setup/hold violations". I just added the IO pads to the same design, I had to change the timing constraints a bit for the synthesis but I have a clean design at SOC Encounter, i.e., clean DRC and clean timing reports "no setup/hold violations". However, when I perform simulation using the exported net-list from SOC Encounter together with SDF exported from the same tool, I got a lot of hold violations. Consequently, the design is not funcitioning. Why and how I can overcome or trobleshoot this issue?In waiting for your feedback and comments.Regards. Full Article
si Kitchen Design Manchester By feedproxy.google.com Published On :: Tue, 30 Jul 2013 13:09:55 GMT Try looking at www.solidwoodkitchen.co.uk. They have some amazing designs and prices. Kitchen Design Manchester Full Article
si memory leak in ncsim By feedproxy.google.com Published On :: Fri, 16 Aug 2013 06:32:51 GMT ncsim will consume an increasing ammount of memory when a function has an output port that return an associative array which was not initialized. My simulator version is 12.10-s011.Below is a code example to reproduce the failure. The code is inside a class (uvm_object): function void a_function(output bit ret_val[int]); // empty endfunction : get_coveach time the call is done a small ammount of memory is allocated. I n my case I call this function several (millions of) times during simulation and then I can see the memory leaking. Full Article
si Creating transition coverage bins using a queue or dynamically By feedproxy.google.com Published On :: Sun, 21 Apr 2019 01:31:28 GMT I want to write a transition coverage on an enumeration. One of the parts of that transition is a queue of the enum. I construct this queue in my constructor. Considering the example below, how would one go about it. In my coverage bin I can create a range like this A => [queue1Enum[0]:queue1Enum[$]] => [queue2Enum[0]:queue2Enum[$]]. But I only get first and last element then. typedef enum { red, d_green, d_blue, e_yellow, e_white, e_black } Colors; Colors dColors[$]; Colors eColors[$]; Lcolors = Colors.first(); do begin if (Lcolors[0].name=='d') begin dColors.push_back(Lcolors); end if (Lcolors[0].name=='e') begin eColors.push_back(Lcolors); end end while(Lcolors != Lcolors.first()) covergroup cgTest with function sample(Colors c); cpTran : coverpoint c{ bins t[] = (red => dColors =>eColors); } endgroup bins t[] should come out like this(red=>d_blue,d_green=>e_yellow,e_white) Full Article
si how to add section info to extsim_model_include? By feedproxy.google.com Published On :: Wed, 22 Apr 2020 22:12:45 GMT i had encountered error message like this before. but in liberate, i did not find the entry to input section info. Full Article
si Virtuoso Spectre Monte Carlo simulation By feedproxy.google.com Published On :: Tue, 28 Apr 2020 06:49:49 GMT Hi , I have designed analog IP in cadence ADE and simulated in spectre. All corner results looks good. when i run monte carlo 1000 runs have high current in 125C two runs. Simulated with same setup in different user, all clean.Need to know what type sampling method used and why its not clean with my setup. Thanks, Anbarasu Full Article
si Regarding Save/Restore Settings for Transient Simulation By feedproxy.google.com Published On :: Tue, 28 Apr 2020 16:20:14 GMT Hello, I am running a transient simulation on my circuit and usually my simulation time took me more than a day (The circuit is quite big). I am usually saving specific nodes to decrease the simulation time. My problem is, since it usually took me one day to finish I need to save my trans simulation just in case something bad happens. I am aware that the transient simulation have the options for save/restore. But, when I tried to use it I have some problem. Whenever I restore the save file, it starts where it ends before (expected function) but my data is incomplete. It doesn't save the previous data. Its kind of my data is incomplete. What I did is set the saveperiod and savefile. I hope someone can help me. Thank you! Regards, Kiel Full Article
si Unable to Import .v files with `define using "Cadence Verilog In" tool By feedproxy.google.com Published On :: Wed, 29 Apr 2020 00:12:42 GMT Hello, I am trying to import multiple verilog modules defined in a single file with "`define" directive in the top using Verilog In. The code below is an example of what my file contains. When I use the settings below to import the modules into a library, it imports it correctly but completely ignores all `define directive; hence when I simulate using any of the modules below the simulator errors out requesting these variables. My question: Is there a way to make Verilog In consider `define directives in every module cell created? Code to be imported by Cadence Verilog In: -------------------------------------------------------- `timescale 1ns/1ps`define PROP_DELAY 1.1`define INVALID_DELAY 1.3 `define PERIOD 1.1`define WIDTH 1.6`define SETUP_TIME 2.0`define HOLD_TIME 0.5`define RECOVERY_TIME 3.0`define REMOVAL_TIME 0.5`define WIDTH_THD 0.0 `celldefinemodule MY_FF (QN, VDD, VSS, A, B, CK); inout VDD, VSS;output QN;input A, B, CK;reg NOTIFIER;supply1 xSN,xRN; buf IC (clk, CK); and IA (n1, A, B); udp_dff_PWR I0 (n0, n1, clk, xRN, xSN, VDD, VSS, NOTIFIER); not I2 (QN, n0); wire ENABLE_B ;wire ENABLE_A ;assign ENABLE_B = (B) ? 1'b1:1'b0;assign ENABLE_A = (A) ? 1'b1:1'b0; specify$setuphold(posedge CK &&& (ENABLE_B == 1'b1), posedge A, `SETUP_TIME, `HOLD_TIME, NOTIFIER);$setuphold(posedge CK &&& (ENABLE_B == 1'b1), negedge A, `SETUP_TIME, `HOLD_TIME, NOTIFIER);$setuphold(posedge CK &&& (ENABLE_A == 1'b1), posedge B, `SETUP_TIME, `HOLD_TIME, NOTIFIER);$setuphold(posedge CK &&& (ENABLE_A == 1'b1), negedge B, `SETUP_TIME, `HOLD_TIME, NOTIFIER);$width(posedge CK,1.0,0.0,NOTIFIER);$width(negedge CK,1.0,0.0,NOTIFIER);if (A==1'b0 && B==1'b0)(posedge CK => (QN:1'bx)) = (1.0, 1.0);if (A==1'b1 && B==1'b0)(posedge CK => (QN:1'bx)) = (1.0, 1.0);if (B==1'b1)(posedge CK => (QN:1'bx)) = (1.0,1.0); endspecify endmodule // MY_FF`endcelldefine `timescale 1ns/1ps`celldefinemodule MY_FF2 (QN, VDD, VSS, A, B, CK); inout VDD, VSS;output QN;input A, B, CK;reg NOTIFIER;supply1 xSN,xRN; buf IC (clk, CK); and IA (n1, A, B); udp_dff_PWR I0 (n0, n1, clk, xRN, xSN, VDD, VSS, NOTIFIER); not I2 (QN, n0); wire ENABLE_B ;wire ENABLE_A ;assign ENABLE_B = (B) ? 1'b1:1'b0;assign ENABLE_A = (A) ? 1'b1:1'b0; specify$setuphold(posedge CK &&& (ENABLE_B == 1'b1), posedge A, `SETUP_TIME, `HOLD_TIME, NOTIFIER);$setuphold(posedge CK &&& (ENABLE_B == 1'b1), negedge A, `SETUP_TIME, `HOLD_TIME, NOTIFIER);$setuphold(posedge CK &&& (ENABLE_A == 1'b1), posedge B, `SETUP_TIME, `HOLD_TIME, NOTIFIER);$setuphold(posedge CK &&& (ENABLE_A == 1'b1), negedge B, `SETUP_TIME, `HOLD_TIME, NOTIFIER);$width(posedge CK,1.0,0.0,NOTIFIER);$width(negedge CK,1.0,0.0,NOTIFIER);if (A==1'b0 && B==1'b0)(posedge CK => (QN:1'bx)) = (1.0, 1.0);if (A==1'b1 && B==1'b0)(posedge CK => (QN:1'bx)) = (1.0, 1.0);if (B==1'b1)(posedge CK => (QN:1'bx)) = (1.0,1.0); endspecify endmodule // MY_FF2`endcelldefine -------------------------------------------------------- I am using the following Cadence versions: MMSIM Version: 13.1.1.660.isr18 Virtuoso Version: IC6.1.8-64b.500.1 irun Version: 14.10-s039 Spectre Version: 18.1.0.421.isr9 Full Article
si Using calcVal() in Monte-Carlo simulations By feedproxy.google.com Published On :: Wed, 29 Apr 2020 09:10:55 GMT Hello, I am trying to use calcVal for creating a spec condition from a simulated parameter and although this works perfectly fine in corner simulations, I am having some difficulties in Monte-Carlo (and I will explain). (I have also read "Using calcVal() and its arguments with ADE Assembler" in Resources > Rapid Adoption Kits but couldn't find any relevant information that would help me address the "issue"). In the above example I am performing a MC simulation which has 2 corners of 10 runs each. I would like to get the minimum value of variable "OC_limit_thres" out of those 10 runs and pass it as my upper limit to a range argument for variable "OC_flag_thres", so the CPK can be calculated. So the range statement should in reality be like this: range 32m 44.34m (for corner 0) range 32m 43.14m (for corner 1) If I open the Detail - Transpose view in the Results tab, the calcVal("OC_limit_thres" "Currlim_TurnOn_C11") is calculated perfectly fine for each run but here I need one single value out of those 10 runs - in this case the minimum - in order for calcVal to evalute on multiple runs of 1 corner. How can this be done please? Thank you in advance for your time. Full Article
si Simulating PSSR+/PSSR- and CMRR By feedproxy.google.com Published On :: Thu, 30 Apr 2020 02:57:17 GMT Hello, I would like to simulate the PSSR+/PSSR- and the CMMR using xf for the attached test bench. Normally, I do the AC analysis and using the post-processing capability of cadence spectre I do 20log(vdd/vout) for PSSR+ and 20*log(vss/vout) for PSSR-. looked online from an old post that I do: PSRR-db20(1/DATA("/Vn/PLUS" "xf-xf"))PSRR+db20(1/DATA("/Vp/MINUS" "xf-xf")) How about the for the CMRR? Thanks a lot in advance. Full Article
si Simulating IBIS Model using Spectre By feedproxy.google.com Published On :: Thu, 30 Apr 2020 23:17:12 GMT I have a question regarding simulating IBIS model using Spectre. IBIS model generation always has the die capacitance included and in the generated IBIS file you will have this value as “C_comp” value. Does the Spectre accounts for this capacitance from the IBIS file while computing the time domain voltage waveform during simulation ? If I add additional capacitance outside in the testbench, to model the die capacitance, then it will be double counting. Does anyone know if Spectre is already accounting this C_comp during the time domain voltage wave computation from IBIS file, during simulation ? Full Article
si Design variable in assember -> copy from cell view issue By feedproxy.google.com Published On :: Fri, 01 May 2020 05:32:41 GMT Hello, I find a strange issue when using design variable -> right-click -> copy from cellview in assembler. Cadence version is IC618-64b. 500.9 In fact, I set the value of variable (e.g., AAA = 100), then after I right-click -> copy from cellview, AAA's is updated to other value. In my opinion "copy from cellview" should only update the missing variable to the list, but not change any variable value. Is there any mechanism could change variable value when using "copy from cellview"? Thanks Full Article
si Ultrasim does not converge with BSIMBULK model By feedproxy.google.com Published On :: Tue, 05 May 2020 09:16:51 GMT Hello, I am using ultrasim Version 18.1.0.314.isr5 64bit 03/26/2019 06:33 (csvcm20c-2). When I run my netlist, ultrasim is blocked in the first DC stage and takes forever. Then it will fail or never progress. I am using a 22nm BSIMBULK model. I tried to tune different accuracy and convergence aids options but noting works. When I run the same netlist with spectre it works fine with no problem. Also, If I use another model (not BULKSIM), ultrasim will work and converge with no problem. My first feeling is that ultrasim has a problem with using BSIMBULK model. Could you please advice, Thank you, Kotb Full Article
si ERROR (OSSGLD-18): and not able to run simulation By feedproxy.google.com Published On :: Wed, 06 May 2020 02:40:42 GMT I put some stimulus in the simulation file section : _vpd_data_enb (pu_data_enb 0) vsource wave=[0 0 1n 0 1.015n vcchbm 3n vcchbm] dc=0 type=pwl_vpu_data_enb (pd_data_enb 0) vsource dc=pu_enb type=dc I get the following error. ERROR (OSSGLD-18): The command character after '[' in the NLP expression '[0 0 1n 0 1.015n vcchbm 3n vcchbm] dc=0 type=pwl ' is not a valid character. The command character is the first character after '[' in the NLP expression. It must be '?', '!', '#', '$', 'n', '@', '.', '~' or '+'. Enter a valid character as the command character. si: simin did not complete successfully. I dont see anything wrong with the stimulus syntax Full Article
si Is there a simple way of converting a schematic to an s-parameter model? By feedproxy.google.com Published On :: Fri, 08 May 2020 20:06:07 GMT Before I ask this, I am aware that I can output an s-parameter file from an SP analysis. I'm wondering if there is a simple way of creating an s-parameter model of a component. As an example, if I have an S-parameter model that has 200 ports and 150 of those ports are to be connected to passive components and the remaining 50 ports are to be connected to active components, I can simplify the model by connecting the 150 passive components, running an SP analysis, and generating a 50 port S-parameter file. The problem is that this is cumbersome. You've got to wire up 50 PORT components and then after generating the s50p file, create a new cellview with an nport component and connect the 50 ports with 50 new pins. Wiring up all of those port components takes quite a lot of time to do, especially as the "choosing analyses" form adds arrays in reverse (e.g. if you click on an array of PORT components called X<0:2> it will add X<2>, X<1>, X<0> instead of in ascending order) so you have to add all of them to the analyses form manually. Is any way of taking a schematic and running some magic "generate S-Parameter cellview from schematic cellview" function that automates the whole process? Full Article
si Library Characterization Tidbits: Exploring Intuitive Means to Characterize Large Mixed-Signal Blocks By feedproxy.google.com Published On :: Fri, 06 Mar 2020 16:41:00 GMT Let’s review a key characteristic feature of Cadence Liberate AMS Mixed-Signal Characterization that offers to you ease of use along with many other benefits like automation of standard Liberty model creation and improvement of up to 20X throughput.(read more) Full Article Liberate AMS video library generation pin capacitance Mixed-Signal library characterization shell libraries Liberate Characterization Portfolio Liberty Virtuoso ADE Explorer Virtuoso ADE Assembler
si 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
si Genus Synthesis Solution – Introduction to Stylus Common UI By feedproxy.google.com Published On :: Thu, 09 Apr 2020 12:41:00 GMT The Cadence® Genus Synthesis Solution, Innovus Implementation System, and Tempus Timing Signoff Solution have a lot of shared functionality, but in the past, the separate legacy user interfaces (UIs) created a lot of differences. A new common user interface that the Genus solution shares with the Innovus and Tempus solutions streamlines flow development and simplifies usability across the complete Cadence digital flow. The Stylus Common UI provides a next-generation synthesis-to-signoff flow with unified database access, MMMC timing configuration and reporting, and low-power design initialization. This webinar answers the following questions: What is the Stylus Common UI and why did Cadence develop it? How does someone invoke and use the Stylus Common UI? What are some of the important and useful features of the Stylus Common UI? What are key ways the Stylus Common UI is different from the Legacy UI? If you want to learn more about Stylus UI in the context of Genus Synthesis Solution, refer to 45-minute recorded webinar on https://support.cadence.com (Cadence login required). Video Title: Webinar: Genus Synthesis Solution—Introduction to the Stylus Common UI (Video) Direct Link: https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000009MoGIUA0&pageName=ArticleContent Related Resources If interested in the full course, including lab content, please contact your Cadence representative or email a request to training_enroll@cadence.com. You can also enroll in the course on http://learning.cadence.com. Enhance the Genus Synthesis experience with videos: Genus Synthesis Solution: Video Library For any questions, general feedback, or future blog topic suggestions, please leave a comment. Full Article Genus Logic Design common stylus
si The Elephant in the Room: Mixed-Signal Models By feedproxy.google.com Published On :: Wed, 05 Nov 2014 11:45:00 GMT Key Findings: Nearly 100% of SoCs are mixed-signal to some extent. Every one of these could benefit from the use of a metrics-driven unified verification methodology for mixed-signal (MD-UVM-MS), but the modeling step is the biggest hurdle to overcome. Without the magical models, the process breaks down for lack of performance, or holes in the chip verification. In the last installment of The Low Road, we were at the mixed-signal verification party. While no one talked about it, we all saw it: The party was raging and everyone was having a great time, but they were all dancing around that big elephant right in the middle of the room. For mixed-signal verification, that elephant is named Modeling. To get to a fully verified SoC, the analog portions of the design have to run orders of magnitude faster than the speediest SPICE engine available. That means an abstraction of the behavior must be created. It puts a lot of people off when you tell them they have to do something extra to get done with something sooner. Guess what, it couldn’t be more true. If you want to keep dancing around like the elephant isn’t there, then enjoy your day. If you want to see about clearing the pachyderm from the dance floor, you’ll want to read on a little more…. Figure 1: The elephant in the room: who’s going to create the model? Whose job is it? Modeling analog/mixed-signal behavior for use in SoC verification seems like the ultimate hot potato. The analog team that creates the IP blocks says it doesn't have the expertise in digital verification to create a high-performance model. The digital designers say they don’t understand anything but ones and zeroes. The verification team, usually digitally-centric by background, are stuck in the middle (and have historically said “I just use the collateral from the design teams to do my job; I don’t create it”). If there is an SoC verification team, then ensuring that the entire chip is verified ultimately rests upon their shoulders, whether or not they get all of the models they need from the various design teams for the project. That means that if a chip does not work because of a modeling error, it ought to point back to the verification team. If not, is it just a “systemic error” not accounted for in the methodology? That seems like a bad answer. That all makes the most valuable guy in the room the engineer, whose knowledge spans the three worlds of analog, digital, and verification. There are a growing number of “mixed-signal verification engineers” found on SoC verification teams. Having a specialist appears to be the best approach to getting the job done, and done right. So, my vote is for the verification team to step up and incorporate the expertise required to do a complete job of SoC verification, analog included. (I know my popularity probably did not soar with the attendees of DVCON with that statement, but the job has to get done). It’s a game of trade-offs The difference in computations required for continuous time versus discrete time behavior is orders of magnitude (as seen in Figure 2 below). The essential detail versus runtime tradeoff is a key enabler of verification techniques like software-driven testbenches. Abstraction is a lossy process, so care must be taken to fully understand the loss and test those elements in the appropriate domain (continuous time, frequency, etc.). Figure 2: Modeling is required for performance AFE for instance The traditional separation of baseband and analog front-end (AFE) chips has shifted for the past several years. Advances in process technology, analog-to-digital converters, and the desire for cost reduction have driven both a re-architecting and re-partitioning of the long-standing baseband/AFE solution. By moving more digital processing to the AFE, lower cost architectures can be created, as well as reducing those 130 or so PCB traces between the chips. There is lots of good scholarly work from a few years back on this subject, such as Digital Compensation of Dynamic Acquisition Errors at the Front-End of ADCS and Digital Compensation for Analog Front-Ends: A New Approach to Wireless Transceiver Design. Figure 3: AFE evolution from first reference (Parastoo) The digital calibration and compensation can be achieved by the introduction of a programmable solution. This is in fact the most popular approach amongst the mobile crowd today. By using a microcontroller, the software algorithms become adaptable to process-related issues and modifications to protocol standards. However, for the SoC verification team, their job just got a whole lot harder. To determine if the interplay of the digital control and the analog function is working correctly, the software algorithms must be simulated on the combination of the two. That is, here is a classic case of inseparable mixed-signal verification. So, what needs to be in the model is the big question. And the answer is, a lot. For this example, the main sources of dynamic error at the front-end of ADCs are critical for the non-linear digital filtering that is highly frequency dependent. The correction scheme must be verified to show that the nonlinearities are cancelled across the entire bandwidth of the ADC. This all means lots of simulation. It means that the right level of detail must be retained to ensure the integrity of the verification process. This means that domain experience must be added to the list of expertise of that mixed-signal verification engineer. Back to the pachyderm There is a lot more to say on this subject, and lots will be said in future posts. The important starting point is the recognition that the potential flaw in the system needs to be examined. It needs to be examined by a specialist. Maybe a second opinion from the application domain is needed too. So, put that cute little elephant on your desk as a reminder that the beast can be tamed. Steve Carlson Related stories - It’s Late, But the Party is Just Getting Started Full Article metrics-driven methodology real number modeling uvm CPF RNM UPF mixed signal MDV verification
si Mixing It Up in Hardware (an Advantest Case Study in Faster Full-Chip Simulations) By feedproxy.google.com Published On :: Wed, 19 Nov 2014 18:27:00 GMT Key Findings: Advantest, in mixed-signal SoC design, sees 50X speedup, 25 day test reduced to 12 hours, dramatic test coverage increase. Trolling through the CDNLive archives, I discovered another gem. At the May 2013 CDNLive in Munich, Thomas Henkel and Henriette Ossoinig of Advantest presented a paper titled “Timing-accurate emulation of a mixed-signal SoC using Palladium XP”. Advantest makes advanced electronics test equipment. Among the semiconductor designs they create for these products is a test processor chip with over 100 million logic transistors, but also with lots of analog functions.They set out to find a way to speed up their full-chip simulations to a point where they could run the system software. To do that, they needed about a 50X speed-up. Well, they did it! Figure 1: Advantest SoC Test Products To skip the commentary, read Advantest's paper here. Problem Statement Software is becoming a bigger part of just about every hardware product in every market today, and that includes the semiconductor test market. To achieve high product quality in the shortest amount of time, the hardware and software components need to be verified together as early in the design cycle as possible. However, the throughput of a typical software RTL simulation is not sufficient to run significant amounts of software on a design with hundreds of millions of transistors. Executing software on RTL models of the hardware means long runs (“deep cycles”) that are a great fit for an emulator, but the mixed-signal content posed a new type of challenge for the Advantest team. Emulators are designed to run digital logic. Analog is really outside of the expected use model. The Advantest team examined the pros and cons of various co-simulation and acceleration flows intended for mixed signal and did not feel that they could possibly get the performance they needed to have practical runtimes with software testbenches. They became determined to find a way to apply their Palladium XP platform to the problem. Armed with the knowledge of the essential relationship between the analog operations and the logic and software operations, the team was able to craft models of the analog blocks using reduction techniques that accurately depicted the essence of the analog function required for hardware-software verification without the expense of a continuous time simulation engine. The requirements boiled down to the following: • Generation of digital signals with highly accurate and flexible timing • Complete chip needs to run on Palladium XP platform • Create high-resolution timing (100fs) with reasonable emulation performance, i.e. at least 50X faster than simulation on the fastest workstations Solution Idea The solution approach chosen was to simplify the functional model of the analog elements of the design down to generation of digital signal edges with high timing accuracy. The solution employed a fixed-frequency central clock that was used as a reference.Timing-critical analog signals used to produce accurately placed digital outputs were encoded into multi-bit representations that modeled the transition and timing behavior. A cell library was created that took the encoded signals and converted them to desired “regular signals”. Automation was added to the process by changing the netlisting to widen the analog signals according to user-specified schematic annotations. All of this was done in a fashion that is compatible with debugging in Cadence’s Simvision tool. Details on all of these facets to follow. The Timing Description Unit (TDU) Format The innovative thinking that enabled the use of Palladium XP was the idea of combining a reference clock and quantized signal encoding to create offsets from the reference. The implementation of these ideas was done in a general manner so that different bit widths could easily be used to control the quantization accuracy. Figure 2: Quantization method using signal encoding Timed Cell Modeling You might be thinking – timing and emulation, together..!? Yes, and here’s a method to do it…. The engineering work in realizing the TDU idea involved the creation of a library of cells that could be used to compose the functions that convert the encoded signal into the “real signals” (timing-accurate digital output signals). Beyond some basic logic cells (e.g., INV, AND, OR, MUX, DFF, TFF, LATCH), some special cells such as window-latch, phase-detect, vernier-delay-line, and clock-generator were created. The converter functions were all composed from these basic cells. This approach ensured an easy path from design into emulation. The solution was made parameterizable to handle varying needs for accuracy. Single bit inputs need to be translated into transitions at offset zero or a high or low coding depending on the previous state. Single bit outputs deliver the final state of the high-resolution output either at time zero, the next falling, or the next rising edge of the grid clock, selectable by parameter. Output transitions can optionally be filtered to conform to a configurable minimum pulse width. Timed Cell Structure There are four critical elements to the design of the conversion function blocks (time cells): Input conditioning – convert to zero-offset, optional glitch preservation, and multi-cycle path Transition sorting – sort transitions according to timing offset and specified precedence Function – for each input transition, create appropriate output transition Output filtering – Capability to optionally remove multiple transitions, zero-width, pulses, etc. Timed Cell Caveat All of the cells are combinational and deliver a result in the same cycle of an input transition. This holds for storage elements as well. For example a DFF will have a feedback to hold its state. Because feedback creates combinational loops, the loops need a designation to be broken (using a brk input conditioning function in this case – more on this later). This creates an additional requirement for flip-flop clock signals to be restricted to two edges per reference clock cycle. Note that without minimum width filtering, the number of output transitions of logic gates is the sum of all input transitions (potentially lots of switching activity). Also note that the delay cell has the effect of doubling the number of output transitions per input transition. Figure 3: Edge doubling will increase switching during execution SimVision Debug Support The debug process was set up to revolve around VCD file processing and directed and viewed within the SimVision debug tool. In order to understand what is going on from a functional standpoint, the raw simulation output processes the encoded signals so that they appear as high-precision timing signals in the waveform viewer. The flow is shown in the figure below. Figure 4: Waveform post-processing flow The result is the flow is a functional debug view that includes association across representations of the design and testbench, including those high-precision timing signals. Figure 5: Simvision debug window setup Overview of the Design Under Verification (DUV) Verification has to prove that analog design works correctly together with the digital part. The critical elements to verify include: • Programmable delay lines move data edges with sub-ps resolution • PLL generates clocks with wide range of programmable frequency • High-speed data stream at output of analog is correct These goals can be achieved only if parts of the analog design are represented with fine resolution timing. Figure 6: Mixed-signal design partitioning for verification How to Get to a Verilog Model of the Analog Design There was an existing Verilog cell library with basic building blocks that included: - Gates, flip-flops, muxes, latches - Behavioral models of programmable delay elements, PLL, loop filter, phase detector With a traditional simulation approach, a cell-based netlist of the analog schematic is created. This netlist is integrated with the Verilog description of the digital design and can be simulated with a normal workstation. To use Palladium simulation, the (non-synthesizable) portions of the analog design that require fine resolution timing have to be replaced by digital timing representation. This modeling task is completed by using a combination of the existing Verilog cell library and the newly developed timed cells. Loop Breaking One of the chief characteristics of the timed cells is that they contain only combinational cells that propagate logic from inputs to outputs. Any feedback from a cell’s transitive fanout back to an input creates a combinational loop that must be broken to reach a steady state. Although the Palladium XP loop breaking algorithm works correctly, the timed cells provided a unique challenge that led to unpredictable results. Thus, a process was developed to ensure predictable loop breaking behavior. The user input to the process was to provide a property at the loop origin that the netlister recognized and translated to the appropriate loop breaking directives. Augmented Netlisting Ease of use and flow automation were two primary considerations in creating a solution that could be deployed more broadly. That made creating a one-step netlisting process a high-value item. The signal point annotation and automatic hierarchy expansion of the “digital timing” parameter helped achieve that goal. The netlister was enriched to identify the key schematic annotations at any point in the hierarchy, including bit and bus signals. Consistency checking and annotation reporting created a log useful in debugging and evolving the solution. Wrapper Cell Modeling and Verification The netlister generates a list of schematic instances at the designated “netlister stop level” for each instance the requires a Verilog model with fine resolution timing. For the design in this paper there were 160 such instances. The library of timed cells was created; these cells were actually “wrapper” cells comprised of the primitives for timed cell modeling described above. A new verification flow was created that used the behavior of the primitive cells as a reference for the expected behavior of the composed cells. The testing of the composed cells included had the timing width parameter set to 1 to enable direct comparison to the primitive cells. The Cadence Incisive Enterprise Simullator tool was successfully employed to perform assertion-based verification of the composed cells versus the existing primitive cells. Mapping and Long Paths Initial experiments showed that inclusion of the fine resolution timed cells into the digital emulation environment would about double the required capacity per run. As previously pointed out, the timed cells having only combinational forward paths creates a loop issue. This fact also had the result of creating some such paths that were more than 5,000 steps of logic. A timed cell optimization process helped to solve this problem. The basic idea was to break the path up by adding flip-flops in strategic locations to reduce combinational path length. The reason that this is important is that the maximum achievable emulation speed is related to combinational path length. Results Once the flow was in place, and some realistic test cases were run through it, some further performance tuning opportunities were discovered to additionally reduce runtimes (e.g., Palladium XP tbrun mode was used to gain speed). The reference used for overall speed gains on this solution was versus a purely software-based solution on the highest performance workstation available. The findings of the performance comparison were startlingly good: • On Palladium XP, the simulation speed is 50X faster than on Advantest’s fastest workstation • Software simulation running 25 days can now be run in 12 hours -> realistic runtime enables long-running tests that were not feasible before • Now have 500 tests that execute once in more than 48 hours • They can be run much more frequently using randomization and this will increase test coverage dramatically Steve Carlson Full Article Advantest Palladium Mixed Signal Verification Emulation mixed signal
si Five Reasons I'm Excited About Mixed-Signal Verification in 2015 By feedproxy.google.com Published On :: Wed, 03 Dec 2014 12:30:00 GMT Key Findings: Many more design teams will be reaching the mixed-signal methodology tipping point in 2015. That means you need to have a (verification) plan, and measure and execute against it. As 2014 draws to a close, it is time to look ahead to the coming years and make a plan. While the macro view of the chip design world shows that is has been a mixed-signal world for a long time, it is has been primarily the digital teams that have rapidly evolved design and verification practices over the past decade. Well, I claim that is about to change. 2015 will be a watershed year for many more design teams because of the following factors: 85% of designs are mixed signal, and it is going to stay that way (there is no turning back) Advanced node drives new techniques, but they will be applied on all nodes Equilibrium of mixed-signal designs being challenged, complexity raises risk level Tipping point signs are evident and pervasive, things are going to change The convergence of “big A” and “big D” demands true mixed-signal practices Reason 1: Mixed-signal is dominant To begin the examination of what is going to change and why, let’s start with what is not changing. IBS reports that mixed signal accounts for over 85% of chip design starts in 2014, and that percentage will rise, and hold steady at 85% in the coming years. It is a mixed-signal world and there is no turning back! Figure 1. IBS: Mixed-signal design starts as percent of total The foundational nature of mixed-signal designs in the semiconductor industry is well established. The reason it is exciting is that a stable foundation provides a platform for driving change. (It’s hard to drive on crumbling infrastructure. If you’re from California, you know what I mean, between the potholes on the highways and the earthquakes and everything.) Reason 2: Innovation in many directions, mostly mixed-signal applications While the challenges being felt at the advanced nodes, such as double patterning and adoption of FinFET devices, have slowed some from following onto to nodes past 28nm, innovation has just turned in different directions. Applications for Internet of Things, automotive, and medical all have strong mixed-signal elements in their semiconductor content value proposition. What is critical to recognize is that many of the design techniques that were initially driven by advanced-node programs have merit across the spectrum of active semiconductor process technologies. For example, digitally controlled, calibrated, and compensated analog IP, along with power-reducing mutli-supply domains, power shut-off, and state retention are being applied in many programs on “legacy” nodes. Another graph from IBS shows that the design starts at 45nm and below will continue to grow at a healthy pace. The data also shows that nodes from 65nm and larger will continue to comprise a strong majority of the overall starts. Figure 2. IBS: Design starts per process node TSMC made a comprehensive announcement in September related to “wearables” and the Internet of Things. From their press release: TSMC’s ultra-low power process lineup expands from the existing 0.18-micron extremely low leakage (0.18eLL) and 90-nanometer ultra low leakage (90uLL) nodes, and 16-nanometer FinFET technology, to new offerings of 55-nanometer ultra-low power (55ULP), 40ULP and 28ULP, which support processing speeds of up to 1.2GHz. The wide spectrum of ultra-low power processes from 0.18-micron to 16-nanometer FinFET is ideally suited for a variety of smart and power-efficient applications in the IoT and wearable device markets. Radio frequency and embedded Flash memory capabilities are also available in 0.18um to 40nm ultra-low power technologies, enabling system level integration for smaller form factors as well as facilitating wireless connections among IoT products. Compared with their previous low-power generations, TSMC’s ultra-low power processes can further reduce operating voltages by 20% to 30% to lower both active power and standby power consumption and enable significant increases in battery life—by 2X to 10X—when much smaller batteries are demanded in IoT/wearable applications. The focus on power is quite evident and this means that all of the power management and reduction techniques used in advanced node designs will be coming to legacy nodes soon. Integration and miniaturization are being pursued from the system-level in, as well as from the process side. Techniques for power reduction and system energy efficiency are central to innovations under way. For mixed-signal program teams, this means there is an added dimension of complexity in the verification task. If this dimension is not methodologically addressed, the level of risk adds a new dimension as well. Reason 3: Trends are pushing the limits of established design practices Risk is the bane of every engineer, but without risk there is no progress. And, sometimes the amount of risk is not something that can be controlled. Figure 3 shows some of the forces at work that cause design teams to undertake more risk than they would ideally like. With price and form factor as primary value elements in many growing markets, integration of analog front-end (AFE) with digital processing is becoming commonplace. Figure 3. Trends pushing mixed-signal out of equilibrium The move to the sweet spot of manufacturing at 28nm enables more integration, while providing excellent power and performance parameters with the best cost per transistor. Variation becomes great and harder to control. For analog design, this means more digital assistance for calibration and compensation. For greatest flexibility and resiliency, many will opt for embedding a microcontroller to perform the analog control functions in software. Finally, the first wave of leaders have already crossed the methodology bridge into true mixed-signal design and verification; those who do not follow are destined to fall farther behind. Reason 4: The tipping point accelerants are catching fire The factors cited in Reason 3 all have a technical grounding that serves to create pain in the chip-development process. The more factors that are present, the harder it is to ignore the pain and get the treatment relief afforded by adopting known best practices for truly mixed-signal design (versus divide and conquer along analog and digital lines design). In the past design performance was measured in MHz with simple static timing and power analysis. Design flows were conveniently partitioned, literally and figuratively, along analog and digital boundaries. Today, however, there are gigahertz digital signals that interact at the package and board level in analog-like ways. New, dynamic power analysis methods enabled by advanced library characterization must be melded into new design flows. These flows comprehend the growing amount of feedback between analog and digital functions that are becoming so interlocked as to be inseparable. This interlock necessitates design flows that include metrics-driven and software-driven testbenches, cross fabric analysis, electrically aware design, and database interoperability across analog and digital design environments. Figure 4. Tipping point indicators Energy efficiency is a universal driver at this point. Be it cost of ownership in the data center or battery life in a cell phone or wearable device, using less power creates more value in end products. However, layering multiple energy management and optimization techniques on top of complex mixed-signal designs adds yet more complexity demanding adoption of “modern” mixed-signal design practices. Reason 5: Convergence of analog and digital design Divide and conquer is always a powerful tool for complexity management. However, as the number of interactions across the divide increase, the sub-optimality of those frontiers becomes more evident. Convergence is the name of the game. Just as analog and digital elements of chips are converging, so will the industry practices associated with dealing with the converged world. Figure 5. Convergence drivers Truly mixed-signal design is a discipline that unites the analog and digital domains. That means that there is a common/shared data set (versus forcing a single cockpit or user model on everyone). In verification the modern saying is “start with the end in mind”. That means creating a formal approach to the plan of what will be test, how it will be tested, and metrics for success of the tests. Organizing the mechanics of testbench development using the Unified Verification Methodology (UVM) has proven benefits. The mixed-signal elements of SoC verification are not exempted from those benefits. Competition is growing more fierce in the world for semiconductor design teams. Not being equipped with the best-known practices creates a competitive deficit that is hard to overcome with just hard work. As the landscape of IC content drives to a more energy-efficient mixed-signal nature, the mounting risk posed by old methodologies may cause causalities in the coming year. Better to move forward with haste and create a position of strength from which differentiation and excellence in execution can be forged. Summary 2015 is going to be a banner year for mixed-signal design and verification methodologies. Those that have forged ahead are in a position of execution advantage. Those that have not will be scrambling to catch up, but with the benefits of following a path that has been proven by many market leaders. Full Article uvm mixed signal design Metric-Driven-Verification Mixed Signal Verification MDV-UVM-MS
si Top 5 Issues that Make Things Go Wrong in Mixed-Signal Verification By feedproxy.google.com Published On :: Wed, 10 Dec 2014 12:18:00 GMT Key Findings: There are a host of issues that arise in mixed-signal verification. As discussed in earlier blogs, the industry trends indicate that teams need to prepare themselves for a more mixed world. The good news is that these top five pitfalls are all avoidable. It’s always interesting to study the human condition. Watching the world through the lens of mixed-signal verification brings an interesting microcosm into focus. The top 5 items that I regularly see vexing teams are: When there’s a bug, whose problem is it? Verification team is the lightning rod Three (conflicting) points of view Wait, there’s more… software There’s a whole new language Reason 1: When there’s a bug, whose problem is it? It actually turns out to be a good thing when a bug is found during the design process. Much, much better than when the silicon arrives back from the foundry of course. Whether by sheer luck, or a structured approach to verification, sometimes a bug gets discovered. The trouble in mixed-signal design occurs when that bug is near the boundary of an analog and a digital domain. Figure 1. Whose bug is it? Typically designers are a diligent sort and make sure that their block works as desired. However, when things go wrong during integration, it is usually also project crunch time. So, it has to be the other guy’s bug, right? A step in the right direction is to have a third party, a mixed-signal verification expert, apply rigorous methods to the mixed-signal verification task. But, that leads to number 2 on my list. Reason 2: Verification team is the lightning rod Having a dedicated verification team with mixed-signal expertise is a great start, but what can typically happen is that team is hampered by the lack of availability of a fast executing model of the analog behavior (best practice today being a SystemVerilog real number model – SV_RNM). That model is critical because it enables orders of magnitude more tests to be run against the design in the same timeframe. Without that model, there will be a testing deficit. So, when the bugs come in, it is easy for everyone to point their finger at the verification team. Figure 2. It’s the verification team’s fault Yes, the model creates a new validation task – it’s validation – but the speed-up enabled by the model more than compensates in terms of functional coverage and schedule. The postscript on this finger-pointing is the institutionalization of SV-RNM. And, of course, the verification team gets its turn. Figure 3. Verification team’s revenge Reason 3: Three (conflicting) points of view The third common issue arises when the finger-pointing settles down. There is still a delineation of responsibility that is often not easy to achieve when designs of a truly mixed-signal nature are being undertaken. Figure 4. Points of view and roles Figure 4 outlines some of the delegated responsibility, but notice that everyone is still potentially on the hook to create a model. It is questions of purpose, expertise, bandwidth, and convention that go into the decision about who will “own” each model. It is not uncommon for the modeling task to be a collaborative effort where the expertise on analog behavior comes from the analog team, while the verification team ensures that the model is constructed in such a manner that it will fit seamlessly into the overall chip verification. Less commonly, the digital design team does the modeling simply to enable the verification of their own work. Reason 4: Wait, there’s more… software As if verifying the function of a chip was not hard enough, there is a clear trend towards product offerings that include software along with the chip. In the mixed-signal design realm, many times this software has among its functions things like calibration and compensation that provide a flexible way of delivering guards against parameter drift. When the combination of the chip and the software are the product, they need to be verified together. This puts an enormous premium on fast executing SV-RNM. Figure 5. There’s software analog and digital While the added dimension of software to the verification task creates new heights of complexity, it also serves as a very strong driver to get everyone aligned and motivated to adopt best known practices for mixed-signal verification. This is an opportunity to show superior ability! Figure 6. Change in perspective, with the right methodology Reason 5: There’s a whole new language Communication is of vital importance in a multi-faceted, multi-team program. Time zones, cultures, and personalities aside, mixed-signal verification needs to be a collaborative effort. Terminology can be a big stumbling block in getting to a common understanding. If we take a look at the key areas where significant improvement can usually be made, we can start to see the breadth of knowledge that is required to “get” the entirety of the picture: Structure – Verification planning and management Methodology – UVM (Unified Verification Methodology – Accellera Standard) Measure – MDV (Metrics-driven verification) Multi-engine – Software, emulation, FPGA proto, formal, static, VIP Modeling – SystemVerilog (discrete time) down to SPICE (continuous time) Languages – SystemVerilog, Verilog, Verilog-AMS, VHDL, SPICE, PSL, CPF, UPF Each of these areas has its own jumble of terminology and acronyms. It never hurts to create a team glossary to start with. Heck, I often get my LDO, IFV, and UDT all mixed up myself. Summary Yes, there are a lot of things that make it hard for the humans involved in the process of mixed-signal design and verification, but there is a lot that can be improved once the pain is felt (no pain, no gain is akin to no bugs, no verification methodology change). If we take a look at the key areas from the previous section, we can put a different lens on them and describe the value that they bring: Structure – Uniformly organized, auditable, predictable, transparency Methodology – Reusable, productive, portable, industry standard Measure – Quantified progress, risk/quality management, precise goals Multi-engine – Faster execution, improved schedule, enables new quality level Modeling – Enabler, flexible, adaptable for diverse applications/design styles Languages – Flexible, complete, robust, standard, scalability to best practices With all of this value firmly in hand, we can turn our thoughts to happier words: … stay tuned for more! Steve Carlson Full Article MS uvm Metric-Driven-Verification Palladium Mixed Signal Verification Incisive MDV-UVM-MS Virtuoso mixed signal MDV
si Automatically Reusing an SoC Testbench in AMS IP Verification By feedproxy.google.com Published On :: Thu, 04 Jan 2018 18:10:00 GMT The complexity and size of mixed-signal designs in wireless, power management, automotive, and other fast growing applications requires continued advancements in a mixed-signal verification methodology. An SoC, in these fast growing applications, incorporates a large number of analog and mixed-signal (AMS) blocks/IPs, some acquired from IP providers, some designed, often concurrently. AMS IP must be verified independently, but this is not sufficient to ensure an SoC will function properly and all scenarios of interaction among many different AMS IP blocks at full chip / SoC level must be verified thoroughly. To reduce an overall verification cycle, AMS IP and SoC verification teams must work in parallel from early stages of the design. Easier said than done! We will outline a methodology than can help. AMS designers verify their IP meets required specifications by running a testbench they develop for standalone / out of-context verification. Typically, an AMS IP as analog-centric, hierarchal design in schematic, composed of blocks represented by transistor, HDL and behavioral description verified in Virtuoso® Analog Design Environment (ADE) using Spectre AMS Designer simulation. An SoC verification team typically uses UVM SystemVerilog testbech at full chip level where the AMS IP is represented with a simple digital or real number model running Xcelium /DMS simulation from the command line. Ideally, AMS designers should also verify AMS IP function properly in the context of full-chip integration, but reproducing an often complex UVM SystemVerilog testbench and bringing over top-level design description to an analog-centric environment is not a simple task. Last year, Cadence partnered with Infineon on a project with a goal to automate the reuse of a top-level testbench in AMS verification. The automation enabled AMS verification engineers to automatically configure setup for verification runs by assembling all necessary options and files from the AMS IP Virtuoso GUI and digital SoC top-level command line configurations. The benefits of this method were: AMS verification engineers did not need to re-create complex stimuli representing interaction of their IP at the top level Top-level verification stays external to the AMS IP verification environment and continues to be managed by the SoC verification team, but can be reused by the AMS IP team without manual overhead AMS IP is verified in-context and any inconsistencies are detected earlier in the verification process Improved productivity and overall verification time For more details, please see Infineon’s CDNLlive presentation. Full Article AMS mixed signal design mixed-signal methodology mixed signal solution analog Mixed-Signal analog/mixed-signal Virtuoso environment mixed-signal verification
si Integrating AMS IP in SoC Verification Just Got Easier By feedproxy.google.com Published On :: Tue, 06 Feb 2018 18:37:00 GMT Typically, analog designers verify their AMS IP in schematic driven, interactive environment, while SoC designers use a UVM SystemVerilog testbench ran from a command line. In our last MS blog, we talked about automation for reusing SystemVerilog testbench by analog designers in order to verify AMS IP in exactly same context as in its SoC integration, hence reducing surprises and unnecessary iterations. But, what about other direction: selecting proper AMS IP views for SoC Verification? Manually export netlist from Virtuoso and then manually assemble together all of the files for use with in command line driven flow? Often, there are multiple views for the same instance (RNM, analog behavioral model, transistor netlist). Which one to pick? Who is supposed to update configuration files? We often work concurrently and update the AMS IP views frequently. Obviously, manually selecting correct and most up-to-date AMS IP views for SoC Verification is tedious and error prone. Thanks to Cadence Innovation, there is a better way! Cadence has developed a Command-Line IP Selector (CLIPS) product as part of the Virtuoso® environment, which: Bridges the gap between MS SoC command-line setup and the Virtuoso-based analog mixed-signal configuration Allows seamless importing of AMS IP from the Virtuoso environment into an existing digital verification setup Provides a GUI-based and command-line use model, flexible to fit into an existing design flow methodologyCLIPS reads MS SoC command (irun) files, identifies required AMS IP modules, uses Virtuoso ADE setup files to properly netlist required modules, and pulls the AMS IP out of the Virtuoso environment. All necessary files are properly extracted/prepared and package as required for the MS SoC command line verification run. CLIPS setup can be saved and rerun as a batch process to ensure the latest IP from the hierarchy is being simulated. For more details, please see CLIPS Rapid Adoption Kit at Cadence Online Support page Full Article AMS mixed signal solution Mixed-Signal analog/mixed-signal Virtuoso mixed signal Virtuoso environment mixed-signal verification
si Take Advantage of Advancements in Real Number Modeling and Simulation By feedproxy.google.com Published On :: Mon, 26 Feb 2018 23:00:00 GMT Verification is the top challenge in mixed-signal design. Bringing analog and digital domains together into unified verification planning, simulating, and debugging is a challenging task for rapidly increasing size and complexity of mixed-signal designs. To more completely verify functionality and performance of a mixed-signal SoC and its AMS IP blocks used to build it, verification teams use simulations at transistor, analog behavioral and real-number model (RNM) and RTL levels, and combination of these. In recent years, RNM and simulation is being adopted for functional verification by many, due to advantages it offers including simpler modeling requirements and much faster simulation speed (compared to a traditional analog behavioral models like Verilog-A or VHDL-AMS). Verilog-AMS with its wreal continue to be popular choice. Standardization of real number extensions in SystemVerilog (SV) made SV-RNM an even more attractive choice for MS SoC verification. Verilog-AMS/wreal is scalar real type. SV-RNM offers a powerful ability to define complex data types, providing a user-defined structure (record) to describe the net value. In a typical design, most analog nodes can be modeled using a single value for passing a voltage (or current) from one module to another. The ability to pass multiple values over a net can be very powerful when, for example, the impedance load impact on an analog signal needs to be modeled. Here is an example of a user-defined net (UDN) structure that holds voltage, current, and resistance values: When there are multiple drives on a single net, the simulator will need a resolution function to determine the final net value. When the net is just defined as a single real value, common resolution functions such as min, max, average, and sum are built into the simulator. But definition of more complex structures for the net also requires the user to provide appropriate resolution functions for them. Here is an example of a net with three drivers modeled using the above defined structural elements (a voltage source with series resistance, a resistive load, and a current source): To properly solve for the resulting output voltage, the resolution function for this net needs to perform Norton conversion of the elements, sum their currents and conductances, and then calculate the resolved output voltage as the sum of currents divided by sum of conductances. With some basic understanding of circuit theory, engineers can use SV-RNM UDN capability to model electrical behavior of many different circuits. While it is primarily defined to describe source/load impedance interactions, its use can be extended to include systems including capacitors, switching circuits, RC interconnect, charge pumps, power regulators, and others. Although this approach extends the scope of functional verification, it is not a replacement for transistor-level simulation when accuracy, performance verification, or silicon correlation are required: It simply provides an efficient solution for discretely modeling small analog networks (one to several nodes). Mixed-signal simulation with an analog solver is still the best solution when large nonlinear networks must be evaluated. Cadence provides a tutorial on EEnet usage as well as the package (EEnet.pkg) with UDN definitions and resolution functions and modeling examples. To learn more, please login to your Cadence account to access the tutorial. Full Article real number modeling analog Mixed-Signal RNM mixed-signal verification
si Verifying Power Intent in Analog and Mixed-Signal Designs Using Formal Methods By feedproxy.google.com Published On :: Thu, 21 Feb 2019 22:15:00 GMT Analog and Mixed-signal (AMS) designs are increasingly using active power management to minimize power consumption. Typical mixed-signal design uses several power domains and operate in a dozen or more power modes including multiple functional, standby and test modes. To save power, parts of design not active in a mode are shut down or may operate at reduced supply voltage when high performance is not required. These and other low power techniques are applied on both analog and digital parts of the design. Digital designers capture power intent in standard formats like Common Power Format (CPF), IEEE1801 (aka Unified Power Format or UPF) or Liberty and apply it top-down throughout design, verification and implementation flows. Analog parts are often designed bottom-up in schematic without upfront defined power intent. Verifying that low power intent is implemented correctly in mixed-signal design is very challenging. If not discovered early, errors like wrongly connected power nets, missing level shifters or isolations cells can cause costly rework or even silicon re-spin. Mixed-signal designers rely on simulation for functional verification. Although still necessary for electrical and performance verification, running simulation on so many power modes is not an effective verification method to discover low power errors. It would be nice to augment simulation with formal low power verification but a specification of power intent for analog/mixed-signal blocs is missing. So how do we obtain it? Can we “extract” it from already built analog circuit? Fortunately, yes we can, and we will describe an automated way to do so! Virtuoso Power Manager is new tool released in the Virtuoso IC6.1.8 platform which is capable of managing power intent in an Analog/MS design which is captured in Virtuoso Schematic Editor. In setup phase, the user identifies power and ground nets and registers special devices like level shifters and isolation cells. The user has the option to import power intent into IEEE1801 format, applicable for top level or any of the blocks in design. Virtuoso Power Manager uses this information to traverse the schematic and extract complete power intent for the entire design. In the final stage, Virtuoso Power Manager exports the power intent in IEEE1801 format as an input to the formal verification tool (Cadence Conformal-LP) for static verification of power intent. Cadence and Infineon have been collaborating on the requirements and validation of the Virtuoso Power Manager tool and Low Power verification solution on real designs. A summary of collaboration results were presented at the DVCon conference in Munich, in October of 2018. Please look for the paper in the conference proceedings for more details. Alternately, can view our Cadence webinar on Verifying Low-Power Intent in Mixed-Signal Design Using Formal Method for more information. Full Article AMS Virtuoso Schematic Editor Low Power virtuoso power manager Virtuoso-AMS mixed signal design mixed signal solution Virtuoso low-power design mixed signal mixed-signal verification
si Matlab cannot open Pspice, to prompt orCEFSimpleUI.exe that it has stopped working! By feedproxy.google.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
si Virtuosity: Device Arrays in the Automated Device Placement and Routing Flow By community.cadence.com Published On :: Wed, 18 Mar 2020 01:03:00 GMT Since the release of the Automated Device Placement and Routing solution last year, we have continued to improve and build upon it. In this blog, I’ll talk about the latest addition—the Auto Device Array form—how this is an integral piece of the new Automated Device Placement and Routing solution.(read more) Full Article Modgen On Canvas ICADVM18.1 MODGEN Automated Device-Level Placement and Routing APR Modgen Advanced Node auto device array APR Auto P&R advanced nodes ada Custom IC Design Custom IC
si Virtuoso Meets Maxwell: Help with Electromagnetic Analysis - Part V By community.cadence.com Published On :: Mon, 23 Mar 2020 15:06:00 GMT Here is another blog in the multi-part series that aims at providing in-depth details of electromagnetic analysis in the Virtuoso RF solution. Read to learn about the nuances of port setup for electromagnetic analysis.(read more) Full Article EM Analysis ICADVM18.1 VRF Virtuoso Layout EXL ports Virtuoso RF Electromagnetic analysis Virtuoso Virtuoso Layout Suite Custom IC
si 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
si Virtuoso Meets Maxwell: Keeping Things Simple in the Virtuoso RF Solution By community.cadence.com Published On :: Mon, 13 Apr 2020 15:03:00 GMT We have all heard the sayings “Less is more” and “Keep it simple”. Electromagnetic simulation is an activity where following that advice has enormous payoffs. In this blog I’ll talk about some of my experiences with how Virtuoso RF Solution’s shape simplification feature has helped my customers get significant performance improvements with minimal impacts on accuracy. (read more) Full Article EM Analysis ICADVM18.1 Virtuoso New Design Platform Virtuoso Meets Maxwell Virtuoso RF Solution Virtuoso RF Electromagnetic analysis RF design Custom IC Design Virtuoso Layout Suite
si Virtuosity: Concurrently Editing a Hierarchical Cellview By community.cadence.com Published On :: Wed, 15 Apr 2020 20:33:00 GMT This blog discusses key features of concurrently editing a hierarchical cellview.(read more) Full Article concurrent edit hierarchical subcell concurrent layout editing ICADVM18.1 concurrent editing CLE concurrent hierarchical editing Custom IC Design Virtuoso Layout Suite Custom IC Layout Editing
si Virtuosity: Can You Build Lego Masterpieces with All Blocks of One Size? By community.cadence.com Published On :: Thu, 30 Apr 2020 14:41:00 GMT The way you need blocks of different sizes and styles to build great Lego masterpieces, a complex WSP-based design requires stitching together routing regions with multiple patterns that follow different WSSPDef periods. Let's see how you can achieve this. (read more) Full Article ICADVM18.1 cadence WSP Advanced Node Local regions Layout Suite width spacing patterns Layout Virtuoso Virtuosity usability Custom IC ux WSSPDef
si ISIS کیلئے یزیدی لڑکیوں کو بناتا تھا جنسی غلام، 5سال کی بچی کے ساتھ کی یہ حیوانیت، اڑ جائیں گے ہوش By urdu.news18.com Published On :: Sunday, April 26, 2020 11:12 AM اس شخص کی اہلیہ پر بھی ایک یزیدی لڑکی(Yazidi genocide) کے قتل کا مقدمہ پہلے سے ہی میونکھ کی ایک عدالت میں چل رہا ہے۔ الزام ہے کہ اسمگلنگ کیلئے لائی گئی ایک لڑکی کی 5 سال کی بیٹی کو ان دونوں نے پینے کا پانی نہیں دیا اور اس کی موت ہوگئی۔ Full Article
si News18 Urdu: Latest News Sikar By urdu.news18.com Published On :: visit News18 Urdu for latest news, breaking news, news headlines and updates from Sikar on politics, sports, entertainment, cricket, crime and more. Full Article
si News18 Urdu: Latest News Siwan By urdu.news18.com Published On :: visit News18 Urdu for latest news, breaking news, news headlines and updates from Siwan on politics, sports, entertainment, cricket, crime and more. Full Article
si News18 Urdu: Latest News West Siang By urdu.news18.com Published On :: visit News18 Urdu for latest news, breaking news, news headlines and updates from West Siang on politics, sports, entertainment, cricket, crime and more. Full Article
si News18 Urdu: Latest News Sitamarhi By urdu.news18.com Published On :: visit News18 Urdu for latest news, breaking news, news headlines and updates from Sitamarhi on politics, sports, entertainment, cricket, crime and more. Full Article
si News18 Urdu: Latest News Sibsagar By urdu.news18.com Published On :: visit News18 Urdu for latest news, breaking news, news headlines and updates from Sibsagar on politics, sports, entertainment, cricket, crime and more. Full Article
si News18 Urdu: Latest News Lower Subansiri By urdu.news18.com Published On :: visit News18 Urdu for latest news, breaking news, news headlines and updates from Lower Subansiri on politics, sports, entertainment, cricket, crime and more. Full Article
si News18 Urdu: Latest News Siliguri By urdu.news18.com Published On :: visit News18 Urdu for latest news, breaking news, news headlines and updates from Siliguri on politics, sports, entertainment, cricket, crime and more. Full Article
si News18 Urdu: Latest News Sirohi By urdu.news18.com Published On :: visit News18 Urdu for latest news, breaking news, news headlines and updates from Sirohi on politics, sports, entertainment, cricket, crime and more. Full Article