URL
https://opencores.org/ocsvn/funbase_ip_library/funbase_ip_library/trunk
Subversion Repositories funbase_ip_library
Compare Revisions
- This comparison shows the changes necessary to convert path
/funbase_ip_library/trunk
- from Rev 88 to Rev 89
- ↔ Reverse comparison
Rev 88 → Rev 89
/TUT/ip.hwp.interface/switch_pkt_codec_mk2/1.0/vhd/switch_pkt_codec_mk2.vhd
6,11 → 6,11
-- Author : Lasse Lehtonen |
-- Company : |
-- Created : 2011-11-09 |
-- Last update: 2011-11-21 |
-- Last update: 2011-12-02 |
-- Platform : |
-- Standard : VHDL'87 |
------------------------------------------------------------------------------- |
-- Description: |
-- Description: Sends a constant addr+data pair every time a switch is toggled. |
------------------------------------------------------------------------------- |
-- Copyright (c) 2011 |
------------------------------------------------------------------------------- |
57,20 → 57,25
cmd_in : in std_logic_vector(1 downto 0); |
data_in : in std_logic_vector(31 downto 0); |
stall_out : out std_logic; |
|
cmd_out : out std_logic_vector(1 downto 0); |
data_out : out std_logic_vector(31 downto 0); |
stall_in : in std_logic; |
switch_in : in std_logic); |
|
switch_in : in std_logic |
); |
|
end switch_pkt_codec_mk2; |
|
|
architecture rtl of switch_pkt_codec_mk2 is |
|
-- Signals for edge detection |
signal switch1_r : std_logic; |
signal switch2_r : std_logic; |
signal switch3_r : std_logic; |
|
-- State machine |
type fsm_type is (idle, cmd, data); |
signal state_r : fsm_type; |
|
78,7 → 83,9
|
stall_out <= '0'; |
|
|
-- |
-- Simple state machine loops over 3 states |
-- |
main_p : process (clk, rst_n) |
begin -- process main_p |
if rst_n = '0' then -- asynchronous reset (active low) |
/TUT/ip.hwp.interface/switch_pkt_codec_mk2/1.0/ip_xact/switch_pkt_codec_mk2.1.0.xml
0,0 → 1,385
<?xml version="1.0" encoding="UTF-8"?> |
<!--Created by Kactus 2 document generator 14:58:11 02.12.2011--> |
<spirit:component xmlns:kactus2="http://funbase.cs.tut.fi/" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5 http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5/index.xsd"> |
<spirit:vendor>TUT</spirit:vendor> |
<spirit:library>ip.hwp.interface</spirit:library> |
<spirit:name>switch_pkt_codec_mk2</spirit:name> |
<spirit:version>1.0</spirit:version> |
<spirit:busInterfaces> |
<spirit:busInterface> |
<spirit:name>clock</spirit:name> |
<spirit:busType spirit:vendor="TUT" spirit:library="ip.hwp.interface" spirit:name="clock.busdef" spirit:version="1.0"/> |
<spirit:abstractionType spirit:vendor="TUT" spirit:library="ip.hwp.interface" spirit:name="clock.absDef" spirit:version="1.0"/> |
<spirit:slave/> |
<spirit:connectionRequired>false</spirit:connectionRequired> |
<spirit:portMaps> |
<spirit:portMap> |
<spirit:logicalPort> |
<spirit:name>CLK</spirit:name> |
<spirit:vector> |
<spirit:left>0</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:logicalPort> |
<spirit:physicalPort> |
<spirit:name>clk</spirit:name> |
<spirit:vector> |
<spirit:left>0</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:physicalPort> |
</spirit:portMap> |
</spirit:portMaps> |
<spirit:bitsInLau>8</spirit:bitsInLau> |
<spirit:endianness>little</spirit:endianness> |
</spirit:busInterface> |
<spirit:busInterface> |
<spirit:name>pkt_codec_mk2</spirit:name> |
<spirit:busType spirit:vendor="TUT" spirit:library="ip.hwp.communication" spirit:name="pkt_codec_mk2" spirit:version="1.0"/> |
<spirit:abstractionType spirit:vendor="TUT" spirit:library="ip.hwp.communication" spirit:name="pkt_codec_mk2.absDef" spirit:version="1.0"/> |
<spirit:mirroredMaster/> |
<spirit:connectionRequired>false</spirit:connectionRequired> |
<spirit:portMaps> |
<spirit:portMap> |
<spirit:logicalPort> |
<spirit:name>STALL_IN</spirit:name> |
<spirit:vector> |
<spirit:left>0</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:logicalPort> |
<spirit:physicalPort> |
<spirit:name>stall_out</spirit:name> |
<spirit:vector> |
<spirit:left>0</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:physicalPort> |
</spirit:portMap> |
<spirit:portMap> |
<spirit:logicalPort> |
<spirit:name>DATA_OUT</spirit:name> |
<spirit:vector> |
<spirit:left>31</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:logicalPort> |
<spirit:physicalPort> |
<spirit:name>data_in</spirit:name> |
<spirit:vector> |
<spirit:left>31</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:physicalPort> |
</spirit:portMap> |
<spirit:portMap> |
<spirit:logicalPort> |
<spirit:name>CMD_OUT</spirit:name> |
<spirit:vector> |
<spirit:left>1</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:logicalPort> |
<spirit:physicalPort> |
<spirit:name>cmd_in</spirit:name> |
<spirit:vector> |
<spirit:left>1</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:physicalPort> |
</spirit:portMap> |
<spirit:portMap> |
<spirit:logicalPort> |
<spirit:name>STALL_OUT</spirit:name> |
<spirit:vector> |
<spirit:left>0</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:logicalPort> |
<spirit:physicalPort> |
<spirit:name>stall_in</spirit:name> |
<spirit:vector> |
<spirit:left>0</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:physicalPort> |
</spirit:portMap> |
<spirit:portMap> |
<spirit:logicalPort> |
<spirit:name>DATA_IN</spirit:name> |
<spirit:vector> |
<spirit:left>31</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:logicalPort> |
<spirit:physicalPort> |
<spirit:name>data_out</spirit:name> |
<spirit:vector> |
<spirit:left>31</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:physicalPort> |
</spirit:portMap> |
<spirit:portMap> |
<spirit:logicalPort> |
<spirit:name>CMD_IN</spirit:name> |
<spirit:vector> |
<spirit:left>1</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:logicalPort> |
<spirit:physicalPort> |
<spirit:name>cmd_out</spirit:name> |
<spirit:vector> |
<spirit:left>1</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:physicalPort> |
</spirit:portMap> |
</spirit:portMaps> |
<spirit:bitsInLau>8</spirit:bitsInLau> |
<spirit:endianness>little</spirit:endianness> |
</spirit:busInterface> |
<spirit:busInterface> |
<spirit:name>reset</spirit:name> |
<spirit:busType spirit:vendor="TUT" spirit:library="ip.hwp.interface" spirit:name="reset.busdef" spirit:version="1.0"/> |
<spirit:abstractionType spirit:vendor="TUT" spirit:library="ip.hwp.interface" spirit:name="reset.absDef" spirit:version="1.0"/> |
<spirit:slave/> |
<spirit:connectionRequired>false</spirit:connectionRequired> |
<spirit:portMaps> |
<spirit:portMap> |
<spirit:logicalPort> |
<spirit:name>RESETn</spirit:name> |
<spirit:vector> |
<spirit:left>0</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:logicalPort> |
<spirit:physicalPort> |
<spirit:name>rst_n</spirit:name> |
<spirit:vector> |
<spirit:left>0</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:physicalPort> |
</spirit:portMap> |
</spirit:portMaps> |
<spirit:bitsInLau>8</spirit:bitsInLau> |
<spirit:endianness>little</spirit:endianness> |
</spirit:busInterface> |
<spirit:busInterface> |
<spirit:name>switch</spirit:name> |
<spirit:busType spirit:vendor="TUT" spirit:library="ip.hwp.interface" spirit:name="gpio_1bit" spirit:version="1.0"/> |
<spirit:abstractionType spirit:vendor="TUT" spirit:library="ip.hwp.interface" spirit:name="gpio_1bit.absDef" spirit:version="1.0"/> |
<spirit:mirroredMaster/> |
<spirit:connectionRequired>false</spirit:connectionRequired> |
<spirit:portMaps> |
<spirit:portMap> |
<spirit:logicalPort> |
<spirit:name>gpio_out</spirit:name> |
<spirit:vector> |
<spirit:left>0</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:logicalPort> |
<spirit:physicalPort> |
<spirit:name>switch_in</spirit:name> |
<spirit:vector> |
<spirit:left>0</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
</spirit:physicalPort> |
</spirit:portMap> |
</spirit:portMaps> |
<spirit:bitsInLau>8</spirit:bitsInLau> |
<spirit:endianness>little</spirit:endianness> |
</spirit:busInterface> |
</spirit:busInterfaces> |
<spirit:model> |
<spirit:views> |
<spirit:view> |
<spirit:name>hdl</spirit:name> |
<spirit:envIdentifier>VHDL::</spirit:envIdentifier> |
<spirit:fileSetRef> |
<spirit:localName>HDLsource</spirit:localName> |
</spirit:fileSetRef> |
</spirit:view> |
</spirit:views> |
<spirit:ports> |
<spirit:port> |
<spirit:name>clk</spirit:name> |
<spirit:wire spirit:allLogicalDirectionsAllowed="false"> |
<spirit:direction>in</spirit:direction> |
<spirit:vector> |
<spirit:left>0</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
<spirit:wireTypeDefs> |
<spirit:wireTypeDef> |
<spirit:typeName spirit:constrained="false">std_logic</spirit:typeName> |
<spirit:typeDefinition>IEEE.std_logic_1164.all</spirit:typeDefinition> |
<spirit:viewNameRef>hdl</spirit:viewNameRef> |
</spirit:wireTypeDef> |
</spirit:wireTypeDefs> |
</spirit:wire> |
</spirit:port> |
<spirit:port> |
<spirit:name>cmd_in</spirit:name> |
<spirit:wire spirit:allLogicalDirectionsAllowed="false"> |
<spirit:direction>in</spirit:direction> |
<spirit:vector> |
<spirit:left>1</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
<spirit:wireTypeDefs> |
<spirit:wireTypeDef> |
<spirit:typeName spirit:constrained="false">std_logic_vector</spirit:typeName> |
<spirit:typeDefinition>IEEE.std_logic_1164.all</spirit:typeDefinition> |
<spirit:viewNameRef>hdl</spirit:viewNameRef> |
</spirit:wireTypeDef> |
</spirit:wireTypeDefs> |
</spirit:wire> |
</spirit:port> |
<spirit:port> |
<spirit:name>cmd_out</spirit:name> |
<spirit:wire spirit:allLogicalDirectionsAllowed="false"> |
<spirit:direction>out</spirit:direction> |
<spirit:vector> |
<spirit:left>1</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
<spirit:wireTypeDefs> |
<spirit:wireTypeDef> |
<spirit:typeName spirit:constrained="false">std_logic_vector</spirit:typeName> |
<spirit:typeDefinition>IEEE.std_logic_1164.all</spirit:typeDefinition> |
<spirit:viewNameRef>hdl</spirit:viewNameRef> |
</spirit:wireTypeDef> |
</spirit:wireTypeDefs> |
</spirit:wire> |
</spirit:port> |
<spirit:port> |
<spirit:name>data_in</spirit:name> |
<spirit:wire spirit:allLogicalDirectionsAllowed="false"> |
<spirit:direction>in</spirit:direction> |
<spirit:vector> |
<spirit:left>31</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
<spirit:wireTypeDefs> |
<spirit:wireTypeDef> |
<spirit:typeName spirit:constrained="false">std_logic_vector</spirit:typeName> |
<spirit:typeDefinition>IEEE.std_logic_1164.all</spirit:typeDefinition> |
<spirit:viewNameRef>hdl</spirit:viewNameRef> |
</spirit:wireTypeDef> |
</spirit:wireTypeDefs> |
</spirit:wire> |
</spirit:port> |
<spirit:port> |
<spirit:name>data_out</spirit:name> |
<spirit:wire spirit:allLogicalDirectionsAllowed="false"> |
<spirit:direction>out</spirit:direction> |
<spirit:vector> |
<spirit:left>31</spirit:left> |
<spirit:right>0</spirit:right> |
</spirit:vector> |
<spirit:wireTypeDefs> |
<spirit:wireTypeDef> |
<spirit:typeName spirit:constrained="false">std_logic_vector</spirit:typeName> |
<spirit:typeDefinition>IEEE.std_logic_1164.all</spirit:typeDefinition> |
<spirit:viewNameRef>hdl</spirit:viewNameRef> |
</spirit:wireTypeDef> |
</spirit:wireTypeDefs> |
</spirit:wire> |
</spirit:port> |
<spirit:port> |
<spirit:name>rst_n</spirit:name> |
<spirit:wire spirit:allLogicalDirectionsAllowed="false"> |
<spirit:direction>in</spirit:direction> |
<spirit:wireTypeDefs> |
<spirit:wireTypeDef> |
<spirit:typeName spirit:constrained="false">std_logic</spirit:typeName> |
<spirit:typeDefinition>IEEE.std_logic_1164.all</spirit:typeDefinition> |
<spirit:viewNameRef>hdl</spirit:viewNameRef> |
</spirit:wireTypeDef> |
</spirit:wireTypeDefs> |
</spirit:wire> |
</spirit:port> |
<spirit:port> |
<spirit:name>stall_in</spirit:name> |
<spirit:wire spirit:allLogicalDirectionsAllowed="false"> |
<spirit:direction>in</spirit:direction> |
<spirit:wireTypeDefs> |
<spirit:wireTypeDef> |
<spirit:typeName spirit:constrained="false">std_logic</spirit:typeName> |
<spirit:typeDefinition>IEEE.std_logic_1164.all</spirit:typeDefinition> |
<spirit:viewNameRef>hdl</spirit:viewNameRef> |
</spirit:wireTypeDef> |
</spirit:wireTypeDefs> |
</spirit:wire> |
</spirit:port> |
<spirit:port> |
<spirit:name>stall_out</spirit:name> |
<spirit:wire spirit:allLogicalDirectionsAllowed="false"> |
<spirit:direction>out</spirit:direction> |
<spirit:wireTypeDefs> |
<spirit:wireTypeDef> |
<spirit:typeName spirit:constrained="false">std_logic</spirit:typeName> |
<spirit:typeDefinition>IEEE.std_logic_1164.all</spirit:typeDefinition> |
<spirit:viewNameRef>hdl</spirit:viewNameRef> |
</spirit:wireTypeDef> |
</spirit:wireTypeDefs> |
</spirit:wire> |
</spirit:port> |
<spirit:port> |
<spirit:name>switch_in</spirit:name> |
<spirit:wire spirit:allLogicalDirectionsAllowed="false"> |
<spirit:direction>in</spirit:direction> |
<spirit:wireTypeDefs> |
<spirit:wireTypeDef> |
<spirit:typeName spirit:constrained="false">std_logic</spirit:typeName> |
<spirit:typeDefinition>IEEE.std_logic_1164.all</spirit:typeDefinition> |
<spirit:viewNameRef>hdl</spirit:viewNameRef> |
</spirit:wireTypeDef> |
</spirit:wireTypeDefs> |
</spirit:wire> |
</spirit:port> |
</spirit:ports> |
<spirit:modelParameters> |
<spirit:modelParameter spirit:dataType="integer" spirit:usageType="typed"> |
<spirit:name>target_id_g</spirit:name> |
<spirit:description>target_id in the noc</spirit:description> |
<spirit:value>0</spirit:value> |
</spirit:modelParameter> |
</spirit:modelParameters> |
</spirit:model> |
<spirit:fileSets> |
<spirit:fileSet> |
<spirit:name>HDLsource</spirit:name> |
<spirit:file> |
<spirit:name>../vhd/switch_pkt_codec_mk2.vhd</spirit:name> |
<spirit:fileType>vhdlSource</spirit:fileType> |
<spirit:isIncludeFile spirit:externalDeclarations="false">false</spirit:isIncludeFile> |
<spirit:logicalName spirit:default="false">work</spirit:logicalName> |
<spirit:buildCommand> |
<spirit:replaceDefaultFlags>false</spirit:replaceDefaultFlags> |
</spirit:buildCommand> |
</spirit:file> |
<spirit:defaultFileBuilder> |
<spirit:fileType>vhdlSource</spirit:fileType> |
<spirit:command>vcom</spirit:command> |
<spirit:flags>-quiet -check_synthesis</spirit:flags> |
<spirit:replaceDefaultFlags>false</spirit:replaceDefaultFlags> |
</spirit:defaultFileBuilder> |
</spirit:fileSet> |
</spirit:fileSets> |
<spirit:description>Sends a constant addr+data pair every time a switch is toggled.</spirit:description> |
<spirit:vendorExtensions> |
<kactus2:extensions> |
<kactus2:kts_attributes> |
<kactus2:kts_productHier>IP</kactus2:kts_productHier> |
<kactus2:kts_implementation>HW</kactus2:kts_implementation> |
<kactus2:kts_firmness>Fixed</kactus2:kts_firmness> |
</kactus2:kts_attributes> |
</kactus2:extensions> |
</spirit:vendorExtensions> |
</spirit:component> |