king

Human Trafficking Unit’s First Month Yields Three Illicit Massage Parlor Shutdowns, Felony Charges

Three illicit massage establishments (IMEs) were shut down in February, the first full month of operation for the DOJ’s first Human Trafficking Unit (HTU), Attorney General Jennings announced Thursday. “These investigations highlight a continuing pattern that we’ve seen time and time again: human trafficking often happens in plain sight,” said Attorney General Jennings. “These were […]



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

king

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

king

Three Indicted In New Castle County For Human Trafficking 

The Delaware Department of Justice’s Human Trafficking Unit has indicted three individuals with running a ring of illicit massage establishments, Attorney General Kathy Jennings announced today   “Some people assume human trafficking only happens on the other side of the world, but the reality is that it is right in our backyard — and cases […]




king

DDL Seeking 20 AmeriCorps Summer Associate VISTAs

Opportunities Delaware Libraries is seeking applicants for TWENTY (20) AmeriCorps Summer Associate VISTAs, Positions start June 14, 2021 for 10 weeks Essential Needs Summer Associates Join our Social Innovation team this summer as an Essential Needs Summer Associate. Libraries are actively involved in helping people every day and are often stretched to meet the needs, […]




king

Funding Available for Delaware Communities Seeking to Improve Tree Canopy

The urban forestry grant program helps communities harness the numerous natural benefits of trees: cleaner air and water, energy savings, increased property values, civic pride, and reduced storm water runoff and flooding. Funding is provided by the U.S. Forest Service and state funds.




king

2024 Delaware Ag Week Promises Networking and Latest Innovations

Delaware’s agricultural industry looks forward to attending the annual Delaware Ag Week at the Delaware State Fairgrounds in Harrington from January 8 – 11, 2024. “Ag Week is the largest venue where Delaware farmers, agribusinesses, and subject matter experts can network and learn about the latest innovations and research that will impact them in the upcoming growing season,” said Secretary of Agriculture Michael T. Scuse.




king

Asking Prisoner To Wait For 1.5 Years For Successive Parole In Case Of Emergency Is Arbitrary

It is definitely in the fitness of things that while striking the right chord, the Bombay High Court while batting most zealously for protecting the legal rights of the prisoners in a most learned, laudable, landmark, logical and latest judgment titled Balaji Puyad vs State of Maharashtra in Crimina




king

Is Clicking Pictures Of A Person In A Public Place Offence Under Section 354 C Of Ipc?




king

DPH Encourages Delawareans To Consider Masking In Public Amid Rising Covid-19 Cases

DOVER, DE (May 21, 2022) – The Delaware Division of Public Health (DPH) reports an increase in COVID-19 cases since the previous monthly COVID-19 update released on April 22, 2022. While COVID-19 cases are increasing in Delaware, hospitalizations and deaths remain significantly lower when compared to the winter surge. DPH continues to encourage Delawareans to get tested if they exhibit symptoms […]




king

The Mezzanine Gallery to Exhibit “Making the Invisible, Visible” by Maia Palmer

The Delaware Division of the Arts’ Mezzanine Gallery presents 2022 DDOA Individual Artist Fellow Maia Palmer’s exhibition, "Making the Invisible, Visible", running November 4-25, 2022.




king

Wastewater, Surface Water and Drinking Water Planning Grant Proposals Now Being Accepted by DNREC, DPH

State government agencies, county and municipal governments, and conservation districts can now submit proposals to the Delaware Department of Natural Resources and Environmental Control and the Delaware Division of Public Health to receive matching grants for wastewater, surface water and drinking water project planning.




king

DPH Encourages Masking, Other Precautionary Measures For Visitors To Legislative Hall

DOVER, DE (Jan. 30, 2023) –   The Delaware Division of Public Health (DPH) has been notified of multiple positive cases of COVID-19 that could be related to several in-person events last week in and around Legislative Hall. Out of an abundance of caution, DPH is offering recommendations to those planning to attend Joint Finance Committee hearings beginning […]




king

Three Human Cases of West Nile Virus Identified in New Castle County, Marking Delaware’s First WNV Cases of Year

The Delaware Public Health Laboratory (DPHL) has identified this year’s first human cases of West Nile Virus (WNV) in three men 50 years of age and older, all of whom reside in New Castle County. All three individuals who contracted WNV were hospitalized due to infection from the mosquito-borne illness. At this time, it appears that each WNV victim […]



  • Delaware Health and Social Services
  • Division of Public Health
  • Delaware Department of Health and Social Services
  • Delaware Division of Public Health
  • West Nile Virus

king

Unlocking generative AI: Navigating challenges to reap unprecedented business benefits

As businesses in the UK and Ireland rapidly adopt generative AI, strategic insights from the latest SAS study reveal the roadmap to successful integration and the hurdles to overcome. GenAI is rapidly transforming how businesses operate, innovate, and interact with customers and employees alike. However, as the technology proliferates, so [...]

Unlocking generative AI: Navigating challenges to reap unprecedented business benefits was published on SAS Voices by Iain Brown




king

Drinking and Driving Don’t Mix

The holiday season is upon us, and this year, the Delaware Office of Highway Safety (OHS) wants you to give others the gift of holiday safety by pledging not to drink and drive.



  • Department of Safety and Homeland Security
  • Drive Sober or Get Pulled Over
  • Impaired Driving
  • News
  • Office of Highway Safety
  • Safe Family Holiday
  • Traffic Safety News
  • arrive alive de
  • delaware office of highway
  • Drive Sober
  • safe family holiday

king

Teenager Arrested for Attempted Carjacking

Delaware Natural Resources Police investigation leads to the arrest of a 16-year-old male of Wilmington, DE, for an attempted carjacking at Bellevue State Park.



  • Delaware State Police
  • Department of Natural Resources and Environmental Control
  • Division of Parks and Recreation
  • News
  • arrest
  • Delaware Natural Resources Police
  • delaware state police
  • health and safety
  • New Castle County Police

king

Delaware Economic Development Working Group Recommends Plan for Public-Private Partnership

Governor Carney created the working group with Executive Order #1 WILMINGTON, Del. – The Delaware Economic Development Working Group submitted its report to Governor John Carney on Friday, recommending a plan to implement a public-private partnership – the Delaware Prosperity Partnership – that would restructure Delaware’s economic development efforts. The nonprofit partnership, as recommended by […]




king

Groundbreaking Study Reveals Economic and Social Impact of Non-Profit Arts and Culture Sector in Delaware

  Arts & Economic Prosperity 6 Study Highlights Vital Role of Arts and Culture in Building More Livable Communities Around the Country   Wilmington, Del. (July 1, 2024) – The Delaware Division of the Arts today announced that Delaware’s nonprofit arts and culture industry generated $209.5 million in economic activity in 2022, according to the […]



  • Delaware Division of the Arts
  • Governor John Carney
  • Historical and Cultural Affairs
  • Kent County
  • New Castle County
  • News
  • Sussex County
  • The Economy
  • "Delaware Division of the Arts"
  • AEP6
  • AFTA
  • Americans for the Arts
  • Arts and Economic Prosperity 6

king

Explore Delaware’s Public Health Data Portal During National Environmental Public Health Tracking Awareness Week

DOVER, DEL. (July 8, 2024) – The Delaware Division of Public Health (DPH) invites the public to explore My Healthy Community, a platform for Delaware’s environmental health data, during National Environmental Public Health Tracking Awareness Week. This annual observance, from July 8 to July 12, is dedicated to empowering communities to use heath data to […]



  • 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

king

Governor Carney, Federal Delegation, General Assembly and Community Celebrate Investments in Kingswood Community Center

Groundbreaking ceremony touted $56 million for early education, senior care, and community programs   WILMINGTON, Del. – Governor John Carney joined U.S. Senator Tom Carper, State Senator Darius Brown, State Representative Stephanie T. Bolden, other elected officials, and community members at a groundbreaking ceremony for the new Kingswood Community Center.   Kingswood Community Center, managed by […]



  • Governor John Carney
  • News
  • Office of the Governor

king

Delaware State Fire Commission Announces Groundbreaking Ceremony

The Delaware State Fire Commission is thrilled to announce the Groundbreaking Ceremony for our new building scheduled for Friday, September 6, 2024, at 11:00 am. The ceremony will be held at the Delaware Fire Service Center, 1463 Chestnut Grove Road, Dover, Delaware. “Our long-awaited new building will replace the current one attached to the rear […]



  • State Fire Commission

king

Fire Commission Groundbreaking Ceremony

On Friday, September 6, 2024, the Delaware State Fire Prevention Commissioners held their groundbreaking ceremony for their new building. The Commissioners wanted to express their sincere gratitude for everyone’s presence at the groundbreaking ceremony. The support and encouragement mean a great deal to us, and we are truly thankful for all who attended and participated […]



  • State Fire Commission

king

With Annual Fall Trout Stocking in White Clay Creek, DNREC Delivers Angling Opportunities

Some 1,000 pounds of 12- to 13-inch rainbow trout were stocked in White Clay Creek by the DNREC Division of Fish and Wildlife from near the Pennsylvania state line downstream to Newark, offering fall and winter fishing opportunities for Delaware anglers.



  • Department of Natural Resources and Environmental Control
  • Division of Fish and Wildlife
  • Featured Posts
  • News
  • annual fall stocking
  • Delaware trout program
  • downstream to Newark
  • flyfishing
  • late-year angling opportunities
  • Pennsylvania state line
  • rainbow trout
  • trout stamp
  • White Clay Creek

king

4104 Regulations for the Drug Testing of Contractor and Subcontractor Employees Working on Large Public Works Projects

OFFICE OF MANAGEMENT AND BUDGET: Division Of Facilities Management




king

SAS Customer Intelligence 360: Behavioral event tracking, targeting & engagement analysis

There's no question that we're all increasingly, and often exclusively, interacting with brands digitally. Consumers are now online through countless mechanisms – from laptops and mobile apps to AI-enabled voice assistants and sensor-based wearables. Engagement is diversifying in fascinating new ways. And when organizations can't see their customers interacting in [...]

SAS Customer Intelligence 360: Behavioral event tracking, targeting & engagement analysis was published on Customer Intelligence Blog.




king

Six takeaways from working on Madrid’s digital transformation efforts

During lockdowns across Europe and beyond, we all moved our lives online. We worked remotely and had meetings via Teams or Zoom. We also socialised and shopped online. For many people, this was familiar territory. For others, it opened up a whole new world—and highlighted significant problems with the ‘old [...]

The post Six takeaways from working on Madrid’s digital transformation efforts appeared first on Government Data Connection.





king

Photographer Captures Breathtaking Close-Up Shot Of A Whale's Eye. See Pics

Positioned near the side of her head, the eye provides an expansive field of vision, while a thick layer of protective blubber shields it from harm and maintains warmth.




king

"No Talking...": Employee Shares Strict Workplace Rules, Calls It A "Jail"

The post details a highly restrictive environment where employees are forbidden from basic actions like looking away from their screens or using their phones.




king

Millions Of Teflon Particles Are Mixed With Your Food While Cooking On Teflon-Coated Pan! (Research Results)

There is a shocking revelation by scientists who are studying the surface of a Teflon-coated pan. As per the scientists, thousands to millions of ultra-small Teflon plastic particles may be released during cooking as non-stick pots and pans gradually lose their coating. As per the new study published in the journal Science of the Total […]




king

Family Members Of Foreign Workers In Canada Now Allowed To Work: Spouses, Working-Age Children Will Get Work Permits!

After its decision to strengthen visa infrastructure in Delhi and Chandigarh, Canada has now announced that family members of temporary international workers will also be allowed to work in the country. Sean Fraser, Canada’s Minister of Immigration, Refugees, and Citizenship, recently informed the media that his agency will be granting work permits to relatives of […]




king

India Beats China In Air Travel Safety: Ranking Jumps From 102 To 48 In Global Aviation Safety

India’s air safety protocols and executions have improved drastically over the years, as validated by the findings of a specialized agency of the United Nations, the International Civil Aviation Organization or ICAO. The UN watchdog has upgraded India’s ranking in terms of aviation safety to the 48th position, jumping past the rankings of countries like […]




king

Hitman Wanted By Police for Attacking Twin Brothers

[SAPS] Office of the Provincial Commissioner KwaZulu-Natal




king

Locking When Emulating Xtensa LX Multi-Core on a Xilinx FPGA

Today's high-performance computing systems often require the designer to instantiate multiple CPU or DSP cores in their subsystem. However, the performance gained by using multiple CPUs comes with additional programming complexity, especially when accessing shared memory data structures and hardware peripherals. CPU cores need to access shared data in an atomic fashion in a multi-core environment. Locking is the most basic requirement for data sharing. A core takes the lock, accesses the shared data structure, and releases the lock. While one core has the lock, other cores are disallowed from accessing the same data structure. Typically, locking is implemented using an atomic read-modify-write bus transaction on a variable allocated in an uncached memory.

This blog shares the AXI4 locking mechanism when implementing an Xtensa LX-based multi-core system on a Xilinx FPGA platform. It uses a dual-core design mapped to a KC705 platform as an example.

Exclusive Access to Accomplish Locking

The Xtensa AXI4 manager provides atomic access using the AXI4 atomic access mechanism. While Xtensa's AXI manager interface generates an exclusive transaction, the subordinate's interface is also expected to support exclusive access, i.e., AXI monitoring. Xilinx BRAM controller's AXI subordinate interface does not support exclusive access, i.e., AXI monitoring: AXI Feature Adoption in Xilinx FPGAs.

Leveraging Xtensa AXI4 Subordinate Exclusive Access

The Xtensa LX AXI subordinate interface supports exclusive access. One approach is to utilize this support and allocate locks in one of the core's local data memories. Ensure that the number of external exclusive managers is configured, typically to the number of cores (Figure 1).

Figure 1

Note that the Xtensa NX AXI subordinate interface does not support exclusive access. For an Xtensa NX design, shared memory with AXI monitoring is required.

In Figure 2, the AXI_crossbar#2 (block in green) routes core#0's manager AXI access (blue connection) to both core's local memories. Core#1's manager AXI (yellow connection) can also access both core's local memories. Locks can be allocated in either core's local data memory.

In-Bound Access on Subordinate Interface

On inbound access, the Xtensa AXI subordinate interface expects a local memory address, i.e., an external entity needs to present the same address as the core would use to access local memory in its 4GB address space. AXI address remap IP (block in pink) translates the AXI system address to each core's local address. For example, assuming locks are allocated in core#0's local memory, core#1 generates an AXI exclusive to access a lock allocated in core#0's local memory (yellow connection). AXI_crossbar#2 forwards transaction to M03_AXI port (green connection). AXI_address_remap#1 translates the AXI system address to the local memory address before presenting it to core#0's AXI subordinate interface (pink connection).

It is possible to configure cores with disjoint local data memory addresses and avoid the need for an address remap IP block. But then it will be a heterogeneous multi-core design with a multi-image build. An address remap IP is required to keep things simple, i.e., a homogeneous multi-core with a single image build. A single image uses a single memory map. Therefore, both cores must have the same view of a lock, i.e., the lock's AXI bus address must be the same for both.

Figure 2

AXI ID Width

Note Xtensa AXI manager interface ID width=4 bits. Xtensa's AXI subordinate interface ID width=12 bits. So, you must configure AXI crossbar#2 and AXI address remap AXI ID width higher than 4. AXI IDs on a manager port are not globally defined; thus, an AXI crossbar with multiple manager ports will internally prefix the manager port index to the ID and provide this concatenated ID to the subordinate device. On return of the transaction to its manager port of origin, this ID prefix will be used to locate the manager port, and the prefix will be truncated. Therefore, the subordinate port ID is wider in bits than the manager port ID. Figure 3 shows the Xilinx crossbar IP AXI ID width configuration.

Figure 3

Software Tools Support

Cadence tools provide a way to place locks at a specific location. For more details, please refer to Cadence's Linker Support Packages (LSP) Reference Manual for Xtensa SDK. .xtos.lock(green) resides in core#0's local memory and holds user-defined and C library locks. The lock segment memory attribute is defined as shared inner (cyan) so that L32EX and S32EX instructions generate an exclusive transaction on an AXI bus. See Figure 4. The stack and per-core Xtos and C library contexts are allocated in local data memory (yellow).

…………..LSP memory map………….
BEGIN dram0
0x40000000: dataRam : dram0 : 0x8000 : writable ;
dram0_0 : C : 0x40000400 - 0x40007fff : STACK : .dram0.rodata .clib.percpu.data .rtos.percpu.data .dram0.data .clib.percpu.bss .rtos.percpu.bss .dram0.bss;
END dram0
…………………
BEGIN sysViewDataRam0
0xA0100000: system : sysViewDataRam0 : 0x8000 : writable, uncached, shared_inner;
lockRam_0 : C : 0xA0100000 - 0xA01003ff : .xtos.lock;
END sysViewDataRam0
…………..

Figure 4

Please visit the Cadence support site for more information on emulating Xtensa cores on FPGAs.




king

Knowledge Booster Training Bytes - Working with Data Sets in Microwave Office

Data sets are a powerful and easy-to-use feature in Microwave Office. Data can be effortlessly be swapped in graphs, and circuit schematics.(read more)




king

Conformal CEC checking

Below is showing my Master.v

********************************************************************************************************************************************************************************************************************

///////ALU
module ALU (
    input [31:0] A,B,
    input[3:0] alu_control,
    output reg [31:0] alu_result,
    output reg zero_flag
);
    always @(*)
    begin
        // Operating based on control input
        case(alu_control)

        4'b0001: alu_result = A+B;
        4'b0010: alu_result = A-B;
        4'b0011: alu_result = A*B;
        4'b0100: alu_result = A|B;
        4'b0101: alu_result = A&B;
        4'b0110: alu_result = A^B;
        4'b0111: alu_result = ~B;
        4'b1000: alu_result = A<<B;
        4'b1001: alu_result = A>>B;
        4'b1010: begin
            if(A<B)
            alu_result = 1;
            else
            alu_result = 0;
        end
        default: alu_result = A+B;

        endcase

        // Setting Zero_flag if ALU_result is zero
        if (alu_result)
            zero_flag = 1'b1;
        else
            zero_flag = 1'b0;   
    end
endmodule


/////CONTROL UNIT
/*
Control unit controls takes opcode, funct7, funct3 of the instruction code to determine
and control regwrite in IFU, alu control in ALU to execute proper instruction
*/
/*
Control unit controls takes opcode, funct7, funct3 of the instruction code to determine
and control regwrite in IFU, alu control in ALU to execute proper instruction
*/
module CONTROL(
    input [4:0] opcode,
    output reg [3:0] alu_control,
    output reg regwrite_control,memread_control,memwrite_control
);
    always @(opcode)
    begin
       case(opcode)
        5'b00001: begin alu_control=4'b0001;  //add
        regwrite_control=1; memread_control=0; memwrite_control=0;
        end
        5'b00010: begin alu_control=4'b0010;  ///sub
        regwrite_control=1; memread_control=0; memwrite_control=0;
        end
        5'b00011: begin alu_control=4'b0011;  //mul
        regwrite_control=0; memread_control=0; memwrite_control=1;
        end
        5'b00100: begin alu_control=4'b0100;  ///OR
        regwrite_control=0; memread_control=0; memwrite_control=1;
        end
        5'b00101: begin alu_control=4'b0101;  ///AND
        regwrite_control=1; memread_control=0; memwrite_control=0;
        end
        5'b00110: begin alu_control=4'b0110;  ///XOR
        regwrite_control=0; memread_control=0; memwrite_control=1;
        end
        5'b00111: begin alu_control=4'b0111;  ///NOT
        regwrite_control=0; memread_control=0; memwrite_control=1;
        end
        5'b01000: begin alu_control=4'b1000;  //SL
        regwrite_control=1; memread_control=1; memwrite_control=0;
        end
        5'b11001: begin alu_control=4'b1001;  //SR
        regwrite_control=1; memread_control=1; memwrite_control=0;
        end
        5'b01010: begin alu_control=4'b1010;  //COMPARE
        regwrite_control=1; memread_control=1; memwrite_control=0;
        end
        //5'b11010: begin ALU_control=4'b0000;  //SW
        //regwrite_control=1; memread_control=0; memwrite_control=0;
        //end
        //5'b01010: begin ALU_control=4'bxxxx;  //LW
        //regwrite_control=0; memread_control=0; memwrite_control=1;
        //end
        default : begin alu_control = 4'b0001;
        regwrite_control=1; memread_control=0; memwrite_control=0;
        end
        endcase  
    end
endmodule



//////DATA MEMORY
module Data_Mem(
input clock, rd_mem_enable, wr_mem_enable,
input [11:0] address,
input [31:0] datawrite_to_mem,
output reg [31:0] dataread_from_mem );

reg [31:0] Data_Memory[8:0];

initial begin
    Data_Memory[0] = 32'hFFFFFFFF;
    Data_Memory[1] = 32'h00000001;
    Data_Memory[2] = 32'h00000005;
    Data_Memory[3] = 32'h00000003;
    Data_Memory[4] = 32'h00000004;
    Data_Memory[5] = 32'h00000000;
    Data_Memory[6] = 32'hFFFFFFFF;
    Data_Memory[7] = 32'h00000000;
    //Data_Memory[8] = 32'h00000008;
    //Data_Memory[9] = 32'h00000009;
    //Data_Memory[10] = 32'h0000000A;
    //Data_Memory[11] = 32'h0000000B;
    //Data_Memory[12] = 32'h0000000C;
    //Data_Memory[13] = 32'h0000000D;
    //Data_Memory[14] = 32'h0000000E;
    //Data_Memory[15] = 32'h0000000F;
    //Data_Memory[16] = 32'h00000010;
    //Data_Memory[17] = 32'h00000011;
    //Data_Memory[18] = 32'h00000012;
    //Data_Memory[19] = 32'h00000013;
    //Data_Memory[20] = 32'h00000014;
    //Data_Memory[21] = 32'h00000015;
    //Data_Memory[22] = 32'h00000016;
    //Data_Memory[23] = 32'h00000017;
    //Data_Memory[24] = 32'h00000018;
    //Data_Memory[25] = 32'h00000019;
    //Data_Memory[26] = 32'h0000001A;
    //Data_Memory[27] = 32'h0000001B;
    //Data_Memory[28] = 32'h0000001C;
    //Data_Memory[29] = 32'h0000001D;
    //Data_Memory[30] = 32'h0000001E;
    Data_Memory[31] = 32'h0000001F;
       
    end
    always@(posedge clock) begin
       if(wr_mem_enable) begin
            Data_Memory[address] <= datawrite_to_mem;
       end
       else if(rd_mem_enable) begin
               dataread_from_mem <= Data_Memory[address];
       end
       else begin
               dataread_from_mem <= 32'h00000000;
       end
    end
endmodule   



/////INST MEM
/*

*/
module INST_MEM(
    input [31:0] PC,
    input reset,
    output [31:0] Instruction_Code
);
    reg [7:0] Memory [43:0]; // Byte addressable memory with 32 locations

    
    assign Instruction_Code = {Memory[PC+3],Memory[PC+2],Memory[PC+1],Memory[PC]};

    
    
    initial begin
            // Setting 32-bit instruction: add t1, s0,s1 => 0x00940333
            Memory[3] = 8'b0000_0000;
            Memory[2] = 8'b0000_0001;
            Memory[1] = 8'b0111_1100;
            Memory[0] = 8'b0000_0001;
            // Setting 32-bit instruction: sub t2, s2, s3 => 0x413903b3
            Memory[7] = 8'b0000_0000;
            Memory[6] = 8'b0000_0110;
            Memory[5] = 8'b1000_1111;
            Memory[4] = 8'b1110_0010;
            // Setting 32-bit instruction: mul t0, s4, s5 => 0x035a02b3
            Memory[11] = 8'b0000_0000;
            Memory[10] = 8'b0000_0101;
            Memory[9] = 8'b0111_1100;
            Memory[8] = 8'b0000_0011;
            // Setting 32-bit instruction: or t3, s6, s7 => 0x017b4e33
            Memory[15] = 8'b1111_1111;
            Memory[14] = 8'b1111_0100;
            Memory[13] = 8'b1010_0000;
            Memory[12] = 8'b1010_0100;
            // Setting 32-bit instruction: and
            Memory[19] = 8'b0000_0000;
            Memory[18] = 8'b0010_1001;
            Memory[17] = 8'b0001_1101;
            Memory[16] = 8'b0010_0101;
            // Setting 32-bit instruction: xor
            Memory[23] = 8'b0000_0000;
            Memory[22] = 8'b0001_1000;
            Memory[21] = 8'b0000_1101;
            Memory[20] = 8'b0110_0110;
            // Setting 32-bit instruction: not
            Memory[27] = 8'b0000_0000;
            Memory[26] = 8'b0010_1001;
            Memory[25] = 8'b0011_1101;
            Memory[24] = 8'b1100_0111;
            // Setting 32-bit instruction: shift left
            Memory[31] = 8'b0000_0000;
            Memory[30] = 8'b0101_0111;
            Memory[29] = 8'b1100_0110;
            Memory[28] = 8'b0000_1000;
            // Setting 32-bit instruction: shift right
            Memory[35] = 8'b0000_0000;
            Memory[34] = 8'b0110_1010;
            Memory[33] = 8'b1101_0010;
            Memory[32] = 8'b0111_1001;
            /// Setting 32-bit instruction: Campare
            Memory[39] = 8'b0000_0000;
            Memory[38] = 8'b0111_1010;
            Memory[37] = 8'b1101_0010;
            Memory[36] = 8'b0110_1010;
            /// Setting 32-bit instruction:
            Memory[43] = 8'b0000_0000;
            Memory[42] = 8'b0111_0111;
            Memory[41] = 8'b1101_0010;
            Memory[40] = 8'b0111_0010;
        end
   

endmodule

//IFU
/*
The instruction fetch unit has clock and reset pins as input and 32-bit instruction code as output.
Internally the block has Instruction Memory, Program Counter(P.C) and an adder to increment counter by 4,
on every positive clock edge.
*/
module IFU(
    input clock,reset,
    output [31:0] Instruction_Code
);
reg [31:0] PC = 32'b0;  // 32-bit program counter is initialized to zero

    
    always @(posedge clock, posedge reset)
    begin
        if(reset == 1)  //If reset is one, clear the program counter
        PC <= 0;
        else
        PC <= PC+4;   // Increment program counter on positive clock edge
    end
    // Initializing the instruction memory block
    INST_MEM instr_mem(.PC(PC),.reset(reset),.Instruction_Code(Instruction_Code));

endmodule


///MUX

module Mux_2X1 (
    input mem_rd_select, // rd_mem_enable
    input wire [31:0] dataread_from_mem, regdata2,

    output reg [31:0] mux_out
);

always @(mem_rd_select or dataread_from_mem or regdata2) begin
    if (mem_rd_select == 1)
        mux_out <= dataread_from_mem ;
    else
        mux_out <= regdata2;
    end
endmodule

//DFlipFlop
module DFlipFlop(D,clock,Q);
input D; // Data input
input clock; // clock input
output reg Q; // output Q
always @(posedge clock)
begin
 Q <= D;
end
endmodule

///DATA path


module DATAPATH(
    input [4:0]Read_reg_add1,
    input [4:0]Read_reg_add2,
    input [4:0]Reg_write_add,
    input [3:0]Alu_control,
    input [11:0]Address,
    input Wr_reg_enable,Wr_mem_enable,Rd_mem_enable,
    input clock,
    input reset,
    output OUTPUT
    );

    // Declaring internal wires that carry data
    wire zero_flag;
    wire [31:0]Dataread_from_mem;
    wire [31:0]read_data1;
    wire [31:0]read_data2;
    wire [31:0]Mux_out;
    wire [31:0]Alu_result;
    //wire [31:0]datawrite_to_reg;

    // Instantiating the register file
    REG_FILE reg_file_module(.reg_read_add1(Read_reg_add1),.reg_read_add2(Read_reg_add2),.reg_write_add(Reg_write_add),.datawrite_to_reg(Alu_result),.read_data1(read_data1),.read_data2(read_data2),.wr_reg_enable(Wr_reg_enable),.clock(clock),.reset(reset));

    // Instanting ALU
    ALU alu_module(.A(read_data1), .B(Mux_out), .alu_control(Alu_control), .alu_result(Alu_result), .zero_flag(zero_flag));
    
    //Mux
    Mux_2X1 mux(.mem_rd_select(Rd_mem_enable),.dataread_from_mem(Dataread_from_mem),.regdata2(read_data2),.mux_out(Mux_out));

    //Data Memory
    Data_Mem DM(.clock(clock),.rd_mem_enable(Rd_mem_enable),.wr_mem_enable(Wr_mem_enable),.address(Address),.datawrite_to_mem(Alu_result),.dataread_from_mem(Dataread_from_mem));
    
    // Dflipflop
    DFlipFlop DF (.D(zero_flag), .Q(OUTPUT),.clock(clock));
endmodule


/*
A register file can read two registers and write in to one register.
The RISC V register file contains total of 32 registers each of size 32-bit.
Hence 5-bits are used to specify the register numbers that are to be read or written.
*/

/*
Register Read: Register file always outputs the contents of the register corresponding to read register numbers specified.
Reading a register is not dependent on any other signals.

Register Write: Register writes are controlled by a control signal RegWrite.  
Additionally the register file has a clock signal.
The write should happen if RegWrite signal is made 1 and if there is positive edge of clock.
*/
module REG_FILE(
    input [4:0] reg_read_add1,
    input [4:0] reg_read_add2,
    input [4:0] reg_write_add,
    input [31:0] datawrite_to_reg,
    output [31:0] read_data1,
    output [31:0] read_data2,
    input wr_reg_enable,
    input clock,
    input reset
);

    reg [31:0] reg_memory [31:0]; // 32 memory locations each 32 bits wide
    
    initial begin
        reg_memory[0] = 32'h00000000;
        reg_memory[1] = 32'hFFFFFFFF;
        reg_memory[2] = 32'h00000002;
        reg_memory[3] = 32'hFFFFFFFF;
        reg_memory[4] = 32'h00000004;
        reg_memory[5] = 32'h01010101;
        reg_memory[6] = 32'h00000006;
        reg_memory[7] = 32'h00000000;
        reg_memory[8] = 32'h10101010;
        reg_memory[9] = 32'h00000009;
        reg_memory[10] = 32'h0000000A;
        reg_memory[11] = 32'h0000000B;
        reg_memory[12] = 32'h0000000C;
        reg_memory[13] = 32'h0000000D;
        reg_memory[14] = 32'h0000000E;
        reg_memory[15] = 32'h0000000F;
        reg_memory[16] = 32'h00000010;
        reg_memory[17] = 32'h00000011;
        reg_memory[18] = 32'h00000012;
        reg_memory[19] = 32'h00000013;
        reg_memory[20] = 32'h00000014;
        reg_memory[21] = 32'h00000015;
        //reg_memory[22] = 32'h00000016;
        //reg_memory[23] = 32'h00000017;
        //reg_memory[24] = 32'h00000018;
        //reg_memory[25] = 32'h00000019;
        //reg_memory[26] = 32'h0000001A;
        //reg_memory[27] = 32'h0000001B;
        //reg_memory[28] = 32'h0000001C;
        //reg_memory[29] = 32'h0000001D;
        //reg_memory[30] = 32'h0000001E;
        reg_memory[31] = 32'hFFFFFFFF;
    end

    // The register file will always output the vaules corresponding to read register numbers
    // It is independent of any other signal
    assign read_data1 = reg_memory[reg_read_add1];
    assign read_data2 = reg_memory[reg_read_add2];

    // If clock edge is positive and regwrite is 1, we write data to specified register
    always @(posedge clock)
    begin
        if (wr_reg_enable) begin
            reg_memory[reg_write_add] = datawrite_to_reg;
        end     
    else
        reg_memory[reg_write_add] = 32'h00000000;
    end
endmodule


/////PROCESSOR


module PROCESSOR(
    input clock,
    input reset,
    output Output
);

    wire [31:0] instruction_Code;
    wire [3:0] ALu_control;
    wire WR_reg_enable;
    wire WR_mem_enable;
    wire RD_mem_enable;


    IFU IFU_module(.clock(clock), .reset(reset), .Instruction_Code(instruction_Code));
    
    CONTROL control_module(.opcode(instruction_Code[4:0]),.alu_control(ALu_control),.regwrite_control(WR_reg_enable),.memread_control(RD_mem_enable),.memwrite_control(WR_mem_enable));
    
    DATAPATH datapath_module(.Wr_mem_enable(WR_mem_enable),.Rd_mem_enable(RD_mem_enable),.Read_reg_add1(instruction_Code[9:5]),.Read_reg_add2(instruction_Code[14:10]),.Reg_write_add(instruction_Code[19:15]),.Address(instruction_Code[31:20]),.Alu_control(ALu_control),.Wr_reg_enable(WR_reg_enable), .clock(clock), .reset(reset), .OUTPUT(Output));

endmodule

**********************************************************************************************************************************************************

Below is my Synthesis.tcl file for genus synthesis

********************

set_attribute lib_search_path "/home/sameer23185/Desktop/VDF_PROJECT/lib"
set_attribute hdl_search_path "/home/sameer23185/Desktop/VDF_PROJECT"
set_attribute library "/home/sameer23185/Desktop/VDF_PROJECT/lib/90/fast.lib"
read_hdl Master.v
elaborate
read_sdc Min_area.sdc
set_attribute hdl_preserve_unused_register true
set_attribute delete_unloaded_seqs false
set_attribute optimize_constant_0_flops false
set_attribute optimize_constant_1_flops false
set_attribute optimize_constant_latches false
set_attribute optimize_constant_feedback_seqs false
#set_attribute prune_unsued_logic false
synthesize -to_mapped -effort medium
write_hdl > report/HDL_min_Netlist.v
write_sdc > report/constraints.sdc
write_script > report/synthesis.g
report_timing > report/synthesis_timing_report.rep
report_power > report/synthesis_power_report.rep
report_gates > report/synthesis_cell_report.rep
report_area > report/synthesis_area_report.rep
gui_show

**********************************************

WHEN I COMPARING MY GOLDEN.V WITH HDL_min_Netlist.v  during   conformal , I got  these  non-equivalent   point   for   every reg memory and for every data memory. I don't know what to do with these non-equivalent point. I've been stuck here for the past four days. Please help me in this and how can I remove this non- equivalent point , since I am new to this I really don't know what to do.




king

Asking for a software suggestion.

Hi. I'm a very new learner on Cadence. I want to synthesis my logic design for the maximum, minimum and an average results of delay, power dissipation and area under varying multiple inputs of different data. The different data will be exported from other software results. I'm lost on the steps/processes I should do.

Could anyone suggest me on which software and/or function or scripts I should use to achieve these results?




king

Matlab cannot open Pspice, to prompt orCEFSimpleUI.exe that it has stopped working!

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,相同

我想问一下如何解决,非常感谢!




king

Doc Assistant A-Z: Making the Most of the Cadence Cloud-Based Help Viewer: Pt. 2

At a bustling Cadence event, we met Adrian, an intern at a startup who immerses himself in Cadence tools for his research and work.

Adrian was enthusiastic about the innovative technologies at his disposal but faced a significant challenge: internet access was limited to a single machine for new joiners, forcing interns to wait in line for their turn to use online resources.

Adrian's excitement soared when he discovered a game-changing solution: Doc Assistant. The cloud-based help viewer, Doc Assistant, ships with all Cadence tools, enabling Adrian to access help resources offline from any machine equipped with the software. This meant Adrian could continue his research and work seamlessly, irrespective of internet availability!

Meeting Cadence users and customers at such events has given us the opportunity to showcase how they can benefit from the diverse features that Doc Assistant offers.

With that note, welcome back to our Doc Assistant A-Z blog series! In Part 1, we explored key features and benefits that our innovative viewer brings to the table. Today, in Part 2, we'll dive deeper into the advanced functionalities and customization options that make Doc Assistant indispensable for its users.

Whether you're looking to streamline your workflow or enhance your user experience, this blog will provide the insights you need to fully leverage the capabilities of our documentation viewer. Let’s get started!

What Makes Doc Assistant Stand Out?

Here are a few (more) cool features of Doc Assistant!

History and Bookmarks: Want to refer to the topic you read last week? Of course, you can! Doc Assistant stores your browsing activity as History. You can also bookmark topics and revisit them later.

Indexing Capabilities: Looking for seamless search capabilities? The advanced indexing capabilities of Doc Assistant enhance the accessibility and manageability of documents. Doc Assistant automatically creates a search index if it is missing or broken.

Jump Links: Worried about scrolling through lengthy topics? Fret no more! Use the jump links in each topic to quickly navigate to different sections within the same topic or across topics. Jump links reduce the need for excessive scrolling and let you access relevant content swiftly.

Just-in-Time Notifications: Looking for alerts and messages? That’s supported. Doc Assistant displays notifications about important events, including errors, warnings, information, and success messages.

Keyword-Based Search Suggestions: You somewhat know your search keyword, but not quite sure? No worries. Just start typing what you know. Keyword and page suggestions are displayed dynamically as you type, providing a more sophisticated and intuitive search experience.

Library-Switch Support: Want to view documents from other libraries? Doc Assistant, by default, displays documents for the currently active release in your machine. You can access documents from other releases by configuring the associated documentation libraries.

Multimedia Support: Want to view product demos? Multimedia support in Doc Assistant lets you play videos, listen to audio, and view images without opening any external application.

Navigation Made Easy: Worried that you’ll get lost in an infinite doc loop? Not at all. The intuitive navigation controls in Doc Assistant are designed to provide you with a fluid and efficient experience. The Doc Assistant user interface is clean and logically organized, with easy-to-access documentation links.

That's not all. We have more coming your way. Until next time, take care and stay tuned for our next edition!

Want to Know More?

Here's a video about Doc Assistant
Visit the Doc Assistant web page
Read the Doc Assistant FAQ document

For any questions or general feedback, write to docassistant.support@cadence.com.

Subscribe to receive email notifications about our latest Custom IC Design blog posts.

Happy reading!

-Priya Sriram, on behalf of the Doc Assistant Team




king

Doc Assistant A-Z: Making the Most of the Cadence Cloud-Based Help Viewer Part 3

Welcome back to the Doc Assistant A-Z blog series!

Since the launch of Doc Assistant, we've been gathering feedback and input from our customers regarding their experiences with our latest documentation viewer. My interaction with Ralf was particularly useful and interesting.

Ralf is a design engineer who works on complex schematics and intricate layouts. For each release, he is challenged with the task of verifying the tool and feature changes across multiple releases. He shared with me that he has been using Doc Assistant’s capabilities to help him achieve this.

Ralf explained that he utilizes Doc Assistant to open and compare documents from different releases side-by-side, seamlessly tracking updates across multiple releases and verifying those updates in his Cadence tools. Additionally, in Doc Assistant’s online mode, he compares documents across previous tool versions, ensuring a thorough review of any changes. Finally, he was happy to share with me that Doc Assistant features have helped him significantly reduce the time he spends on identifying such changes.

You, of course, can also achieve such productivity gains using several Doc Assistant features designed to help simplify such tasks!

In previous editions of this blog series, we looked at some key features and benefits of Doc Assistant. If you've missed these editions, I would highly recommend that you read them:

In this third installment, we're diving into some more of Doc Assistant's key capabilities.

Open Multiple Documents

Want to refer to multiple docs at the same time? That’s easy!

Open each doc on a separate tab in Doc Assistant. 

Personalized Content Recommendations

Is it a hassle to navigate through all docs each time? You don’t have to.

You can tailor your Doc Assistant preferences to match your content requirements.

PDF Support

Do you prefer downloading and reading a PDF instead of an HTML?

That’s also supported.

Quick Access to Relevant Search Results

Are you pressed for time, and yet want to run a comprehensive doc search? You’re covered.

In online mode, search runs on all available product documentation, and the results are listed from multiple sources.

Resource Links

Looking for more information about a topic you’ve just read? That’s handy.

Look out for content recommendations!

Share Content

Want to share a useful doc with the rest of your team? That’s easy.

With a single click, Doc Assistant lets you share content with one or more readers.

Submit Feedback

Your feedback is important to us. Use the Submit Feedback feature to share your comments and inputs.

To learn more about how to use the above features, check out the Doc Assistant User Guide.

These are just a few of the productivity gain features in Doc Assistant. We’ll cover more in the next blog in the series.

Want to Know More?

Here's a video about Doc Assistant
Visit the Doc Assistant web page
Read the Doc Assistant FAQ document

If you have any feedback on Doc Assistant or would like to request more information or a demo, please contact docassistant.support@cadence.com.

Subscribe to receive email notifications about our latest Custom IC Design blog posts.

Happy reading!

Priya Sriram, on behalf of the Doc Assistant Team




king

Voltus Voice: Breaking Ground with Voltus InsightAI—Swift Implementation via RAK

The blog discusses Voltus InsightAI RAK that is designed to give you an accelerated start on the execution of Voltus InsightAI flow.(read more)




king

Unlocking the Concepts of IEEE 1801 Standard for Efficient Power Management

Power efficiency is a critical factor in the fast-evolving world of semiconductor design.

The IEEE 1801 standard, also known as UPF (Unified Power Format), was developed by the IEEE to address the intricate challenges associated with power management in contemporary semiconductor designs. This standard offers a uniform framework for defining power domains, power states, and power intent, ensuring consistency across diverse tools and phases of the design process. By utilizing UPF, you can precisely model and regulate power consumption, a critical aspect for battery-operated devices, high-performance computing, and energy-efficient designs.

The key concepts of IEEE 1801 are:

  1. Power domains
  2. Power states
  3. Power gating and isolation
  4. Power switches
  5. Level shifters, isolation, and retention cells
  6. Macro model

Based on these building blocks, you write the power intent of the design.

The power intent for the design includes identifying/implementing low-power strategies that provide a clear description of the power architecture of a design.

The power definitions can effectively manage power consumption and ensure the chip meets its power and performance requirements.

You can start by creating the Power Supply Network, which defines how power is supplied to the design's various power domains and logic cells.

What's the next step to build the file? How do you understand the various concepts related to IEEE 1801? How do you complete the rest of the power intent file?

Relax!

Gear up to attend the training class created just for you to dive deep into the entire format and explore this exciting power specification method/format with hands-on labs in one day!

Training

Fundamentals of IEEE 1801 Low-Power Specification Format Training

This course is a complete tutorial for understanding the fundamentals of IEEE 1801 low-power specification format concepts. You learn about IEEE 1801 power supply networks, ground ports and nets, creating and connecting supply ports/nets, power domain, power switch, power states, defining isolation and level shifter strategies, hierarchical IEEE 1801, and various versions of the IEEE 1801. You also explore how power intent information can be used for a design across various flow stages, such as functional verification, synthesis, logic equivalency checking, place-and-route, test, timing signoff, power integrity, and so forth, using Cadence® tools.

Labs

We ensure that your learning journey is smooth with hands-on labs covering various design scenarios.

Lab Videos

Now, the exciting part is that to help you further, we have created engaging videos of the training labs. You can refer to the lab module's instructions in demo format at https://support.cadence.com.

Lab DemoChecking Power Supply Network in IEEE 1801 format and Running IEEE 1801 Quality Checks using Conformal Low Power

Lab Demo: Checking Power Intent for The Macro Connections in IEEE 1801 Format And Running IEEE 1801 Quality Checks using Conformal Low Power 

Online Class

Here is the course link.

Get ready for the most thrilling experience with Accelerated Learning!

The more you know, the faster you go!

Grab the cycle  or hike it, based on your existing knowledge.

Take the quiz and increase your learning pace!!

What's Next?

Grab your Badge after finishing the training and flaunt the expertise you have built up. 😊

Ready to take a tour of this power specification world? Let's help you enroll in this course.

We organize this training for you as a "Blended" or "Live" training. Please reach out to Cadence Training for further information. If you want to ensure you are always the first to know about anything new in training, you can use the SUBSCRIBE button on the landing page to sign up for our regular training newsletters.

Related Short Training Bytes/Videos

Enhance the learning experience with short videos:

Genus Synthesis Solution: Video Library

 Joules RTL Power Solution: Video Library

Related Training

 Low-Power Synthesis Flow with Genus Synthesis Solution

Genus Low-Power Synthesis Flow with IEEE 1801

Related Blogs

It's the Digital Era; Why Not Showcase Your Brand Through a Digital Badge! - Digital Design - Cadence Blogs - Cadence Community

Relax in Summer with Cooler IC chips and Ice-Cream! Do you want to Explore the Recipe? - Digital Design - Cadence Blogs - Cadence Community

Power Is HOT and Touches Everything and Everybody! But the Challenge Is To Deal With Low Power During Design Synthesis; How? - Digital Design - Cadence Blogs - Cadence Community

Binge on Chip Design Concepts this Weekend! - Digital Design - Cadence Blogs - Cadence Community




king

Fintech Locations of the Future 2019/20: London tops first ranking

London has been named fDi’s inaugural Fintech Location of the Future for 2019/20, followed by Singapore and Belfast. 




king

The UK tops Europe renewable energy ranking

The UK is the Europe's leading destination for foreign investment in green energy, followed by Spain, finds fDi’s Top European Locations for Renewable Energy Investment.




king

fDi’s European Cities and Regions of the Future 2020/21 - London leads LEP ranking while Oxfordshire makes rapid rise

London LEP and Thames Valley Berkshire LEP hold on to their respective first and second places in the Local Enterprise Partnership rankings, while Oxfordshire LEP jumps up eight places to third. 




king

US tops global soft power ranking

The US has the world’s strongest soft power, while China and Russia are rising in influence, according to a recent ranking from Brand Finance.




king

Wrocław tops fDi's 2020 Return on Investment ranking

Poland’s Wrocław has turned in a stellar performance in fDi’s Return on Investment study, landing the city the top slot in the Return on Budget and Return on Personnel Investment categories. 




king

Dublin tops European HQ location rankings

The UK is the top country, but Dublin is leading city, for foreign companies setting up headquarters in Europe, according to fDi’s ranking.




king

Resetting the banking sector's moral compass

The dominant priority at major banks is the maximisation of short-term profits rather than serving the public interest

 




king

PUBNUB: Making Engaging Realtime Experiences a Reality in India

Realtime Communication is providing enterprises with an innovative way to deliver better, more cost-effective customer service.
Technology companies in India are racing towards a more connected and always-on world, making it easier, faster, safer, and more convenient for everyday people to do the things they need and achieve the things about which they dream. PubNub’s Realtime Communication Platform provides the backbone that any company can rely on to deliver engaging experiences that users love, including fast-growing companies like Swiggy, Apollo Health and others.