nc Sparam resonance tuning problem By feedproxy.google.com Published On :: Sun, 15 Mar 2020 22:17:10 GMT Hello, I am trying to use two inductors in my LNA as shown bellow to have a S-PARAM response so i will have S11 with lowerst possible values and tweak them for matching network. However when i ran EXPLORER live tuning with SParam as shown bellow i get no change in the response. I know that Cgs and Cgd with the inductors having a resonance so by Varying L value i should have seen the change in resonance location, But there is no change.Where did i go wrong? Thanks. Full Article
nc cadence simulation error By feedproxy.google.com Published On :: Mon, 23 Mar 2020 12:59:12 GMT Hi, all Recently, I meet the simulation error as the picture shows when I simulate my circuit with transient. how can I solve this problem? thank you~ Full Article
nc producing gain circles in cadence virtuoso By feedproxy.google.com Published On :: Fri, 27 Mar 2020 20:20:32 GMT Hello, i am trying to produce a gain circles on a simple transistor as shown bellow. i have defined the range from 1 til 30 dB and i dont get any circle just dots in infinity? Where did i go wrong?Thanks. Full Article
nc matching network problem in cadence virtuoso By feedproxy.google.com Published On :: Sat, 28 Mar 2020 14:24:42 GMT Hello, i have built a matching network of 13dB gain and NF as shown bellow step by step.(including all the plots and matlab ) its just not working at all,i am doing it exacly by the thoery taking a point inside the circle-> converting its gamma to Z_source->converting gamma_s into gamma_L with the formulla bellow as shown in the matlab->converting the gamma_L into Z_L-> building the matching network for conjugate of Z_L and Z_c.Its just not working. where did i got wrong? Thanks. gamma_s=75.8966*exp(deg2rad(280.88)*i);z_s=gamma2z(gamma_s,50);s11=0.99875-0.03202*is12=721.33*10^(-6)+8.622*10^(-3)*is21=-188.37*10^(-3)+30.611*10^(-3)*is22=875.51*10^(-3)-100.72*10^(-3)*igamma_L=conj((s22+(s12*s21*gamma_s)/(1-s11*gamma_s)))z_L=gamma2z(gamma_L,50) Full Article
nc input output circle equivalent in cadence virtuoso By feedproxy.google.com Published On :: Thu, 23 Apr 2020 11:07:36 GMT Hello, There is a manual in matlab of matching LNA shown in the link bellow. In it as shown in the plot bellow they mention input and output circle plots. Is there such option of input and output circle in cadence virtuoso? https://www.mathworks.com/help/rf/examples/designing-matching-networks-part-1-networks-with-an-lna-and-lumped-elements.html Full Article
nc Sweep harmonic balance (hb) realibility (aging) simulation By feedproxy.google.com Published On :: Tue, 05 May 2020 17:22:25 GMT hi everyone, i'm trying to create a netlist for aging simulation. i would like to simulate how power, Gain and PAE (efficiency) are inlfuenced after 3 hours i would be grateful if someone can correct my syntax in the netlist since i'm trying to make a sweep HB simulation where the input power is the parameter. i did it without any error for the sp (S parameters) simulation. you can see the images for both sp and hb simulation netlists. (from left to right: sp aging netlist; hb aging netlist) i will be grateful if someone can provide me some syntax advices. thanks, best regards Full Article
nc How to call a skil file in the other skill file to create one new function. By feedproxy.google.com Published On :: Mon, 20 Apr 2020 11:05:56 GMT Hi guys, eDave, I need to call (replay) a skill to combine some skills to ONE UI for more convenience and using as more easier. Please help me to find the command to execute this.(code for example as more good) HT, Full Article
nc 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
nc Design library not defined while reading module with ncsim By feedproxy.google.com Published On :: Fri, 25 Oct 2019 08:27:37 GMT Hi supporters, I got the following error while I run simulation with gate netlist using Cadence Incisive (v15.20): ---- ncsim(64): 15.20-s076: (c) Copyright 1995-2019 Cadence Design Systems, Inc.ncsim: *E,DLOALB: Design library 'tcbnxxx' not defined while reading module tcbnxxx.MAOxxx:bv (VST).ncsim: *F,NOSIMU: Errors initializing simulation 'alu_tb' ---- xxx: standard library name. My netlist design uses a cell "MAOxxx". I already included the library behavior model to compile using ncverilog, there is no error while compiling. But when I run with ncsim to execute the test, I got above error. I tried to run with other vendors such as VCS or MTI, they worked. Please help to understand the error. Thanks. Full Article
nc Encryption of IP for Simulation with IES By feedproxy.google.com Published On :: Thu, 12 Dec 2019 16:00:59 GMT I'm sending encrypted HDL to a customer who will use Cadence IES for simulation and was wondering how I should go about the encryption. Does IES support the IEEE's P1735 and if so, where can I find Cadence's public key for performing the encryption? Or is there an alternative solution that I can use for encryption? Full Article
nc How do we use the concept of Save and Restore during real developing(debugging)???/ By feedproxy.google.com Published On :: Thu, 26 Dec 2019 11:41:39 GMT Hi All, I'm trying to understand checkpoint concept. When I found save and restart concept in cdnshelp, There is just describing about "$save" and "xrun -r "~~~". and I found also the below link about save restart and it saves your time. But I can't find any benefits from my experiment from save&restart article( I fully agree..the article) Ok, So I'v got some experiment Here. 1. I declared $save and got the below result as I expected within the simple UVM code. In UVM code... $display("TEST1");$display("TEST2");$save("SAVE_TEST");$display("TEST3");$display("TEST4"); And I restart at "SAVE_TEST" point by xrun -r "SAVE_TEST", I've got the below log xcelium> runTEST3TEST4 Ok, It's Good what I expected.(The concept of Save and Restore is simple: instead of re-initializing your simulation every time you want to run a test, only initialize it once. Then you can save the simulation as a “snapshot” and re-run it from that point to avoid hours of initialization times. It used to be inconvenient. I agree..) 2. But The Problem is that I can't restart with modified code. Let's see the below example. I just modified TEST5 instead of "TEST3" $display("TEST1");$display("TEST2");$save("SAVE_TEST");$display("TEST5"); //$display("TEST3");$display("TEST4"); and I rerun with xrun -r "SAVE_TEST", then I've got the same log xcelium> runTEST3TEST4 There is no "TEST5". Actually I expected "TEST5" in the log.From here We know $save can't support partially modified code after $save. Actually, through this, we can approach to our goal about saving developing time. So I want to know Is there any possible way that instead of re-initializing our simulation every time we want to run a test, only initialize it once and keep developing(debugging) our code ? If we do, Could you let me know the simple example? Full Article
nc How to run a regressive test and merge the ncsim.trn file of all test into a single file to view the waveform in simvision ? By feedproxy.google.com Published On :: Mon, 13 Jan 2020 12:04:01 GMT Hi all, I want to know how to run a regressive test in cadence and merge all ncsim .trn file of each test case into a single file to view all waveform in simvision. I am using Makefile to invoke the test case. eg:- test0: irun -uvm -sv -access +rwc $(RTL) $(INTER) $(PKG) $(TOP) $(probe) +UVM_VERBOSITY=UVM_MEDIUM +UVM_TESTNAME=test0 test1: irun -uvm -sv -access +rwc $(RTL) $(INTER) $(PKG) $(TOP) $(probe) +UVM_VERBOSITY=UVM_MEDIUM +UVM_TESTNAME=test1 I just to call test0 followed by test1 or parallel both test and view the waveform for both tests case. I new to this tool and help me with it Full Article
nc Info regarding released version Cadence IES simulator By feedproxy.google.com Published On :: Thu, 06 Feb 2020 07:42:31 GMT Hello folks, Greetings. One of my customer claims that he is using Cadence IES version 18.09.011 with Vivado 2019.2. The version of IES that we officially support with Vivado 2019.2 is 15.20.073. Though the tool is forward compatible, I am not sure what are the versions of IES that are released after 15.20.073. Could you please give me a list of the versions of Cadence IES released after 15.20.073 and which is the latest version as of now ? Best regards, Chinmay Full Article
nc Incisive Metrics Center User Guide By feedproxy.google.com Published On :: Tue, 11 Feb 2020 02:26:56 GMT Hi Team, I would like to download "Incisive Metrics Center User Guide", I could not find in the cadence/support/manuals. Can you please provide me the link or path to download the same ? I am doing functional coverage with IMC. Thank You, Mahesh Full Article
nc How to refer the library compiled by INCISIVE 13.20 in Xcelium 19.30 By feedproxy.google.com Published On :: Wed, 19 Feb 2020 08:56:22 GMT Hi, I am facing this elaboration error when using Xcelium: Command> xmverilog -v200x +access+r +xm64bit -f vlist -reflib plib -timescale 1ns/1ps Log> xmelab: *E,CUVMUR (<name>.v,538|18): instance 'LUTP0.C GLAT3' of design unit 'tlatntscad12' is unresolved in 'worklib.LUTP0:v'. I guess the plib was not referred to as the simulation configuration because the tlatntscad12 is included in plib. The plib is compiled by INCISIVE 13.20 and I am using the Xcelium 19.30. Please tell me the correct command on how to refer to the library directory compiled by different versions. Thank you, Full Article
nc Failed to inject fault at (ncsim) By feedproxy.google.com Published On :: Thu, 07 May 2020 17:38:56 GMT Hi, I'm doing fault injection with ncsim and got stuck at the following (and not so useful) message: "ncsim: *E,FLTIGF: [FLT] Failed to inject fault at circuit_tb.U0.n2174." I already tried with other NETs, with SET, SA0, SA1, always the same error occurs. My scripts so far, considering I already compiled the Verilog testbench and also the gates from the technology library (gate-level simulation): #this runs ok ncelab -work worklib -cdslib circuit/trunk/backend/synthesis/work/cds.lib -logfile ncelab.log -errormax 15 -access +wc -status -timescale 1ps/1ps worklib.circuit_tb -fault_file circuit/trunk/backend/synthesis/scripts/fi.list #this runs okncsim -fault_good_run -fault_tw 1ns:4ns -fault_work fault_db -fault_overwrite worklib.circuit_tb:module -input ../scripts/fs_strobe.tcl -exit #this runs NOT OKncsim -fault_sim_run -fault_work fault_db worklib.circuit_tb:module -input ../scripts/injection.tcl -exit After the above command I get: "ncsim: *E,FLTIGF: [FLT] Failed to inject fault at circuit_tb.U0.n2174." Here are the files called from the commands above. fi.list: fault_target circuit_tb.U0.n2174 -type SET+SA1+SA0 fs_strobe.tcl: fs_strobe circuit_tb.WRITE_OUT circuit_tb.PC_OUT[0] injection.tcl: fault -stop_severity 3 -inject -time 2ns -type sa1 circuit_tb.U0.n2174 I already checked the NETs with simvision, so their paths are correct. Any ideas? PS: I know about Xcellium, however, I don't have it yet. Full Article
nc IC Packagers: Advanced In-Design Symbol Editing By feedproxy.google.com Published On :: Wed, 06 May 2020 14:09:00 GMT We have talked about aspects of the in-design symbol edit application mode in the past. This is the environment specific to the Allegro Package Designer layout tools allowing you to work on symbol definitions directly in the context of your layout de...(read more) Full Article Allegro Package Designer
nc Multiple parts for single reference designator By feedproxy.google.com Published On :: Tue, 28 Apr 2020 15:34:37 GMT Variants seem to be defined as present or not present. Is there a variant that can assign different parts to the same reference designator? i.e. R17 can be either 0 ohm 0805 jumper or 12k ohms 0805 resistor. The simplest way I can think of is to use two parts with the same footprint and overlay them. Is there a more functional way of doing this? So that the variant would put the correct part in the BOM and the parts would of course have the same identical footprint. Full Article
nc Error: CMFBC-1 The schematic and the layout constraints were not synchronized By feedproxy.google.com Published On :: Thu, 30 Apr 2020 06:47:16 GMT Hi, I am in the middle of a design and had no problem going back and forth between schematics and layout. Now I am getting the error message below. I am using Cadence 17.2. ERROR: Layout database has probably been reverted to an earlier version than that, which was used in the latest flow or the schematic database was synchronized with another board. The basecopy file generated by the last back-to-front flow not found. ERROR: Layout database has probably been reverted to an earlier version than that, which was used in the latest flow or the schematic database was synchronized with another board. The basecopy file generated by the last back-to-front flow not found. Error: CMFBC-1: The schematic and the layout constraints were not synchronized as the changes done since the last sync up could not be reconciled. Syncing the current version of the schematic or layout databases with a previous version would result in this issue. The constraint difference report is displayed. Continuing with "changes-only" processing may result in incorrect constraint updates. Thanks for your input Claudia Full Article
nc Advance Annotation error By feedproxy.google.com Published On :: Thu, 30 Apr 2020 21:54:45 GMT Hello all, We are designing a backplane and in the design we are using some custom prefixes using the Advance Annotation tool. When annotating the occurances I get the following error: ERROR(ORDBDLL-1224): The total number of components for prefix J0C exceeds the range supplied for it.Increase the End value of the range. Thanks in advance for the help --Tom Full Article
nc 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
nc vr_ad_reg_file multiple instance By feedproxy.google.com Published On :: Mon, 30 Aug 2010 11:47:13 GMT Hello All, I have a situation where i want to implement 8 instance of some particular reg_file which all have many reg_def and reg_fld. For example : I have 8 instance of one DUT module (TEST0, TEST1,TEST2... TEST8), since its all are the instance so all the instance will have the sets of registers.. so to implement reg for one instance i can write code like.. extend vr_ad_reg_file_kind : [TEST0]; extend TEST0 vr_ad_reg_file { keep size == 256; }; reg_def EX_REG_TX_DATA TEST0 8’h00 { // name : type : mask : reset value reg_fld data : uint(bits:8) : RW : 0; }; But now the issue is inside 1 instance i have around 256 registers, and i need to implement for all the 8 instance.... so can anyone suggest me how we can make instance for vr_ad_reg_file, otherwise i have to write same code for all the 8 instance. Thanks Full Article
nc 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
nc 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
nc 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
nc 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
nc ISF Function Extraction in Cadence Virtuoso By feedproxy.google.com Published On :: Mon, 27 Apr 2020 19:56:58 GMT Hi all, Is there any tutorial which explains the process of plotting the ISF function for a certain oscillator ? Thank you. Full Article
nc 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
nc Different Extracted Capacitance Values of the Same MOM Cap Structures Obtained from Quantus QRC Filed Solver By feedproxy.google.com Published On :: Tue, 05 May 2020 10:00:51 GMT Hello, I am using Virtuoso 6.1.7. I am performing the parasitic extraction of a MOM cap array of 32 caps. I use Quantus QRC and I enable field solver. I select “QRCFS” for field solver type and “High” for field solver accuracy. The unit MOM cap is horizontally and vertically symmetric. The array looks like the sketch below and there are no other structures except the unit caps: Rationally speaking, the capacitance values of the unit caps should be symmetric with respect to a vertical symmetry axis that is between cap16 and cap17 (shown with dashed red line). For example, the capacitance of cap1 should be equal to the capacitance of cap32 the capacitance of cap2 should be equal to the capacitance of cap31 etc. as there are no other structures around the caps that might create some asymmetry. Nevertheless, what I observe is the following after the parasitic extraction: As it can be seen, the result is not symmetric contrary to what is expected. I should also add that I do not observe this when I perform parasitic extraction with no filed solver. Why do I get this result? Is it an artifact resulting from the field solver tool (my conclusion was yes but still it must be verified)? If not, how can something like this happen? Many thanks in advance. Best regards, Can Full Article
nc Delay Degradation vs Glitch Peak Criteria for Constraint Measurement in Cadence Liberate By feedproxy.google.com Published On :: Wed, 06 May 2020 11:41:27 GMT Hi, This question is related to the constraint measurement criteria used by the Liberate inside view. I am trying to characterize a specific D flip-flop for low voltage operation (0.6V) using Cadence Liberate (V16). When the "define_arcs" are not explicitly specified in the settings for the circuit (but the input/outputs are indeed correct in define_cell), the inside view seems to probe an internal node (i.e. master latch output) for constraint measurements instead of the Q output of the flip flop. So to force the tool to probe Q output I added following coder in constraint arcs : # constraint arcs from CK => D define_arc -type hold -vector {RRx} -related_pin CP -pin D -probe Q DFFXXX define_arc -type hold -vector {RFx} -related_pin CP -pin D -probe Q DFFXXX define_arc -type setup -vector {RRx} -related_pin CP -pin D -probe Q DFFXXX define_arc -type setup -vector {RFx} -related_pin CP -pin D -probe Q DFFXXX with -probe Q liberate identifies Q as the output, but uses Glitch-Peak criteria instead of delay degradation method. So what could be the exact reason for this unintended behavior ? In my external (spectre) spice simulation, the Flip-Flop works well and it does not show any issues in the output delay degradation when the input sweeps. Thanks Anuradha Full Article
nc Library Characterization Tidbits: Over the Clouds and Beyond with Arm-Based Graviton and Cadence Liberate Trio By feedproxy.google.com Published On :: Fri, 21 Feb 2020 18:00:00 GMT Cadence Liberate Trio Characterization Suite, ARM-based Graviton Processors, and Amazon Web Services (AWS) Cloud have joined forces to cater to the High-Performance Computing, Machine Learning/Artificial Intelligence, and Big Data Analytics sectors. (read more) Full Article Liberate Trio Characterization Unified Flow Variation Modeling artificial intelligence ARM-based Graviton Processors liberate blog Amazon Web Services Multi-PVT Liberate LV Liberate Variety machine learning aws PVT corners Liberate Liberate Characterization Portfolio TSMC OPI Ecosystem Forum 2019
nc 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
nc 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
nc 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
nc News18 Urdu: Latest News Poonch By urdu.news18.com Published On :: visit News18 Urdu for latest news, breaking news, news headlines and updates from Poonch on politics, sports, entertainment, cricket, crime and more. Full Article
nc Crime Branch : ક્યાંક ગાડીઓ ની ચોરી તો ક્યાંક અપહરણ, તો ક્યાંક ફેસબૂક પાર કોઈ છેતરાયું By gujarati.news18.com Published On :: Friday, October 19, 2018 03:34 PM Crime Branch : ક્યાંક ગાડીઓ ની ચોરી તો ક્યાંક અપહરણ, તો ક્યાંક ફેસબૂક પાર કોઈ છેતરાયું Full Article
nc -Crime Branch : દારૂબંધીમાં પણ ભાઇબંધી, સાવકા પિતાના માસુમ પર અત્યાચાર By gujarati.news18.com Published On :: Monday, October 22, 2018 05:02 PM Crime Branch : દારૂબંધીમાં પણ ભાઇબંધી, સાવકા પિતાના માસુમ પર અત્યાચાર Full Article
nc Crime Branch: સુરતના ડભોલીમાં મદદના બહાને સ્વામીનો યુવતી પર બળાત્કાર By gujarati.news18.com Published On :: Wednesday, October 24, 2018 05:40 PM Full Article
nc Crime Branch : પુત્રની ભૂલ ભોગવી પિતાએ, નોકરનો વિશ્વાસઘાત By gujarati.news18.com Published On :: Thursday, October 25, 2018 04:49 PM Crime Branch : પુત્રની ભૂલ ભોગવી પિતાએ, નોકરનો વિશ્વાસઘાત Full Article
nc Crime Branch: મહુવા ફેરવાયું પોલીસ છાવણીમાં, Internet સેવા કરાઇ બંધ By gujarati.news18.com Published On :: Friday, October 26, 2018 04:21 PM Crime Branch: મહુવા ફેરવાયું પોલીસ છાવણીમાં, Internet સેવા કરાઇ બંધ Full Article
nc Crime Branch : જમાઈ બન્યો જમ, બુટલેગરો બેફામ, લગ્નવાંચ્છુકો સાવધાન By gujarati.news18.com Published On :: Sunday, October 28, 2018 01:43 PM Crime Branch : જમાઈ બન્યો જમ, બુટલેગરો બેફામ, લગ્નવાંચ્છુકો સાવધાન Full Article
nc Crime Branch: સાહિલે યુવતી સાથે બ્રેકઅપને લીધે કર્યો આપઘાત? By gujarati.news18.com Published On :: Friday, November 02, 2018 10:33 AM Full Article
nc Crime Branch: 8 હજાર જમા કરાવો અને ગાડી મેળવો, નકલી માર્કશીટનું કૌભાંડ By gujarati.news18.com Published On :: Sunday, November 04, 2018 02:07 PM Crime Branch: 8 હજાર જમા કરાવો અને ગાડી મેળવો, નકલી માર્કશીટનું કૌભાંડ Full Article
nc Crime Branch: અમદાવાદમાં એકજ દિવસમાં 1 હત્યા, 3 રાઉન્ડ ફાયરિંગ અને 4 ચોરી By gujarati.news18.com Published On :: Saturday, November 10, 2018 03:36 PM Full Article
nc Crime Branch : ફિટનેસ સેન્ટરમાં ગુજાર્યો રેપ !, ચોરી માટે ખેતર કર્યું ભાડે By gujarati.news18.com Published On :: Sunday, November 11, 2018 03:30 PM Crime Branch : ફિટનેસ સેન્ટરમાં ગુજાર્યો રેપ !, ચોરી માટે ખેતર કર્યું ભાડે Full Article
nc Crime Branch: એક ઠપકો અને મળ્યું મોત, જન્મદાતા બન્યો હવસખોર By gujarati.news18.com Published On :: Monday, November 12, 2018 03:57 PM Crime Branch: એક ઠપકો અને મળ્યું મોત, જન્મદાતા બન્યો હવસખોર Full Article
nc Crime Branch : માનવ તસ્કરીનો પર્દાફાશ, યોગી કે ભોગી ? By gujarati.news18.com Published On :: Thursday, November 15, 2018 07:57 AM Crime Branch : માનવ તસ્કરીનો પર્દાફાશ, યોગી કે ભોગી ? Full Article
nc Crime Branch: પહેલા કરી મિત્રતા... લગ્નની લાલચ આપી ગુજાર્યો બળાત્કાર By gujarati.news18.com Published On :: Thursday, November 15, 2018 06:32 PM Crime Branch: પહેલા કરી મિત્રતા... લગ્નની લાલચ આપી ગુજાર્યો બળાત્કાર Full Article
nc CrimeBranch: વિનય શાહના ઘરેથી CID ને મહત્વના દસ્તાવેજ હાથ લાગ્યા By gujarati.news18.com Published On :: Friday, November 16, 2018 05:37 PM Full Article
nc CrimeBranch: પારિવારિક ઝઘડો બન્યો લોહિયાળ By gujarati.news18.com Published On :: Saturday, November 17, 2018 05:37 PM Full Article