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

Subversion Repositories gecko3

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /gecko3/trunk/GECKO3COM/gecko3com-ip
    from Rev 27 to Rev 28
    Reverse comparison

Rev 27 → Rev 28

/core/GECKO3COM_simple_prototype.ise Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
/core/GECKO3COM_simple.xise
19,7 → 19,6
<association xil_pn:name="BehavioralSimulation"/>
<association xil_pn:name="Implementation"/>
</file>
<file xil_pn:name="coregenerator/coregenerator_fifo_dualclock.xco" xil_pn:type="FILE_COREGEN"/>
<file xil_pn:name="fifo_dualclock.vhd" xil_pn:type="FILE_VHDL">
<association xil_pn:name="BehavioralSimulation"/>
<association xil_pn:name="Implementation"/>
46,9 → 45,6
<association xil_pn:name="PostMapSimulation"/>
<association xil_pn:name="PostTranslateSimulation"/>
</file>
<file xil_pn:name="gecko3com_test_chipscope.cdc" xil_pn:type="FILE_CDC">
<association xil_pn:name="Implementation"/>
</file>
<file xil_pn:name="GECKO3COM_simple.vhd" xil_pn:type="FILE_VHDL">
<association xil_pn:name="BehavioralSimulation"/>
<association xil_pn:name="Implementation"/>
81,10 → 77,19
<association xil_pn:name="BehavioralSimulation"/>
<association xil_pn:name="Implementation"/>
</file>
<file xil_pn:name="coregenerator/coregenerator_fifo_dualclock.xco" xil_pn:type="FILE_COREGEN">
<association xil_pn:name="BehavioralSimulation"/>
<association xil_pn:name="Implementation"/>
</file>
<file xil_pn:name="GECKO3COM_simple_test.ucf" xil_pn:type="FILE_UCF">
<association xil_pn:name="Implementation"/>
</file>
<file xil_pn:name="GECKO3COM_simple_test.cdc" xil_pn:type="FILE_CDC">
<association xil_pn:name="Implementation"/>
</file>
<file xil_pn:name="GECKO3main_v1.ucf" xil_pn:type="FILE_UCF">
<association xil_pn:name="Implementation"/>
</file>
<file xil_pn:name="coregenerator/coregenerator_fifo_dualclock.ise" xil_pn:type="FILE_COREGENISE"/>
<file xil_pn:name="coregenerator/coregenerator_fifo_receive.ise" xil_pn:type="FILE_COREGENISE">
<association xil_pn:name="Implementation"/>
</file>
91,6 → 96,9
<file xil_pn:name="coregenerator/coregenerator_fifo_send.ise" xil_pn:type="FILE_COREGENISE">
<association xil_pn:name="Implementation"/>
</file>
<file xil_pn:name="coregenerator/coregenerator_fifo_dualclock.ise" xil_pn:type="FILE_COREGENISE">
<association xil_pn:name="Implementation"/>
</file>
</files>
 
<properties>
102,25 → 110,43
<property xil_pn:name="Device" xil_pn:value="xc3s4000"/>
<property xil_pn:name="Device Family" xil_pn:value="Spartan3"/>
<property xil_pn:name="Editor" xil_pn:value="Custom"/>
<property xil_pn:name="Extra Effort" xil_pn:value="Normal" xil_pn:x_locked="true"/>
<property xil_pn:name="Extra Effort (Highest PAR level only)" xil_pn:value="Normal" xil_pn:x_locked="true"/>
<property xil_pn:name="Fitter Report Format" xil_pn:value="HTML"/>
<property xil_pn:name="Functional Model Target Language Coregen" xil_pn:value="VHDL"/>
<property xil_pn:name="Implementation Top" xil_pn:value="Architecture|gpif_com_test|behaviour"/>
<property xil_pn:name="Implementation Top Instance Path" xil_pn:value="/gpif_com_test"/>
<property xil_pn:name="Implementation Top" xil_pn:value="Architecture|GECKO3COM_simple_test|behavour"/>
<property xil_pn:name="Implementation Top Instance Path" xil_pn:value="/GECKO3COM_simple_test"/>
<property xil_pn:name="Keep Hierarchy" xil_pn:value="Soft"/>
<property xil_pn:name="Last Applied Goal" xil_pn:value="Timing Performance"/>
<property xil_pn:name="Last Applied Strategy" xil_pn:value="Performance without IOB Packing;/home/chrigi/bin/11.1/ISE/spartan3/data/spartan3_performance_without_iobpacking.xds"/>
<property xil_pn:name="Map Effort Level" xil_pn:value="High" xil_pn:x_locked="true"/>
<property xil_pn:name="Optimization Effort" xil_pn:value="High" xil_pn:x_locked="true"/>
<property xil_pn:name="Optimization Goal" xil_pn:value="Speed" xil_pn:x_locked="true"/>
<property xil_pn:name="Optimization Strategy (Cover Mode)" xil_pn:value="Speed"/>
<property xil_pn:name="Overwrite Compiled Libraries" xil_pn:value="true"/>
<property xil_pn:name="PROP_BehavioralSimTop" xil_pn:value="Architecture|GECKO3COM_simple|Behavioral"/>
<property xil_pn:name="PROP_DesignName" xil_pn:value="usb_tmc_com"/>
<property xil_pn:name="PROP_mapSmartGuideFileName" xil_pn:value=""/>
<property xil_pn:name="PROP_parSmartGuideFileName" xil_pn:value=""/>
<property xil_pn:name="Pack I/O Registers/Latches into IOBs" xil_pn:value="For Inputs and Outputs"/>
<property xil_pn:name="Pack I/O Registers into IOBs" xil_pn:value="No" xil_pn:x_locked="true"/>
<property xil_pn:name="Pack I/O Registers/Latches into IOBs" xil_pn:value="Off" xil_pn:x_locked="true"/>
<property xil_pn:name="Package" xil_pn:value="fg676"/>
<property xil_pn:name="Perform Timing-Driven Packing" xil_pn:value="true" xil_pn:x_locked="true"/>
<property xil_pn:name="Place &amp; Route Effort Level (Overall)" xil_pn:value="High" xil_pn:x_locked="true"/>
<property xil_pn:name="Place And Route Mode" xil_pn:value="Normal Place and Route" xil_pn:x_locked="true"/>
<property xil_pn:name="Placer Effort Level (Overrides Overall Level)" xil_pn:value="High" xil_pn:x_locked="true"/>
<property xil_pn:name="Preferred Language" xil_pn:value="Verilog"/>
<property xil_pn:name="Register Balancing" xil_pn:value="Yes" xil_pn:x_locked="true"/>
<property xil_pn:name="Report Fastest Path(s) in Each Constraint" xil_pn:value="false"/>
<property xil_pn:name="Report Fastest Path(s) in Each Constraint Post Trace" xil_pn:value="false"/>
<property xil_pn:name="Report Type" xil_pn:value="Error Report"/>
<property xil_pn:name="Report Type Post Trace" xil_pn:value="Error Report"/>
<property xil_pn:name="Report Unconstrained Paths Post Trace" xil_pn:value="yes"/>
<property xil_pn:name="Router Effort Level (Overrides Overall Level)" xil_pn:value="High" xil_pn:x_locked="true"/>
<property xil_pn:name="Safe Implementation" xil_pn:value="Yes"/>
<property xil_pn:name="Selected Simulation Root Source Node Behavioral" xil_pn:value="Architecture|GECKO3COM_simple|Behavioral"/>
<property xil_pn:name="Selected Simulation Root Source Node Post-Route" xil_pn:value="Architecture|gpif_com_test_tb|simulation"/>
<property xil_pn:name="Selected Simulation Source Node" xil_pn:value="DUT"/>
<property xil_pn:name="Simulation Resolution" xil_pn:value="1 ns"/>
<property xil_pn:name="Simulation Run Time Modelsim" xil_pn:value="2000ns"/>
<property xil_pn:name="Simulator" xil_pn:value="ISim (VHDL/Verilog)"/>
127,6 → 153,7
<property xil_pn:name="Simulator Path" xil_pn:value="/opt/mentorGraphics/modeltech/bin/"/>
<property xil_pn:name="Speed Grade" xil_pn:value="-4"/>
<property xil_pn:name="Synthesis Tool" xil_pn:value="XST (VHDL/Verilog)"/>
<property xil_pn:name="Target UCF File Name" xil_pn:value="GECKO3COM_simple_test.ucf"/>
<property xil_pn:name="Top-Level Source Type" xil_pn:value="HDL"/>
<property xil_pn:name="Verbose Property Persistence" xil_pn:value="false"/>
<property xil_pn:name="iMPACT Project File" xil_pn:value="GECKO3COM.ipf"/>
133,14 → 160,15
</properties>
 
<bindings>
<binding xil_pn:location="/gpif_com_test" xil_pn:name="gecko3com_test_chipscope.cdc"/>
<binding xil_pn:location="/gpif_com_test" xil_pn:name="GECKO3main_v1.ucf"/>
<binding xil_pn:location="/gpif_com_test" xil_pn:name="GECKO3COM_simple_test.ucf"/>
<binding xil_pn:location="/GECKO3COM_simple_test" xil_pn:name="GECKO3COM_simple_test.cdc"/>
<binding xil_pn:location="/GECKO3COM_simple_test" xil_pn:name="GECKO3main_v1.ucf"/>
</bindings>
 
<libraries/>
 
<partitions>
<partition xil_pn:name="/gpif_com_test"/>
<partition xil_pn:name="/GECKO3COM_simple_test"/>
</partitions>
 
</project>
/core/GECKO3main_v1.ucf
74,10 → 74,10
 
 
# switches
net "i_mode_switch<0>" loc = "C5";
net "i_mode_switch<1>" loc = "D5";
net "i_mode_switch<2>" loc = "E5";
#net "i_mode_switch<3>" loc = "C4";
net "i_mode_switch<0>" loc = "D7";
net "i_mode_switch<1>" loc = "F7";
net "i_mode_switch<2>" loc = "C6";
#net "i_mode_switch<3>" loc = "D6";
 
# LEDs
 
/core/GECKO3COM_simple.ise Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
/core/gpif_com_fsm.vhd
91,11 → 91,13
 
type t_fsmState is (rst, idle, -- controll states
-- in com states
inRQ, inACK, inWait, inTrans, inThrot,
inThrotBreak,inThrotBreak2, inThrotEnd,
endInTrans, -- in com states
outRQ, outRQdelay, outTrans, outACK, outUSBwait,
outFIFOwait, endOutTrans); -- out com states
inThrotBreak, inThrotEnd,
endInTrans,
-- out com states
outRQ, outRQdelay, outTrans, outACK, outACKwait,
outUSBwait, outUSBwaitEnd, outFIFOwait, endOutTrans);
 
147,7 → 149,6
-- comb logic
transaction : process(pr_state, i_WRU, i_RDYU, i_U2X_FULL, i_U2X_AM_FULL,
i_X2U_EMPTY, i_X2U_FULL_IFCLK, i_EOM)
variable state_number : std_logic_vector(3 downto 0); -- debug information
begin -- process transaction
 
-- default signal values to avoid latches:
166,7 → 167,6
-- controll
 
when rst =>
state_number := x"1";
-- output signal values:
s_FIFOrst <= '1';
s_WRX <= '0';
186,7 → 186,6
end if;
when idle =>
state_number := x"2";
-- output signal values:
s_FIFOrst <= '0';
s_WRX <= '0';
209,11 → 208,10
 
-----------------------------------------------------------------------
-- in trans
when inRQ =>
state_number := x"3";
when inRQ =>
-- output signal values:
s_WRX <= '0';
s_RDYX <= '0';
s_WRX <= '0';
s_RDYX <= '0';
s_U2X_WR_EN <= '0';
o_RX <= '0';
227,7 → 225,6
end if;
 
when inACK =>
state_number := x"4";
-- output signal values:
s_WRX <= '0';
s_RDYX <= '1';
238,7 → 235,6
if i_WRU = '1' and i_RDYU = '1' then
nx_state <= rst;
elsif i_WRU = '1' then
--nx_state <= inTrans;
nx_state <= inWait;
else
nx_state <= endInTrans;
245,7 → 241,6
end if;
 
when inWait =>
state_number := x"5";
-- output signal values:
s_WRX <= '0';
s_RDYX <= '1';
256,7 → 251,6
nx_state <= inTrans;
when inTrans =>
state_number := x"6";
-- output signal values:
s_WRX <= '0';
s_RDYX <= '1';
275,7 → 269,6
end if;
 
when inThrot =>
state_number := x"7";
-- output signal values:
s_WRX <= '0';
s_RDYX <= '0';
295,7 → 288,6
end if;
 
when inThrotBreak =>
state_number := x"8";
-- this is a one clock delay to help the fx2 to see the RDYX signal.
-- output signal values:
305,23 → 297,9
o_RX <= '1';
 
-- state decisions
--nx_state <= inThrotBreak2;
nx_state <= inThrotEnd;
 
--when inThrotBreak2 =>
-- -- this is a one clock delay to help the fx2 to see the RDYX signal.
-- -- output signal values:
-- s_WRX <= '0';
-- s_RDYX <= '1';
-- s_U2X_WR_EN <= '0';
-- o_RX <= '1';
 
-- -- state decisions
-- nx_state <= inThrotEnd;
when inThrotEnd =>
state_number := x"9";
-- this is a one clock delay to help the fx2 to see the RDYX signal.
-- output signal values:
334,7 → 312,6
nx_state <= inTrans;
when endInTrans =>
state_number := x"A";
-- output signal values:
s_WRX <= '0';
s_RDYX <= '0';
347,7 → 324,6
-----------------------------------------------------------------------
-- out trans
when outRQ =>
state_number := x"B";
-- output signal values:
s_WRX <= '1';
s_RDYX <= '0';
377,8 → 353,7
nx_state <= outACK;
end if;
 
when outACK =>
state_number := x"C";
when outACK =>
-- output signal values:
s_WRX <= '1';
s_RDYX <= '0';
391,11 → 366,26
elsif i_WRU = '0' and i_RDYU = '1' then
nx_state <= outTrans;
else
nx_state <= outUSBwait;
nx_state <= outACKwait;
end if;
 
when outACKwait =>
-- output signal values:
s_WRX <= '1';
s_RDYX <= '0';
s_X2U_RD_EN <= '0';
o_TX <= '1';
 
-- state decisions
if i_WRU = '1' and i_RDYU = '1' then
nx_state <= rst;
elsif i_WRU = '0' and i_RDYU = '1' then
nx_state <= outTrans;
else
nx_state <= outACKwait;
end if;
 
when outTrans =>
state_number := x"D";
-- output signal values:
s_WRX <= '1';
s_RDYX <= '0';
413,11 → 403,10
elsif i_WRU = '0' and i_RDYU = '1' then
nx_state <= outTrans;
else
nx_state <= outUSBwait;
nx_state <= outUSBwait;
end if;
 
when outUSBwait =>
state_number := x"E";
-- output signal values:
s_WRX <= '1';
s_RDYX <= '0';
431,13 → 420,23
elsif i_X2U_EMPTY = '1' and i_EOM = '1' then
nx_state <= endOutTrans;
elsif i_WRU = '0' and i_RDYU = '1' then
nx_state <= outTrans;
nx_state <= outUSBwaitEnd;
else
nx_state <= outUSBwait;
end if;
 
when outUSBwaitEnd =>
-- output signal values:
s_WRX <= '1';
s_RDYX <= '1';
s_X2U_RD_EN <= '0';
o_TX <= '1';
s_bus_trans_dir <= writeToGPIF;
 
-- state decisions
nx_state <= outTrans;
when outFIFOwait =>
state_number := x"F";
-- output signal values:
s_WRX <= '1';
s_RDYX <= '1';
457,7 → 456,6
end if;
when endOutTrans =>
state_number := x"9";
-- output signal values:
s_RDYX <= '0';
s_WRX <= '0';
/core/GECKO3COM_simple_fsm.vhd
142,7 → 142,6
begin -- fsm
 
o_receive_fifo_wr_en <= s_receive_fifo_wr_en;
o_receive_fifo_reset <= s_receive_fifo_reset;
o_receive_transfersize_en <= s_receive_transfersize_en;
o_receive_counter_load <= s_receive_counter_load;
o_receive_counter_en <= s_receive_counter_en;
149,7 → 148,6
o_btag_reg_en <= s_btag_reg_en;
o_nbtag_reg_en <= s_nbtag_reg_en;
o_send_fifo_rd_en <= s_send_fifo_rd_en;
o_send_fifo_reset <= s_send_fifo_reset;
o_send_counter_load <= s_send_counter_load;
o_send_counter_en <= s_send_counter_en;
o_send_mux_sel <= s_send_mux_sel;
167,8 → 165,14
if (i_sysclk'event and i_sysclk = '1') then
if (i_nReset = '0') then
state <= st1_idle;
 
o_receive_fifo_reset <= '0';
o_send_fifo_reset <= '0';
else
state <= next_state;
 
o_receive_fifo_reset <= s_receive_fifo_reset;
o_send_fifo_reset <= s_send_fifo_reset;
end if;
end if;
end process;
272,9 → 276,9
s_send_counter_load <= '1';
end if;
 
if (state = st21_send_reserved and i_gpif_tx_full = '0' and
i_send_fifo_empty = '0')
or (state = st22_send_data and
if --(state = st21_send_reserved and i_gpif_tx_full = '0' and
--i_send_fifo_empty = '0')
(state = st22_send_data and
i_gpif_tx_full = '0' and
i_send_fifo_empty = '0' and
i_send_counter_zero = '0')
/core/GECKO3COM_simple_test.cdc
1,5 → 1,5
#ChipScope Core Inserter Project File Version 3.0
#Mon Feb 22 22:07:31 CET 2010
#Wed Feb 24 16:47:27 CET 2010
Project.device.designInputFile=/home/chrigi/bfh-work/GECKO3COM/gecko3com-ip/core/GECKO3COM_simple_test_cs.ngc
Project.device.designOutputFile=/home/chrigi/bfh-work/GECKO3COM/gecko3com-ip/core/GECKO3COM_simple_test_cs.ngc
Project.device.deviceFamily=6
104,35 → 104,35
Project.unit<0>.dataChannel<44>=GECKO3COM_simple_1 GECKO3COM_simple_fsm_1 state_FSM_FFd3
Project.unit<0>.dataChannel<45>=GECKO3COM_simple_1 GECKO3COM_simple_fsm_1 state_FSM_FFd4
Project.unit<0>.dataChannel<46>=GECKO3COM_simple_1 GECKO3COM_simple_fsm_1 state_FSM_FFd5
Project.unit<0>.dataChannel<47>=s_send_counter_equals_transfer_size
Project.unit<0>.dataChannel<47>=s_transfer_size_reg_en
Project.unit<0>.dataChannel<48>=s_send_transfersize_en
Project.unit<0>.dataChannel<49>=s_send_fifo_data<0>
Project.unit<0>.dataChannel<49>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<0>
Project.unit<0>.dataChannel<4>=GECKO3COM_simple_1 o_receive_end_of_message
Project.unit<0>.dataChannel<50>=s_send_fifo_data<1>
Project.unit<0>.dataChannel<51>=s_send_fifo_data<2>
Project.unit<0>.dataChannel<52>=s_send_fifo_data<3>
Project.unit<0>.dataChannel<53>=s_send_fifo_data<4>
Project.unit<0>.dataChannel<54>=s_send_fifo_data<5>
Project.unit<0>.dataChannel<55>=s_send_fifo_data<6>
Project.unit<0>.dataChannel<56>=s_send_fifo_data<7>
Project.unit<0>.dataChannel<57>=s_send_fifo_data<8>
Project.unit<0>.dataChannel<58>=s_send_fifo_data<9>
Project.unit<0>.dataChannel<59>=s_send_fifo_data<10>
Project.unit<0>.dataChannel<50>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<1>
Project.unit<0>.dataChannel<51>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<2>
Project.unit<0>.dataChannel<52>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<3>
Project.unit<0>.dataChannel<53>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<4>
Project.unit<0>.dataChannel<54>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<5>
Project.unit<0>.dataChannel<55>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<6>
Project.unit<0>.dataChannel<56>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<7>
Project.unit<0>.dataChannel<57>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<8>
Project.unit<0>.dataChannel<58>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<9>
Project.unit<0>.dataChannel<59>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<10>
Project.unit<0>.dataChannel<5>=GECKO3COM_simple_1 o_receive_fifo_empty
Project.unit<0>.dataChannel<60>=s_send_fifo_data<11>
Project.unit<0>.dataChannel<61>=s_send_fifo_data<12>
Project.unit<0>.dataChannel<62>=s_send_fifo_data<13>
Project.unit<0>.dataChannel<63>=s_send_fifo_data<14>
Project.unit<0>.dataChannel<64>=s_send_fifo_data<15>
Project.unit<0>.dataChannel<65>=s_send_fifo_data<16>
Project.unit<0>.dataChannel<66>=s_send_fifo_data<17>
Project.unit<0>.dataChannel<67>=s_send_fifo_data<18>
Project.unit<0>.dataChannel<68>=s_send_fifo_data<19>
Project.unit<0>.dataChannel<69>=s_send_fifo_data<20>
Project.unit<0>.dataChannel<60>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<11>
Project.unit<0>.dataChannel<61>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<12>
Project.unit<0>.dataChannel<62>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<13>
Project.unit<0>.dataChannel<63>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<14>
Project.unit<0>.dataChannel<64>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 s_send_fifo_data<15>
Project.unit<0>.dataChannel<65>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 i_rx_data<0>
Project.unit<0>.dataChannel<66>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 i_rx_data<1>
Project.unit<0>.dataChannel<67>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 i_rx_data<2>
Project.unit<0>.dataChannel<68>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 i_rx_data<3>
Project.unit<0>.dataChannel<69>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 i_rx_data<4>
Project.unit<0>.dataChannel<6>=GECKO3COM_simple_1 o_receive_newdata
Project.unit<0>.dataChannel<70>=s_send_fifo_data<21>
Project.unit<0>.dataChannel<71>=s_send_fifo_data<22>
Project.unit<0>.dataChannel<72>=s_send_fifo_data<23>
Project.unit<0>.dataChannel<70>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 i_rx_data<5>
Project.unit<0>.dataChannel<71>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 i_rx_data<6>
Project.unit<0>.dataChannel<72>=GECKO3COM_simple_1 GECKO3COM_simple_datapath_1 i_rx_data<7>
Project.unit<0>.dataChannel<73>=s_send_have_more_data
Project.unit<0>.dataChannel<74>=GECKO3COM_simple_1 GPIF_INTERFACE FSM_GPIF pr_state_FSM_FFd1
Project.unit<0>.dataChannel<75>=GECKO3COM_simple_1 GPIF_INTERFACE FSM_GPIF pr_state_FSM_FFd2
178,7 → 178,7
Project.unit<0>.triggerChannel<0><2>=GECKO3COM_simple_1 s_request_dev_dep_msg_in
Project.unit<0>.triggerChannel<0><3>=GECKO3COM_simple_1 s_gpif_rx_rd_en
Project.unit<0>.triggerChannel<0><4>=GECKO3COM_simple_1 s_btag_reg_en
Project.unit<0>.triggerChannel<0><5>=GECKO3COM_simple_1 s_gpif_abort
Project.unit<0>.triggerChannel<0><5>=i_RDYU_IBUF
Project.unit<0>.triggerChannel<0><6>=s_send_data_request
Project.unit<0>.triggerChannel<0><7>=s_send_fifo_full
Project.unit<0>.triggerChannel<0><8>=GECKO3COM_simple_1 i_send_fifo_wr_en
/core/GECKO3COM_simple_prototype.xise
140,8 → 140,6
<property xil_pn:name="Report Fastest Path(s) in Each Constraint" xil_pn:value="false"/>
<property xil_pn:name="Report Fastest Path(s) in Each Constraint Post Trace" xil_pn:value="false"/>
<property xil_pn:name="Report Type" xil_pn:value="Error Report"/>
<property xil_pn:name="Report Type Post Trace" xil_pn:value="Error Report"/>
<property xil_pn:name="Report Unconstrained Paths Post Trace" xil_pn:value="yes"/>
<property xil_pn:name="Router Effort Level (Overrides Overall Level)" xil_pn:value="High" xil_pn:x_locked="true"/>
<property xil_pn:name="Safe Implementation" xil_pn:value="Yes"/>
<property xil_pn:name="Selected Simulation Root Source Node Behavioral" xil_pn:value="Architecture|GECKO3COM_simple|Behavioral"/>
/core/GECKO3main_prototype.ucf
42,12 → 42,12
#net "i_SYSCLK" loc = "AA11"; # IFCLK, to test as a synchronus system
#net "i_SYSCLK" CLOCK_DEDICATED_ROUTE = FALSE; # also needed when IFCLK used as SYSCLK
net "i_SYSCLK" tnm_net = "SYSCLK";
timespec "TS_SYSCLK" = period "SYSCLK" 20.0 ns HIGH 50%; # 50 MHz system clock
timespec "TS_SYSCLK" = period "SYSCLK" 15.0 ns HIGH 50%; # 50 MHz system clock
 
net "i_IFCLK" loc = "AA11";
net "i_IFCLK" CLOCK_DEDICATED_ROUTE = FALSE;
net "i_IFCLK" tnm_net = "IFCLK";
timespec "TS_IFCLK" = period "IFCLK" 20.83 ns HIGH 50%; # 48 MHz interface clock
timespec "TS_IFCLK" = period "IFCLK" 15.0 ns HIGH 50%; # 48 MHz interface clock
 
# connection of controll bus signals
net "i_WRU" loc = "AC5";
/core/GECKO3COM_simple_test.cpj
1,9 → 1,9
#ChipScope Pro Analyzer Project File, Version 3.0
#Mon Feb 22 18:02:47 CET 2010
deviceChain.deviceName0=XC3S1500
#Wed Feb 24 00:29:25 CET 2010
deviceChain.deviceName0=XC3S4000
deviceChain.iRLength0=6
deviceChain.name0=MyDevice0
deviceIds=01434093
deviceIds=01448093
import.certifyIdx=-1
import.dir=/home/chrigi/bfh-work/GECKO3COM/gecko3com-ip/core/
import.filename=GECKO3COM_simple_test.cdc
34,7 → 34,7
unit.0.0.1.WIDTH1=1.0563822
unit.0.0.1.X1=-0.0031323414
unit.0.0.1.Y1=0.10463734
unit.0.0.MFBitsA0=XXXXX1XXXXXX
unit.0.0.MFBitsA0=XXXX1XXXXXXX
unit.0.0.MFBitsA1=XXXXXXXXXXXX
unit.0.0.MFBitsB0=000000000000
unit.0.0.MFBitsB1=000000000000
53,8 → 53,8
unit.0.0.TCActive=0
unit.0.0.TCAdvanced0=0
unit.0.0.TCCondition0_0=M0
unit.0.0.TCCondition0_1=M0
unit.0.0.TCConditionType0=0
unit.0.0.TCCondition0_1=M0 --> M0 --> M0 --> M0
unit.0.0.TCConditionType0=1
unit.0.0.TCCount=1
unit.0.0.TCEventCount0=1
unit.0.0.TCEventType0=3
77,7 → 77,7
unit.0.0.coretype=ILA
unit.0.0.eventCount0=1
unit.0.0.eventCount1=1
unit.0.0.port.-1.b.0.alias=/GECKO3COM_simple_1/s_gpif_rx_data
unit.0.0.port.-1.b.0.alias=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM
unit.0.0.port.-1.b.0.channellist=74 81 82 83 84 85 86 87 88 89 75 76 77 78 79 80
unit.0.0.port.-1.b.0.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.b.0.name=/GECKO3COM_simple_1/s_gpif_rx_data
134,7 → 134,7
unit.0.0.port.-1.b.2.unsignedScaleFactor=1.0
unit.0.0.port.-1.b.2.visible=1
unit.0.0.port.-1.b.3.alias=GECKO3COM_simple_fsm_1/state_FSM_FFd1
unit.0.0.port.-1.b.3.channellist=46 45 44 43 42
unit.0.0.port.-1.b.3.channellist=42 43 44 45 46
unit.0.0.port.-1.b.3.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.b.3.name=/GECKO3COM_simple_1/o_receive_transfersize
unit.0.0.port.-1.b.3.orderindex=-1
675,7 → 675,7
unit.0.0.port.-1.s.46.visible=1
unit.0.0.port.-1.s.47.alias=
unit.0.0.port.-1.s.47.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.47.name=/s_send_counter_equals_transfer_size
unit.0.0.port.-1.s.47.name=/s_transfer_size_reg_en
unit.0.0.port.-1.s.47.orderindex=-1
unit.0.0.port.-1.s.47.visible=1
unit.0.0.port.-1.s.48.alias=
825,32 → 825,32
unit.0.0.port.-1.s.73.visible=1
unit.0.0.port.-1.s.74.alias=
unit.0.0.port.-1.s.74.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.74.name=/GECKO3COM_simple_1/s_gpif_rx_data<0>
unit.0.0.port.-1.s.74.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd1
unit.0.0.port.-1.s.74.orderindex=-1
unit.0.0.port.-1.s.74.visible=0
unit.0.0.port.-1.s.75.alias=
unit.0.0.port.-1.s.75.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.75.name=/GECKO3COM_simple_1/s_gpif_rx_data<10>
unit.0.0.port.-1.s.75.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd2
unit.0.0.port.-1.s.75.orderindex=-1
unit.0.0.port.-1.s.75.visible=0
unit.0.0.port.-1.s.76.alias=
unit.0.0.port.-1.s.76.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.76.name=/GECKO3COM_simple_1/s_gpif_rx_data<11>
unit.0.0.port.-1.s.76.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd3
unit.0.0.port.-1.s.76.orderindex=-1
unit.0.0.port.-1.s.76.visible=0
unit.0.0.port.-1.s.77.alias=
unit.0.0.port.-1.s.77.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.77.name=/GECKO3COM_simple_1/s_gpif_rx_data<12>
unit.0.0.port.-1.s.77.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd4
unit.0.0.port.-1.s.77.orderindex=-1
unit.0.0.port.-1.s.77.visible=0
unit.0.0.port.-1.s.78.alias=
unit.0.0.port.-1.s.78.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.78.name=/GECKO3COM_simple_1/s_gpif_rx_data<13>
unit.0.0.port.-1.s.78.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd5
unit.0.0.port.-1.s.78.orderindex=-1
unit.0.0.port.-1.s.78.visible=0
unit.0.0.port.-1.s.79.alias=
unit.0.0.port.-1.s.79.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.79.name=/GECKO3COM_simple_1/s_gpif_rx_data<14>
unit.0.0.port.-1.s.79.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd6
unit.0.0.port.-1.s.79.orderindex=-1
unit.0.0.port.-1.s.79.visible=0
unit.0.0.port.-1.s.8.alias=
860,52 → 860,52
unit.0.0.port.-1.s.8.visible=1
unit.0.0.port.-1.s.80.alias=
unit.0.0.port.-1.s.80.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.80.name=/GECKO3COM_simple_1/s_gpif_rx_data<15>
unit.0.0.port.-1.s.80.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd7
unit.0.0.port.-1.s.80.orderindex=-1
unit.0.0.port.-1.s.80.visible=0
unit.0.0.port.-1.s.81.alias=
unit.0.0.port.-1.s.81.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.81.name=/GECKO3COM_simple_1/s_gpif_rx_data<1>
unit.0.0.port.-1.s.81.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd8
unit.0.0.port.-1.s.81.orderindex=-1
unit.0.0.port.-1.s.81.visible=0
unit.0.0.port.-1.s.82.alias=
unit.0.0.port.-1.s.82.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.82.name=/GECKO3COM_simple_1/s_gpif_rx_data<2>
unit.0.0.port.-1.s.82.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd9
unit.0.0.port.-1.s.82.orderindex=-1
unit.0.0.port.-1.s.82.visible=0
unit.0.0.port.-1.s.83.alias=
unit.0.0.port.-1.s.83.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.83.name=/GECKO3COM_simple_1/s_gpif_rx_data<3>
unit.0.0.port.-1.s.83.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd10
unit.0.0.port.-1.s.83.orderindex=-1
unit.0.0.port.-1.s.83.visible=0
unit.0.0.port.-1.s.84.alias=
unit.0.0.port.-1.s.84.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.84.name=/GECKO3COM_simple_1/s_gpif_rx_data<4>
unit.0.0.port.-1.s.84.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd11
unit.0.0.port.-1.s.84.orderindex=-1
unit.0.0.port.-1.s.84.visible=0
unit.0.0.port.-1.s.85.alias=
unit.0.0.port.-1.s.85.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.85.name=/GECKO3COM_simple_1/s_gpif_rx_data<5>
unit.0.0.port.-1.s.85.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd12
unit.0.0.port.-1.s.85.orderindex=-1
unit.0.0.port.-1.s.85.visible=0
unit.0.0.port.-1.s.86.alias=
unit.0.0.port.-1.s.86.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.86.name=/GECKO3COM_simple_1/s_gpif_rx_data<6>
unit.0.0.port.-1.s.86.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd13
unit.0.0.port.-1.s.86.orderindex=-1
unit.0.0.port.-1.s.86.visible=0
unit.0.0.port.-1.s.87.alias=
unit.0.0.port.-1.s.87.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.87.name=/GECKO3COM_simple_1/s_gpif_rx_data<7>
unit.0.0.port.-1.s.87.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd14
unit.0.0.port.-1.s.87.orderindex=-1
unit.0.0.port.-1.s.87.visible=0
unit.0.0.port.-1.s.88.alias=
unit.0.0.port.-1.s.88.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.88.name=/GECKO3COM_simple_1/s_gpif_rx_data<8>
unit.0.0.port.-1.s.88.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd15
unit.0.0.port.-1.s.88.orderindex=-1
unit.0.0.port.-1.s.88.visible=0
unit.0.0.port.-1.s.89.alias=
unit.0.0.port.-1.s.89.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.-1.s.89.name=/GECKO3COM_simple_1/s_gpif_rx_data<9>
unit.0.0.port.-1.s.89.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM_FFd16
unit.0.0.port.-1.s.89.orderindex=-1
unit.0.0.port.-1.s.89.visible=0
unit.0.0.port.-1.s.9.alias=
985,7 → 985,7
unit.0.0.port.0.s.0.visible=1
unit.0.0.port.0.s.1.alias=
unit.0.0.port.0.s.1.color=java.awt.Color[r\=0,g\=0,b\=124]
unit.0.0.port.0.s.1.name=/GECKO3COM_simple_1/s_btag_correct
unit.0.0.port.0.s.1.name=/GECKO3COM_simple_1/s_gpif_tx_full
unit.0.0.port.0.s.1.orderindex=-1
unit.0.0.port.0.s.1.visible=1
unit.0.0.port.0.s.10.alias=
1325,7 → 1325,7
unit.0.0.waveform.posn.36.name=/GECKO3COM_simple_1/s_send_fifo_reset
unit.0.0.waveform.posn.36.type=signal
unit.0.0.waveform.posn.37.channel=47
unit.0.0.waveform.posn.37.name=/s_send_counter_equals_transfer_size
unit.0.0.waveform.posn.37.name=/s_transfer_size_reg_en
unit.0.0.waveform.posn.37.radix=1
unit.0.0.waveform.posn.37.type=signal
unit.0.0.waveform.posn.38.channel=48
1344,7 → 1344,7
unit.0.0.waveform.posn.40.radix=1
unit.0.0.waveform.posn.40.type=bus
unit.0.0.waveform.posn.41.channel=2147483646
unit.0.0.waveform.posn.41.name=/GECKO3COM_simple_1/s_gpif_rx_data
unit.0.0.waveform.posn.41.name=/GECKO3COM_simple_1/GPIF_INTERFACE/FSM_GPIF/pr_state_FSM
unit.0.0.waveform.posn.41.radix=1
unit.0.0.waveform.posn.41.type=bus
unit.0.0.waveform.posn.42.channel=2147483646
/core/coregenerator/coregenerator_fifo_dualclock.xise
41,7 → 41,7
<property xil_pn:name="Auto Implementation Top" xil_pn:value="false"/>
<property xil_pn:name="Command line syntax" xil_pn:value="emacsclient +$2 $1"/>
<property xil_pn:name="Constraints Entry" xil_pn:value="Constraints Editor"/>
<property xil_pn:name="Device" xil_pn:value="xc3s1500"/>
<property xil_pn:name="Device" xil_pn:value="xc3s4000"/>
<property xil_pn:name="Device Family" xil_pn:value="Spartan3"/>
<property xil_pn:name="Editor" xil_pn:value="Custom"/>
<property xil_pn:name="Fitter Report Format" xil_pn:value="HTML"/>
/core/coregenerator/coregenerator_fifo_dualclock.gise
38,6 → 38,7
<transform xil_pn:end_ts="1266873172" xil_pn:name="TRAN_regenerateCores" xil_pn:prop_ck="4335293426568460978" xil_pn:start_ts="1266873172">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForProperties"/>
</transform>
<transform xil_pn:end_ts="1266873172" xil_pn:name="TRAN_SubProjectAbstractToPreProxy" xil_pn:start_ts="1266873172">
<status xil_pn:value="SuccessfullyRun"/>
/core/coregenerator/coregenerator_fifo_receive.xise
39,7 → 39,7
 
<properties>
<property xil_pn:name="Auto Implementation Top" xil_pn:value="false"/>
<property xil_pn:name="Device" xil_pn:value="xc3s1500"/>
<property xil_pn:name="Device" xil_pn:value="xc3s4000"/>
<property xil_pn:name="Device Family" xil_pn:value="Spartan3"/>
<property xil_pn:name="Implementation Stop View" xil_pn:value="PreSynthesis"/>
<property xil_pn:name="Implementation Top" xil_pn:value="Module|coregenerator_fifo_receive"/>
/core/coregenerator/coregenerator_fifo_send.xise
39,7 → 39,7
 
<properties>
<property xil_pn:name="Auto Implementation Top" xil_pn:value="false"/>
<property xil_pn:name="Device" xil_pn:value="xc3s1500"/>
<property xil_pn:name="Device" xil_pn:value="xc3s4000"/>
<property xil_pn:name="Device Family" xil_pn:value="Spartan3"/>
<property xil_pn:name="Implementation Stop View" xil_pn:value="PreSynthesis"/>
<property xil_pn:name="Implementation Top" xil_pn:value="Module|coregenerator_fifo_send"/>
/core/coregenerator/coregenerator_fifo_receive.gise
38,6 → 38,7
<transform xil_pn:end_ts="1266873170" xil_pn:name="TRAN_regenerateCores" xil_pn:prop_ck="4335293426568460978" xil_pn:start_ts="1266873170">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForProperties"/>
</transform>
<transform xil_pn:end_ts="1266873170" xil_pn:name="TRAN_SubProjectAbstractToPreProxy" xil_pn:start_ts="1266873170">
<status xil_pn:value="SuccessfullyRun"/>
/core/coregenerator/coregenerator_fifo_send.gise
38,6 → 38,7
<transform xil_pn:end_ts="1266873171" xil_pn:name="TRAN_regenerateCores" xil_pn:prop_ck="4335293426568460978" xil_pn:start_ts="1266873171">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForProperties"/>
</transform>
<transform xil_pn:end_ts="1266873171" xil_pn:name="TRAN_SubProjectAbstractToPreProxy" xil_pn:start_ts="1266873171">
<status xil_pn:value="SuccessfullyRun"/>
/core/GECKO3COM_simple_test.vhd
83,7 → 83,7
-- we will transmitt 1 MiB data when the pseude random number generator
-- is used:
--signal c_transfer_size_prng : std_logic_vector(31 downto 0) := x"00100000";
signal c_transfer_size_prng : std_logic_vector(31 downto 0) := x"00000FA0";
signal c_transfer_size_prng : std_logic_vector(31 downto 0) := x"00000001";
 
-----------------------------------------------------------------------------
336,10 → 336,10
if i_nReset = '0' then -- asynchronous reset (active low)
s_send_counter_value <= (others => '0');
elsif i_sysclk'event and i_sysclk = '1' then -- rising clock edge
if s_send_counter_reset = '1' then
if s_send_counter_reset = '1' and s_send_counter_en = '0' then
s_send_counter_value <= (others => '0');
end if;
if s_send_counter_en = '1' then
if s_send_counter_reset = '0' and s_send_counter_en = '1' then
s_send_counter_value(31 downto 2) <=
s_send_counter_value(31 downto 2) + 1;
s_send_counter_value(1 downto 0) <= "00"; -- every fifo write (32bit)
350,7 → 350,7
-- transfer size counter comparator
s_send_counter_equals_transfer_size <=
'1' when s_send_counter_value >= s_send_transfersize else
'1' when s_send_counter_value > s_send_transfersize else
'0';
 
 
505,13 → 505,13
end if;
 
when st6_send_wait =>
 
if s_send_fifo_full = '0' then
next_state <= st5_send_data;
end if;
 
when st7_subtract_transfered_data =>
s_transfer_size_reg_select <= '0';
s_transfer_size_reg_select <= '0';
s_transfer_size_reg_en <= '1';
 
if s_send_data_request = '1' then
/core/gpif_com.vhd
280,7 → 280,7
if s_EOM = '1' then
s_EOM_FF <= '1';
end if;
if s_X2U_EMPTY = '1' then
if s_X2U_EMPTY = '1' and s_TX_FSM = '0' then
s_EOM_FF <= '0';
end if;
end if;

powered by: WebSVN 2.1.0

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