LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: "Jerzy G" <furia1024@w...>
    Date: Fri, 20 Jun 2003 12:06:43 +0200
    Subject: Odp: [oc] vhdl question
    Top

    Hello
    
    > start <= '1' when read='1' and addr(7 downto 0)="11111111" 
    else '0';
    > 
    > Now what happens here is that read goes high only for one 
    clock cycle and hence so does start. How can I make start stay 
    high for 2 or more clock cycles and then go low ? 
    
    There are some solves, one of them is:
    use FF and OR input and output.
    
    Example:
    -----------------------------------------------
    start <= '1' when read='1' and addr(7 downto 0)="11111111" 
    else '0';
    
    P1: process(CLK)
        begin
           if (CLK'event and CLK = '1') then
               start_1 <= start;
           end if;
        end process;
    
    -- here is 2 clks wide signal:
    
       start_2 <= start OR start_1;
    
    -------------------------------------------------
    If You want wider, use more FFs and OR all outputs and input.
    
    Jerzy Gbur
    
    
    --
    "Everything is simple until it'll be comprehensible" - furia
    
    ---------------------------------------------------
    Szukasz wyjazdu wakacyjnego? Sprawdź nasze oferty!
    Nowy serwis w WP http://oferty.wp.pl/wakacje.shtml
    
    
    
    
    
    

    ReferenceAuthor
    [oc] vhdl questionSaumil Merchant

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.