⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chip8051.vhd

📁 VHDL版的C8051核(C8051).evatronix公司的IP核
💻 VHD
📖 第 1 页 / 共 2 页
字号:
      -----------------------------------------------------------------
      -- C8051 core
      -----------------------------------------------------------------
      U_C8051 : C8051
            port map (
                     clk          => xtal1,
                     reset        => reset,
                     ea           => ea,
                     p0i          => p0drv,
                     p1i          => p1drv,
                     p2i          => p2drv,
                     p3i          => p3drv,
                     psen         => psen,
                     ale          => ale,
                     debugreq     => debugreq,
                     debugstep    => debugstep,
                     debugprog    => debugprog,
                     debugack     => debugack,
                     flush        => flush,
                     fetch        => fetch,
                     acc          => acc,
                     p0o          => p0drn,
                     p1o          => p1drn,
                     p2o          => p2drn,
                     p3o          => p3drn,
                     romdatai     => romdatai,
                     romaddr      => romaddr(ROMSIZE-1 downto 0),
                     romoe        => romoe,
                     ramdatai     => ramdatai,
                     ramdatao     => ramdatao,
                     ramaddr      => ramaddr(RAMSIZE-1 downto 0),
                     ramwe        => ramwe,
                     ramoe        => ramoe,
                     sfrdatai     => sfrdatai,
                     sfrdatao     => sfrdatao,
                     sfraddr      => sfraddr,
                     sfrwe        => sfrwe,
                     sfroe        => sfroe
                     );
   
   
      -----------------------------------------------------------------
      -- On-chip Open Drain buffer for Port 0
      -----------------------------------------------------------------
      U_CHIP_DRAIN_0 : INTERNAL_OPEN_DRAIN
            generic map(
                       WIDTH      => 8
                       )
            port map(
                    input         => p0drn,
                    output        => p0
                    );
   
   
      -----------------------------------------------------------------
      -- On-chip Open Drain buffer for Port 1
      -----------------------------------------------------------------
      U_CHIP_DRAIN_1 : INTERNAL_OPEN_DRAIN
            generic map(
                       WIDTH      => 8
                       )
            port map(
                    input         => p1drn,
                    output        => p1
                    );
   
   
      -----------------------------------------------------------------
      -- On-chip Open Drain buffer for Port 2
      -----------------------------------------------------------------
      U_CHIP_DRAIN_2 : INTERNAL_OPEN_DRAIN
            generic map(
                       WIDTH      => 8
                       )
            port map(
                    input         => p2drn,
                    output        => p2
                    );
   
   
      -----------------------------------------------------------------
      -- On-chip Open Drain buffer for Port 3
      -----------------------------------------------------------------
      U_CHIP_DRAIN_3 : INTERNAL_OPEN_DRAIN
            generic map(
                       WIDTH      => 8
                       )
            port map(
                    input         => p3drn,
                    output        => p3
                    );
   
   
      -----------------------------------------------------------------
      -- On-chip Data Memory unit
      -----------------------------------------------------------------
      U_CHIP_RAM : INTERNAL_DATA_MEMORY
            generic map(
                       DATAWIDTH  => 8,
                       ADDRWIDTH  => RAMSIZE
                       )
            port map(
                    addrbus       => ramaddr(RAMSIZE-1 downto 0),
                    rd            => ramoe,
                    wr            => ramwe,
                    databusi      => ramdatao(7 downto 0),
                    databuso      => ramdatai(7 downto 0)
                    ); 
   
   
      -----------------------------------------------------------------
      -- On-chip Program Memory unit
      -----------------------------------------------------------------
      U_CHIP_ROM : INTERNAL_PROGRAM_MEMORY
            generic map(
                       DATAWIDTH  => 8,
                       ADDRWIDTH  => ROMSIZE,
                       ROMFILE    => ROMFILE,
                       FILEPATH   => FILEPATH
                       )
            port map(
                    addrbus       => romaddr(ROMSIZE-1 downto 0),
                    rd            => romoe,
                    databus       => romdatai
                    ); 
   
   
      -----------------------------------------------------------------
      -- On-chip Special Function Register
      -----------------------------------------------------------------
      U_CHIP_SFR_DD : SPECIAL_FUNCTION_REGISTER
            generic map (
              SFR_ID    => "1011101",
              SFR_RV    => "11111111"
              )
            port map(
                    clk          => xtal1,
                    reset        => reset,
                    sfraddr      => sfraddr,
                    sfrwe        => sfrwe,
                    sfroe        => sfroe,
                    sfrdatai     => sfrdatao,
                    sfrdatao     => sfrdatai
                    );
   
   
      -----------------------------------------------------------------
      -- On-chip Special Function Register
      -----------------------------------------------------------------
      U_CHIP_SFR_EE : SPECIAL_FUNCTION_REGISTER
            generic map (
              SFR_ID    => "1101110",
              SFR_RV    => "11111111"
              )
            port map(
                    clk          => xtal1,
                    reset        => reset,
                    sfraddr      => sfraddr,
                    sfrwe        => sfrwe,
                    sfroe        => sfroe,
                    sfrdatai     => sfrdatao,
                    sfrdatao     => sfrdatai
                    );
                    
      -----------------------------------------------------------------
      -- On-Chip Instrumentation
      -----------------------------------------------------------------
      U_CHIP_OCI : CHIP_OCI
            port map(
                    clk          => xtal1,
                    rst          => reset,
                    addrbus      => romaddr(ROMSIZE-1 downto 0),
                    databusi     => romdatai,
                    romoe        => romoe,
                    --databuso     =>
                    ramaddr      => ramaddr(RAMSIZE-1 downto 0),
                    ramdatai     => ramdatai,
                    ramdatao     => ramdatao,
                    ramwe        => ramwe,
                    ramoe        => ramoe,
                    sfraddr      => sfraddr,
                    sfrdatai     => sfrdatai,
                    sfrdatao     => sfrdatao,
                    sfrwe        => sfrwe,
                    sfroe        => sfroe,
                    accreg       => acc,
                    fetch        => fetch,
                    flush        => flush,
                    debugack     => debugack,
                    debugreq     => debugreq,
                    debugstep    => debugstep,
                    debugprog    => debugprog
                    );


   
   
   end STRUCTURAL;

--*******************************************************************--

   -- pragma translation_off
   configuration CHIP_C8051_STRUCTURE of CHIP_C8051 is
      for STRUCTURAL
      
      -----------------------------------------------------------------
      -- C8051 core
      -----------------------------------------------------------------
      for U_C8051 : C8051
      use configuration C8051_LIB.C8051_STRUCTURE;
      end for;
      
      -----------------------------------------------------------------
      -- On-chip Open Drain buffer for Port 0
      -----------------------------------------------------------------
      for U_CHIP_DRAIN_0 : INTERNAL_OPEN_DRAIN
      use entity C8051_LIB.INTERNAL_OPEN_DRAIN(SIM);
      end for;
      
      -----------------------------------------------------------------
      -- On-chip Open Drain buffer for Port 1
      -----------------------------------------------------------------
      for U_CHIP_DRAIN_1 : INTERNAL_OPEN_DRAIN
      use entity C8051_LIB.INTERNAL_OPEN_DRAIN(SIM);
      end for;
      
      -----------------------------------------------------------------
      -- On-chip Open Drain buffer for Port 2
      -----------------------------------------------------------------
      for U_CHIP_DRAIN_2 : INTERNAL_OPEN_DRAIN
      use entity C8051_LIB.INTERNAL_OPEN_DRAIN(SIM);
      end for;
      
      -----------------------------------------------------------------
      -- On-chip Open Drain buffer for Port 3
      -----------------------------------------------------------------
      for U_CHIP_DRAIN_3 : INTERNAL_OPEN_DRAIN
      use entity C8051_LIB.INTERNAL_OPEN_DRAIN(SIM);
      end for;
      
      -----------------------------------------------------------------
      -- On-chip Data Memory unit
      -----------------------------------------------------------------
      for U_CHIP_RAM : INTERNAL_DATA_MEMORY
      use entity C8051_LIB.INTERNAL_DATA_MEMORY(SIM);
      end for;
      
      -----------------------------------------------------------------
      -- On-chip Program Memory unit
      -----------------------------------------------------------------
      for U_CHIP_ROM : INTERNAL_PROGRAM_MEMORY
      use entity C8051_LIB.INTERNAL_PROGRAM_MEMORY(SIM);
      end for;
      
      -----------------------------------------------------------------
      -- On-chip Special Function Register
      -----------------------------------------------------------------
      for U_CHIP_SFR_DD : SPECIAL_FUNCTION_REGISTER
      use entity C8051_LIB.SPECIAL_FUNCTION_REGISTER(RTL);
      end for;
      
      -----------------------------------------------------------------
      -- On-chip Special Function Register
      -----------------------------------------------------------------
      for U_CHIP_SFR_EE : SPECIAL_FUNCTION_REGISTER
      use entity C8051_LIB.SPECIAL_FUNCTION_REGISTER(RTL);
      end for;

      end for;
   end CHIP_C8051_STRUCTURE;
   -- pragma translation_on

--*******************************************************************--

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -