inst

AG Jennings Announces Lawsuit Against Seaford

Chancery filing seeks invalidation of illegal fetal tissue ordinance After twice warning the City of Seaford that it was considering an anti-choice ordinance that was contrary to State law, Attorney General Kathy Jennings has filed suit against the City of Seaford over the ordinance.  The ordinance, passed on December 14 and scheduled to become effective […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

AG Jennings, ATF, DSP Announce 91 Felony Charges Against Sussex County Straw Purchasers

Guns used in Dover homicide, New Castle County suicide; many remain unrecovered Attorney General Kathy Jennings joined law enforcement and prosecutors Wednesday to announce that the DOJ has secured 87 felony charges against five defendants who are collectively charged with illegally purchasing and providing to others more than 60 firearms, including guns recovered at the […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

DCRPT Secures Convictions Against Former Land Bank Director

The Delaware Department of Justice’s Division of Civil Rights & Public Trust (DCRPT) has secured two convictions against William Freeborn, the former Executive Director of the Wilmington Neighborhood Conservancy Land Bank (WNCLB). “If you abuse the public’s trust we will hold you accountable,” said Attorney General Jennings. “The defendant used a position of public confidence to […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

DOJ Secures 646 Charges Against Husband, Wife for Serial Child Abuse and Torture

A Kent County couple has been indicted on 646 charges, including more than 80 felonies, for abusing their two children. Over a period of 20 months, Mary Vinson, 45, and Charles Vinson, 36, are alleged to have abused their children, including making them stand for long periods of time; withholding food; force feeding them; and […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

AG Jennings, DOJ’s Fraud Division Secure Revocations Against Cartel And Trafficking-Linked Business Entities

Attorney General Kathy Jennings announced Friday that the DOJ’s Fraud Division has secured revocations of the corporate charters or certificates of formation of multiple Delaware-registered business entities connected to criminal entities, including a Venezuelan cartel and a federally sanctioned online pharmacy based in Argentina. “Delaware’s central role in the business community is both a privilege and a responsibility,” said […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

DOJ Secures Conviction Against Recidivist Sex Offender 

A Magnolia man has pleaded guilty to two counts of Unlawful Sexual Conduct Against a Child and two counts of Human Trafficking a Minor. George Curtis, 31, was arrested following an investigation that found that he, while serving as the photographer for an illicit photoshoot prearranged on social media, repeatedly made unwanted sexual contact with […]




inst

Federal Court Rules Against Gun Lobby on Delaware Injunction

Delaware’s bans on assault weapons, large capacity mags remain in effect  A federal judge hearing a right-wing challenge against two common-sense gun safety measures in Delaware has ruled against the gun lobby on a critical question in Delaware State Sportsmen’s Association, Inc. et al. v. Delaware Department of Safety and Homeland Security et al.  In an […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

DOJ Secures 35-Count Indictment Against Group Responsible For Violent Crime Spree

Prosecutors have secured indictments against four defendants charged with multiple carjackings, along with kidnapping, rape, and theft.   On June 5, the Department of Justice secured indictments against Defendants Tonnaire McNair-Matthews, 24, of Wilmington; David Hinson, 21, of Bear; Mahkiya Powell, 20, of Wilmington; and Michael Caldwell, 21, of Wilmington. The charges stem from an April, […]



  • Department of Justice Press Releases

inst

DSP, DOJ Announce Domestic Violence Charges Against Suspended Trooper

A suspended Delaware State Trooper has been arrested and charged for a domestic physical assault, Attorney General Kathy Jennings and Col. Melissa Zebley announced Friday. On March 14, officers from Delaware State Police Troop 9 responded to a residence in Townsend regarding a domestic violence incident involving the defendant, Trooper Anthony DiGati. Police learned that DiGati and the victim had […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

DOJ, WPD, and NCCPD Announce Felony Convictions Against NorthPak Defendants

Over 80 convictions, including 5 murders solved over the last 2 years The Department of Justice has secured 10 new felony convictions—including multiple murder and gun charges— in its long-running case against members of the violent Wilmington-area gang NorthPak, Attorney General Kathy Jennings announced Monday. “Our trial team and our partners in Wilmington PD and […]




inst

Federal Court Rules for State, Against Gun Lobby on Landmark Gun Safety Law

A federal judge has denied another right-wing challenge to a commonsense gun safety law that allows gun dealers in Delaware to be held accountable in court for the violence they create.   This is Attorney General Kathy Jennings’ third consecutive legal win over the gun lobby.  Earlier this year, the same federal court ruled against plaintiffs challenging Delaware’s assault weapons ban and large-capacity magazine ban.  Both remain in effect, as well.  “Sometimes the facts of a case tell you all you need to know,” […]



  • Department of Justice Press Releases

inst

AG Jennings, DSP Colonel Zebley Announce Felony Indictment Against Suspended Trooper

A Delaware State Trooper has been charged with multiple felonies, including Delaware’s first-ever use of a new Deprivation of Civil Rights statute passed by lawmakers last year, for brutally assaulting a 15-year-old victim and fracturing his orbital socket in response to an apparent prank.  The Trooper is suspended without pay. “As a mother and grandmother, […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

Prosecutors Secure Convictions Against Serial Child Abusers

The Delaware Department of Justice has secured multiple felony convictions against a Kent County couple charged with the serial abuse and torture of their children, Attorney General Kathy Jennings announced Wednesday. “These are the cases that keep us up at night,” said Attorney General Jennings. “The pain that these children endured — and that it […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

AG Jennings files lawsuit against chemical companies for causing contamination of Delaware’s natural resources

Attorney General seeks damages, including costs necessary to restore impacted natural resources and funding for State-run public health programs. Attorney General Kathleen Jennings announced that the Department of Justice has filed a lawsuit to hold numerous companies accountable for contaminating Delaware’s natural resources with per- and poly-fluoroalkyl substances (PFAS) traceable to the use and disposal […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

AG Jennings Announces $30 Million Order Against Student Lender For Illegal Practices 

Comes after initiating joint effort with federal and state partners Attorney General Kathy Jennings announced today that, due to the work of her office, along with the federal Consumer Protection Financial Bureau and 11 other states, a Delaware bankruptcy court approved a stipulated judgment that will require bankrupt student lender Prehired to provide more than […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

Federal judge sides with Jennings against Cabela’s

District Court sends stolen ammo investigation back to Superior Court, awards DOJ legal fees A U.S. District Court Judge has rejected an attempt by Cabela’s Inc. to hinder the Delaware Attorney General’s investigation into reports of 500,000 rounds of ammunition shoplifted from the retailer’s Christiana location.  Attorney General Kathy Jennings announced last summer that she […]



  • Department of Justice
  • Department of Justice Press Releases
  • News

inst

Prosecutors secure conviction against Jordan Ellerbe’s murderer

A Wilmington man has been convicted of the January 2015 murder of 16-year-old Jordan Ellerbe. Oliver “Butter” Henry, 25, has pleaded guilty to Murder 2nd Degree and faces a minimum 15 years in prison.  Ellerbe’s murder ignited a rapidly accelerating feud between two rival gangs, Shoot to Kill and Only My Brothers. In the months and […]



  • Department of Justice Press Releases

inst

Weekly COVID-19 Update – Feb. 4, 2022: DPH Warns Against Complacency Amid Reduced Covid19 Cases

DOVER, DE (February 4, 2022) – The Delaware Division of Public Health (DPH) is providing an update on the most recent statistics related to coronavirus disease 2019 (COVID-19) in Delaware, as of Thursday, Feb 3, 2022. Although DPH reports decreasing data trends in hospitalization and new positive cases, it warns against complacency. Delawareans should continue to exercise […]




inst

Get Boosted: DPH Urges Delawareans to Reinforce Vaccine Protection Against COVID-19

DOVER, DE (February 11, 2022) – The Delaware Division of Public Health (DPH) is providing an update on the most recent statistics related to coronavirus disease 2019 (COVID-19) in Delaware, as of Thursday, Feb 10, 2022. Over the past month, the state has seen a significant decrease in the average percentage of tests that are positive, […]





inst

Division of Child Support Services Changes to New Financial Institution

NEW CASTLE (Nov. 2, 2022) – The Division of Child Support Services’ (DCSS) today announced a new partnership with TD Bank. As of Nov. 14, 2022, Division of Child Support Services paper checks will no longer be drawn on PNC Bank. On Thursday, Oct. 20, DCSS sent letters to all state child support agencies, all […]




inst

La División de Servicios de Manutención de Niños Cambia a Nueva Institución Financiera

NEW CASTLE (2 de Noviembre, 2022) – La División de Servicios de Manutención de Niños (DCSS) anunció hoy una nueva asociación con TD Bank. A partir del 14 de Noviembre de 2022, los cheques en papel de la División de Servicios de Manutención Infantil ya no se emitirán en PNC Bank. El Jueves 20 de […]




inst

DPH ANUNCIA LA PRIMERA SOSPECHA DE MUERTE RELACIONADA CON INFLUENZA, INSTA AL PÚBLICO A VACUNARSE ANTES DE FIN DE AÑO

DOVER, DE (16 de Diciembre de 2022) – La División de Salud Pública de Delaware (DPH) anunció hoy la primera muerte sospechada a estar relacionada con la influenza en el estado para la temporada de influenza 2022-2023. El paciente era residente del condado de Kent y tenía entre 55 y 64 años y no se […]




inst

Install NHibernate Nuget Package

Here Mudassar Khan has explained




inst

State Partnership Launches Workforce Development Program at Baylor Women’s Correctional Institution

Funded by Barclays US Consumer Bank, program will leverage free training initiative to develop customer experience talent in Delaware Wilmington, DE – Tech Impact, the Delaware Department of Correction and the Delaware Department of Education announced today the launch of a pilot cohort of the Tech Impact customer experience training program, CXWorks, at Baylor Women’s […]



  • Department of Correction
  • Department of Education
  • Baylor Women's Correctional Institution
  • job skills
  • reentry

inst

Quick Prison Response To Medical Emergency Gives Sussex Correctional Institution Inmate A New Lease On Life

Georgetown, DE – This past week the Delaware Department of Correction (DOC) recognized Correctional Officers and medical professionals for saving the life of a Sussex Correctional Institution (SCI) inmate who experienced a sudden life-threatening cardiac arrest earlier this year. On August 14, 2022 a 62 year-old inmate was working in the SCI kitchen when he exhibited […]




inst

Kimberly Hughey named Warden of Baylor Women’s Correctional Institution

New Castle, DE – The Delaware Department of Correction announced today that Kimberly Hughey, Deputy Warden of Baylor Women’s Correctional Institution (BWCI), has been promoted to BWCI Warden effective December 18.  Hughey steps up to fill the vacancy created when BWCI Warden Brian Emig was recently promoted to Warden of Howard R. Young Correctional Institution in […]



  • Department of Correction

inst

John Brennan named Deputy Warden of Baylor Women’s Correctional Institution 

New Castle, DE – The Delaware Department of Correction announced today that John Brennan, Security Superintendent of James T. Vaughn Correctional Center (JTVCC), has been promoted to Deputy Warden of Baylor Women’s Correctional Institution (BWCI), effective February 27.  Brennan fills the vacancy created when then-BWCI Deputy Warden Kimberly Hughey was promoted to BWCI Warden in December 2022. “Deputy Warden Brennan is a […]



  • Department of Correction

inst

State Agencies Join Forces Against Illegal Trash Dumping

Four state agencies recently teamed up to clean up more than 2,300 pounds of trash and debris illegally dumped and strewn at Taber State Forest in western Kent County – Delaware Natural Resources Police (DNRP), Department of Agriculture, Department of Transportation (DelDOT) and Department of Corrections (DOC).



  • Department of Agriculture
  • Department of Correction
  • Department of Natural Resources and Environmental Control
  • Department of Transportation
  • News
  • cleanup
  • Delaware Natural Resources Police
  • Delaware Solid Waste Authority
  • DNREC Environmental Crimes Unit
  • Keep DE Litter Free
  • Taber State Forest

inst

Partnership Creates Major Business Incubator & Research Institute at Experimental Station

State of Delaware, DuPont and University of Delaware partner to form Delaware Innovation Space, Inc.   WILMINGTON, Del. – Governor John Carney on Monday announced the creation of the Delaware Innovation Space, Inc. – a nonprofit public-private partnership established by the State of Delaware, DuPont, and the University of Delaware that will catalyze the entrepreneurial […]




inst

Attorney General Kathy Jennings Reaches $700 Million Settlement Against Johnson and Johnson

Attorney General Kathy Jennings and 42 other attorneys general reached a $700 million nationwide settlement to resolve allegations related to the marketing of Johnson & Johnson’s baby powder and body powder products that contained talc.     The consent judgment filed in this lawsuit addresses allegations that Johnson & Johnson deceptively promoted and misled consumers […]



  • Department of Justice Press Releases

inst

Safe Harbor for Financial Institutions Serving Legal Cannabis Businesses

As Delaware readies for the upcoming launch of the state’s legal adult-use cannabis industry, state lawmakers approved legislation, proposed by State Treasurer Colleen Davis, providing protections for banks and other financial institutions that serve licensed marijuana businesses. Although marijuana remains illegal at the federal level, Delaware has joined many other states in legalizing it for […]



  • Office of the State Treasurer
  • State Treasurer Colleen C. Davis
  • Cannabis
  • Marijuana
  • Office of the Delaware State Treasurer
  • Safe Banking
  • State treasurer Colleen Davis

inst

AG Jennings takes action against financial adviser for charging unreasonable fees

Attorney General Kathy Jennings this week filed a complaint against former Delaware investment adviser Elbert C. Smalls and his investment advisory firm, known as Winyah Financial Services, LLC or Winyah Financial, LLC (formerly operating in Delaware as Sun Financial Services, Inc.). The complaint is the culmination of an investigation by the Investor Protection Unit (the […]



  • Department of Justice Press Releases

inst

Health Equity Institute of Delaware Offers Training to Clinical and Public Health Workers

DOVER, DEL. (July 24, 2024) – The Delaware Division of Public Health (DPH) is now providing health equity training through the Health Equity Institute of Delaware (HEIDE). Led by the Office of the Medical Director and Office of the Chief Health Equity Officer, HEIDE helps providers and public health workers approach their work from a health equity perspective. […]



  • Delaware Health and Social Services
  • Division of Public Health
  • DE Division of Public Health
  • Delaware Department of Health and Social Services
  • Delaware Division of Public Health
  • Health Equity

inst

Improper Ambulance Service Payments Result in $363K Penalty Against Highmark

Navarro notes consumer reports spurred investigation Following a nearly years-long Market Conduct investigation, Insurance Commissioner Trinidad Navarro announced today penalties against Highmark totaling $363,570 relating to improper volunteer ambulance company claims reimbursement. Investigations began after reports were received that payments were going to residents rather than directly to volunteer ambulance companies for payment of services. […]




inst

Uttering Of Unpleasant Words Against Woman Not Insult To Modesty: Court

The Kerala High Court has quashed a criminal case against film director Sreekumar Menon who was accused by a prominent Malayalam actress of abusing and defaming her.




inst

Karnataka Minister's Racist Comment Against HD Kumaraswamy Sparks Row

A political controversy has broken out over an alleged racist remark by Karnataka Minister BZ Zameer Ahmed Khan against Union Minister and JD(S) leader HD Kumaraswamy.




inst

Karnataka Minister Apologises For Racist Comment Against HD Kumaraswamy

Karnataka Minister BZ Zameer Ahmed Khan tendered an apology on Tuesday for referring to Union Minister and JD(S) leader HD Kumaraswamy as "Kaalia", which the NDA had slammed as a "racist" slur.




inst

How to install Windows 11 on your PC / Laptop




inst

Congress To Begin 'Delhi Nyay Yatra' Today Against AAP Government's Policies

The Congress will begin a month-long 'Delhi Nyay Yatra' from Rajghat on Friday to corner the Aam Aadmi Party government on various issues affecting the city.




inst

UPF 3.1 / Genus - Cannot find any instance for scope

Hi, I'm using genus (Version 21.14-s082_1) to synthesis a VHDL-design with multiple power-domains. After reading the power intent file and calling 'apply_power_intent',  I get the following warning:

Warning : Potential problem while applying power intent of 1801 file. [1801-99]
: Cannot find any instance for scope '/:CHIP_TOP'. Rest of commands in this scope will be skipped (set_scope:../../upf/CHIP_TOP.upf:2).
: Check the power intent. If the scenario is expected, this message can be ignored.

The fist two lines of CHIP_TOP.upf:

upf_version 3.1
set_scope :CHIP_TOP

I simulated the same  UPF and VHDL files with Xeclium and was able to verify all the IEEE1801/UPF aspects I need without any problems. I don't know, why genus is having a problem with the 'scope'.
In genus, after getting the warning, running 'set_db power_domain:CHIP_TOP/BLOCK_A/PD_CORE_D .library_domain PD0V5' returns the following error:

Error : <Start> word is not recognized. [TUI-182] [set_db]
: 'power_domain:CHIP_TOP/BLOCK/PD_CORE_D' is not a recognized object/attribute. Type 'help root:' to get a list of all supported objects and attributes.
: Check if the given <Start> word is a valid object_type, object or attribute.

Running 'commit_power_intent' gives me:

Started inserting low power cells...
====================================
Info : Command 'commit_power_intent' cannot proceed as there are no power domains present. [CPI-507]
: Design with no power domains is 'design:CHIP_TOP'.
Completed inserting low power cells (runtime 0.00).
====================================================

I'm suspecting that the problem lies in 'set_scope' and VHDL. I never had such problems with Verilog. I tried every way to reference the hierarchy in the code and now I'm at my wit's end and I need your help o/
How to set the scope with 'set_scope' in UPD 3.1 to the toplevel in VHDL, so that genus accepts it? Or is the problem caused by something else?

Best,

Iqbal




inst

IC 23.1 installation configuration failure on RHEL 9

I am trying to install IC231 on RHEL 8 using installscape, however configuring keeps failing.

I tried to run the configuration file manually as suggested in one of the previous posts and it gives me following errors:

sh batch_configure.sh
/home/rs/cadence/installs/IC231/install/tmp/slconfig.sh: line 165: xterm: command not found
cat: ncvhdl23.03-d103lnx86_101124125631.stat: No such file or directory
rm: cannot remove 'ncvhdl23.03-d103lnx86_101124125631.stat': No such file or directory
/home/rs/cadence/installs/IC231/install/tmp/slconfig.sh: line 165: xterm: command not found
cat: ncvhdl64b23.03-d103lnx86_101124125631.stat: No such file or directory
rm: cannot remove 'ncvhdl64b23.03-d103lnx86_101124125631.stat': No such file or directory
/home/rs/cadence/installs/IC231/install/tmp/slconfig.sh: line 165: xterm: command not found
cat: oaRedist22.61-p003lnx86_101124125631.stat: No such file or directory
rm: cannot remove 'oaRedist22.61-p003lnx86_101124125631.stat': No such file or directory
/home/rs/cadence/installs/IC231/install/tmp/slconfig.sh: line 165: xterm: command not found
cat: amsEnv64b23.10-p043lnx86_101124125631.stat: No such file or directory
rm: cannot remove 'amsEnv64b23.10-p043lnx86_101124125631.stat': No such file or directory
/home/rs/cadence/installs/IC231/install/tmp/slconfig.sh: line 165: xterm: command not found
cat: ihdl64b23.10-p043lnx86_101124125631.stat: No such file or directory
rm: cannot remove 'ihdl64b23.10-p043lnx86_101124125631.stat': No such file or directory

I am not very well versed with Linux at the moment but trying. Could any one suggest something or point to what is missing?




inst

Hiding child instances

I'm trying to do what I believe should be a very simple and straightforward thing but after much reading appears to be quite complicated.

I'm test-benching the digital portion of a mixed-signal circuit that's instantiated a few hundred times. Each instance has some digital controls, and an analog portion. To greatly speed up the simulation, I'd like to hide the analog portion, which is neatly contained in one or two cell views deep down the hierarchy, and then unhide it after simulation has ended so it doesn't mess up other peoples' sims

Just as an example, say there's an op-amp that from the top level is contained in instance "I<0:511>/I3/I15/I0". First off, I don't know how to iterate through the 512 instantiations of the top level cell, but let's say we're just working with the I0 instance. I thought it would just be

schIgnore(?objectId "I<0:511>/I3/I15/I0" ?setIgnore t)

Of course this doesn't work. I can get the top level cell dbId with

cv = dbOpenCellViewByType("library" "cell" "schematic" "" "a")

And then I can grab the instance ID with

inst = dbFindAnyInstByName(cv "I0")

This gives me something, but then I'm lost from here. If I use the ~>master to get an Id from inst, I cannot recursively use dbFindAnyInstByName to traverse down the hierarchy. Also the value this returned seems to be meaningless, it can't be used by the schIgnore command. I'm not sure what the schIgnore command is actually even looking for.

So I guess I'm trying to loop through two things, one is to traverse down the hierarchy and grab the ID of a child instance so I can schIgnore it, and another is to iterate through all the top level instances to hide the child instance within each of them.




inst

Is there a skill command for "Assign Layout Instance terminals"?

Is there a skill command for "Assign Layout Instance terminals", this form appears when i click on define device correspondence and Bind the devices.

Also,

Problem Statement : i have a schematic with a couple of transistor symbols and and i alos have a corresponding layout view with respective layout transistors but they all are inside a pCell(created by me) i.e layout transistor called inside a custom Pcell. Now i have multiple symbols in schematic view and a single instance(pCell) in layout view. 
Is there a way how i can bind these schematic symbols with layout symbols inside the pCell(custom)? Even if i have to use cph commands i'm fine with it. need help here.

The idea here is to establish XL connectivity between the schematic symbols and corresponding layout transistors(inside the pCell).

Thanks,

Shankar




inst

instTerms

Hi to all,

I am trying to write an SKILL code to create a schematic. In my code I use "instTerms" to obtain the terminals of an instantiated cell (Let's imagine it is a simple NMOS which is given as a predesigned cell), and then I will connect a wire to each of the terminals. When I run the whole code by command line, the returned terminals by "instTerms" are empty(nil) but when I try to debug it line by line it works properly. As more information, I call it for the instantiated cell, and I should say the cell is instantiated without any problem. This is just the problem of finding its terminals. 

Does anybody have any idea?

Thank you very much in advance.

Amir




inst

Refer instances and vias to technology library during importing

Hi,

My query is regarding importing of layout.

After importing, we see that the imported transistor instances and vias are all referring to the library in which they are imported, instead of referring to the technology library.

Please let me know how we can refer them to the technology library.

Will surely provide more details if my query is unclear.

Thanks,

Mallikarjun.




inst

Instance of standard cell does not have layout?

Hi,

I have synthesized a verilog code. When performing the pnr in innovus it is showing the error "Instance g5891__718 (similar for other) of the cell AND2_X6 has no physical library or has wrong dimension  values (<=0). Check your design setup to make sure the physical library is loaded in and attribute specified in library are correct.

When importing synthesized netlist in virtuoso then it says " Module AND2_X6, instantiated in the top module decoder, is not defined. Therefore the top module decoder will be imported as functional."

Please help what's going on here? 




inst

SPB17.4 installation package build defect

1, Some components in the installation package cannot choose to install; even if they do not choose them, they will still be installed; just less shortcut icons, the documents are still released to the installation directory.

2, "Catia Application Frame" repeat the problem?
       “x:CadenceSPB_17.4 oolsin“
       ”x:CadenceSPB_17.4 oolsspatial“
       "Catia Application Frame" shouldn't you use the latest version?

3,Follow-up update patch cleaning the useless files and extra empty folder action !!!

The SPB17.4 installation package is currently the worst installation package I have seen for large-scale software packaging.




inst

Parameterizing an Instance

Hi,
I want to parameterized width and length of a NMOS, but it ignore it and I face this error:
*WARNING* Value input must be a number - setting back to previous value.

Does anybody know how I can fix this issue?
Thanks




inst

Einstein's puzzle (System Verilog) solved by Incisive92

Hello All,

Following is the einstein's puzzle solved by cadence Incisive92  (solved in less than 3 seconds -> FAST!!!!!!)

Thanks,

Vinay Honnavara

Verification engineer at Keyu Tech

vinayh@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
    
    
endclass




program main ;

    initial
        begin
            Einstein_problem ep;
            ep = new();
            if(!ep.randomize())
                $display("ERROR");
            ep.display();
        end
endprogram // end of main