OpenCores
URL https://opencores.org/ocsvn/wb4pb/wb4pb/trunk

Subversion Repositories wb4pb

[/] [wb4pb/] [trunk/] [rtl/] [wbm_picoblaze.v] - Diff between revs 2 and 10

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 2 Rev 10
Line 64... Line 64...
  wire  rst;
  wire  rst;
  input clk;
  input clk;
  wire  clk;
  wire  clk;
 
 
  output wbm_cyc_o;
  output wbm_cyc_o;
  reg    wbm_cyc_o;
  wire   wbm_cyc_o;
  output wbm_stb_o;
  output wbm_stb_o;
  reg    wbm_stb_o;
  reg    wbm_stb_o;
  output wbm_we_o;
  output wbm_we_o;
  reg    wbm_we_o;
  reg    wbm_we_o;
  output[7:0] wbm_adr_o;
  output[7:0] wbm_adr_o;
Line 101... Line 101...
    S_SOFTWARE_HANDSHAKE = 2'b10,
    S_SOFTWARE_HANDSHAKE = 2'b10,
    S_SOFTWARE_READ = 2'b11
    S_SOFTWARE_READ = 2'b11
  ;
  ;
  reg[1:0] state;
  reg[1:0] state;
 
 
  always@(wbm_stb_o) wbm_cyc_o = wbm_stb_o;
  assign wbm_cyc_o = wbm_stb_o;
 
 
  always@(posedge clk) begin
  always@(posedge clk) begin
 
 
    case(state)
    case(state)
      S_IDLE:
      S_IDLE:
Line 131... Line 131...
          pb_in_port_o <= WB_ACK_FLAG;
          pb_in_port_o <= WB_ACK_FLAG;
          state <= S_SOFTWARE_HANDSHAKE;
          state <= S_SOFTWARE_HANDSHAKE;
        end
        end
      S_SOFTWARE_HANDSHAKE:
      S_SOFTWARE_HANDSHAKE:
        // software recognition of wishbone handshake
        // software recognition of wishbone handshake
        if (pb_read_strobe_i) begin
        if (pb_read_strobe_i)
          // transfer complete for a write access
          // transfer complete for a write access
          if (wbm_we_o) begin
          if (wbm_we_o) begin
            pb_in_port_o <= 8'h00;
            pb_in_port_o <= 8'h00;
            state <= S_IDLE;
            state <= S_IDLE;
          // presenting valid wishbone data to PicoBlaze (TM) port in read 
          // presenting valid wishbone data to PicoBlaze (TM) port in read 
          // access
          // access
          end else begin
          end else begin
            pb_in_port_o <= wb_buffer;
            pb_in_port_o <= wb_buffer;
            state <= S_SOFTWARE_READ;
            state <= S_SOFTWARE_READ;
          end
          end
        end
 
      S_SOFTWARE_READ:
      S_SOFTWARE_READ:
        // transfer complete for a read access after software recognition of
        // transfer complete for a read access after software recognition of
        // wishbone data
        // wishbone data
        if (pb_read_strobe_i) begin
        if (pb_read_strobe_i) begin
          pb_in_port_o <= 8'h00;
          pb_in_port_o <= 8'h00;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.