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

Subversion Repositories pci_blue_interface

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 79 to Rev 80
    Reverse comparison

Rev 79 → Rev 80

/trunk/pci_blue_interface.dsk
1,12 → 1,9
<!DOCTYPE Desktop SYSTEM "hdl-prj.dtd">
<Desktop>
<ProjectWindow X="53" Y="33" W="861" H="571">
<Column>542</Column>
<ProjectWindow X="50" Y="43" W="864" H="574">
<Column>501</Column>
<Column>60</Column>
<Column>50</Column>
<Column>50</Column>
</ProjectWindow>
<SourceWindow X="157" Y="197" W="931" H="438" File="pci_blue_master\pci_blue_master.v" Line="126"></SourceWindow>
<SourceWindow X="108" Y="100" W="931" H="438" File="pci_blue_interface\pci_blue_interface.v" Line="202"></SourceWindow>
<SourceWindow X="167" Y="25" W="931" H="438" File="pci_example_chip\pci_example_chip.v" Line="248"></SourceWindow>
</Desktop>
/trunk/pci_blue_interface.hpj
1,6 → 1,6
<!DOCTYPE SimulationProject SYSTEM "hdl-prj.dtd">
<SimulationProject Logfile="verilog.log" Keyfile="..\..\VLogger\verilog.key" Language="Verilog" DelayType="typical" AddTopLevelSignals="1" FileNamesShown="1" HideEmptyLists="1" ShowWatch="1" DumpWatch="0" InteractiveMode="1" ParametersAreWatchable="0" ClearLogBeforeCompile="1" AutoParseProject="0">
<FileList>
<UserSourceFileList>
<File IsIndirectlyAdded="0">pci_test_system\pci_test_top.v</File>
<File IsIndirectlyAdded="0">pci_example_chip\pci_example_chip.v</File>
<File IsIndirectlyAdded="0">pci_blue_arbiter\pci_blue_arbiter.v</File>
23,18 → 23,21
<File IsIndirectlyAdded="0">pci_example_chip\monitor_pci_interface_host_port.v</File>
<File IsIndirectlyAdded="0">Readme</File>
<File IsIndirectlyAdded="0">reminders.v</File>
</FileList>
<File IsIndirectlyAdded="0">..\misc\synchronizer_flop.v</File>
</UserSourceFileList>
<DirList>
<Directory>C:\SYNAPTICAD.7.4\</Directory>
<Directory>C:\SYNAPTICAD\</Directory>
<Directory>C:\VLOGGER\</Directory>
<Directory>pci_blue_include\</Directory>
<Directory>C:\free_ip\pci_blue_interface\</Directory>
<Directory>..\..\SYNAPTICAD.7.9F</Directory>
<Directory>..\..\SYNAPTICAD.7.4</Directory>
<Directory>..\..\SYNAPTICAD</Directory>
<Directory>..\..\VLOGGER</Directory>
<Directory>pci_blue_include</Directory>
<Directory></Directory>
</DirList>
<LibDirList>
<Directory>C:\SYNAPTICAD.7.4\lib\verilog\</Directory>
<Directory>C:\SYNAPTICAD\lib\verilog\</Directory>
<Directory>C:\VLOGGER\lib\verilog\</Directory>
<Directory>..\..\SYNAPTICAD.7.9F\lib\verilog</Directory>
<Directory>..\..\SYNAPTICAD.7.4\lib\verilog</Directory>
<Directory>..\..\SYNAPTICAD\lib\verilog</Directory>
<Directory>..\..\VLOGGER\lib\verilog</Directory>
</LibDirList>
<LibExtensionList>
<Extension>.v</Extension>
41,9 → 44,6
<Extension>.vo</Extension>
<Extension>.vh</Extension>
</LibExtensionList>
<NameOfModelUnderTest></NameOfModelUnderTest>
<ComponentInstantiation></ComponentInstantiation>
<ComponentDeclaration></ComponentDeclaration>
<TBenchProperties>
<TBenchProp Value="False">VerboseSamples</TBenchProp>
<TBenchProp Value="False">VerboseSequenceVerification</TBenchProp>
/trunk/pci_blue_include/pci_blue_constants.vh
1,5 → 1,5
//===========================================================================
// $Id: pci_blue_constants.vh,v 1.14 2001-08-15 10:31:46 bbeaver Exp $
// $Id: pci_blue_constants.vh,v 1.15 2001-09-26 09:48:46 bbeaver Exp $
//
// Copyright 2001 Blue Beaver. All Rights Reserved.
//
61,12 → 61,12
parameter PCI_COMMAND_SPECIAL_CYCLE = 4'b0001;
parameter PCI_COMMAND_IO_READ = 4'b0010;
parameter PCI_COMMAND_IO_WRITE = 4'b0011;
parameter PCI_COMMAND_RESERVED_4 = 4'b0100;
parameter PCI_COMMAND_RESERVED_5 = 4'b0101;
parameter PCI_COMMAND_RESERVED_READ_4 = 4'b0100;
parameter PCI_COMMAND_RESERVED_WRITE_5 = 4'b0101;
parameter PCI_COMMAND_MEMORY_READ = 4'b0110;
parameter PCI_COMMAND_MEMORY_WRITE = 4'b0111;
parameter PCI_COMMAND_RESERVED_8 = 4'b1000;
parameter PCI_COMMAND_RESERVED_9 = 4'b1001;
parameter PCI_COMMAND_RESERVED_READ_8 = 4'b1000;
parameter PCI_COMMAND_RESERVED_WRITE_9 = 4'b1001;
parameter PCI_COMMAND_CONFIG_READ = 4'b1010;
parameter PCI_COMMAND_CONFIG_WRITE = 4'b1011;
parameter PCI_COMMAND_MEMORY_READ_MULTIPLE = 4'b1100;
250,14 → 250,14
// be waited for to satisfy the Delayed Read Request.
// Tags the Host Controller sends across the Delayed_Read_Data FIFO to indicate
// progress made on transfers initiated by the external PCI Bus Master.
parameter PCI_HOST_DELAYED_READ_DATA_SPARE = 3'b000;
parameter PCI_HOST_DELAYED_READ_DATA_TARGET_ABORT = 3'b001;
parameter PCI_HOST_DELAYED_READ_DATA_SPARE_2 = 3'b010;
parameter PCI_HOST_DELAYED_READ_DATA_SPARE_3 = 3'b011;
parameter PCI_HOST_DELAYED_READ_DATA_VALID = 3'b100;
parameter PCI_HOST_DELAYED_READ_DATA_VALID_PERR = 3'b101;
parameter PCI_HOST_DELAYED_READ_DATA_VALID_LAST = 3'b110;
parameter PCI_HOST_DELAYED_READ_DATA_VALID_LAST_PERR = 3'b111;
parameter PCI_HOST_DELAYED_READ_DATA_SPARE = 3'b000;
parameter PCI_HOST_DELAYED_READ_DATA_TARGET_ABORT = 3'b001;
parameter PCI_HOST_DELAYED_READ_DATA_SPARE_2 = 3'b010;
parameter PCI_HOST_DELAYED_READ_DATA_FAST_RETRY = 3'b011;
parameter PCI_HOST_DELAYED_READ_DATA_VALID = 3'b100;
parameter PCI_HOST_DELAYED_READ_DATA_VALID_PERR = 3'b101;
parameter PCI_HOST_DELAYED_READ_DATA_VALID_LAST = 3'b110;
parameter PCI_HOST_DELAYED_READ_DATA_VALID_LAST_PERR = 3'b111;
 
 
// Macros which are used as paramaters in the Test Device code
/trunk/pci_blue_target/pci_blue_target.v
1,5 → 1,5
//===========================================================================
// $Id: pci_blue_target.v,v 1.24 2001-09-13 09:58:09 bbeaver Exp $
// $Id: pci_blue_target.v,v 1.25 2001-09-26 09:48:50 bbeaver Exp $
//
// Copyright 2001 Blue Beaver. All Rights Reserved.
//
1011,6 → 1011,7
 
// Calculate the parity which is received due to an external Master sending
// an Address or a Write Data item.
// NOTE: WORKING: This will have to be re-written for a 64-bit PCI interface
wire par_0 = (^pci_ad_in_prev[3:0]);
wire par_1 = (^pci_ad_in_prev[7:4]);
wire par_2 = (^pci_ad_in_prev[11:8]);
1025,6 → 1026,31
wire par_6_7 = par_6 ^ par_7 ^ pci_cbe_l_in_prev[2];
wire address_data_parity = par_0_1 ^ par_2_3 ^ par_4_5 ^ par_6_7;
 
// Classify the new reference based on the latched Command and sometimes
// the IDSEL and address lines.
 
wire pci_config_read =
(pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_CONFIG_READ); // NOTE: WORKING: address, idsel!
wire pci_config_write =
(pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_CONFIG_WRITE);
wire pci_mem_io_read =
(pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_IO_READ)
| (pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_MEMORY_READ)
| (pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_MEMORY_READ_MULTIPLE)
| (pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_MEMORY_READ_LINE);
wire pci_mem_io_write =
(pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_IO_WRITE)
| (pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_MEMORY_WRITE)
| (pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_MEMORY_WRITE_INVALIDATE);
wire pci_invalid_command =
(pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_INTERRUPT_ACKNOWLEDGE)
| (pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_SPECIAL_CYCLE)
| (pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_RESERVED_READ_4)
| (pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_RESERVED_WRITE_5)
| (pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_RESERVED_READ_8)
| (pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_RESERVED_WRITE_9)
| (pci_cbe_l_in_prev[PCI_BUS_CBE_RANGE:0] == PCI_COMMAND_DUAL_ADDRESS_CYCLE);
 
// The Target State Machine as described in Appendix B.
// No Lock State Machine is implemented.
// At this time, this device only supports 32-bit addresses.
1203,19 → 1229,25
parameter PCI_TARGET_IDLE_000 = 6'b0_000_00; // 00 Idle
parameter PCI_TARGET_NOT_ME_000 = 6'b0_000_01; // 01 Not Me
 
parameter PCI_TARGET_DEVSEL_READ_WAIT_100 = 6'b0_100_00; // 10 DEVSEL Read
parameter PCI_TARGET_DEVSEL_READ_DATA_110 = 6'b0_110_00; // 18 Read Data
parameter PCI_TARGET_DEVSEL_READ_DATA_STOP_111 = 6'b0_111_00; // 1C Read Data Stop
parameter PCI_TARGET_DEVSEL_READ_STOP_101 = 6'b0_101_00; // 14 Read Stop
parameter PCI_TARGET_CONFIG_READ_WAIT_100 = 6'b0_100_01; // 11 DEVSEL Read
parameter PCI_TARGET_CONFIG_READ_DATA_110 = 6'b0_110_01; // 19 Read Data
 
parameter PCI_TARGET_MEMORY_READ_WAIT_100 = 6'b0_100_00; // 10 DEVSEL Read
parameter PCI_TARGET_MEMORY_READ_DATA_110 = 6'b0_110_00; // 18 Read Data
parameter PCI_TARGET_MEMORY_READ_DATA_STOP_111 = 6'b0_111_00; // 1C Read Data Stop
parameter PCI_TARGET_MEMORY_READ_RETRY_101 = 6'b0_101_00; // 14 Read Stop
 
parameter PCI_TARGET_READ_ABORT_FIRST_100 = 6'b0_100_01;
parameter PCI_TARGET_READ_ABORT_SECOND_001 = 6'b0_001_00; // 04 Read Target Abort
 
parameter PCI_TARGET_DEVSEL_WRITE_WAIT_100 = 6'b1_100_00; // 30 DEVSEL Write
parameter PCI_TARGET_DEVSEL_WRITE_DATA_110 = 6'b1_110_00; // 38 Write Data
parameter PCI_TARGET_DEVSEL_WRITE_DATA_STOP_111 = 6'b1_111_00; // 3C Write Data Stop
parameter PCI_TARGET_DEVSEL_WRITE_STOP_101 = 6'b1_101_00; // 34 Write Stop
parameter PCI_TARGET_CONFIG_WRITE_WAIT_100 = 6'b1_100_01; // 31 DEVSEL Write
parameter PCI_TARGET_CONFIG_WRITE_DATA_110 = 6'b1_110_01; // 39 Write Data
 
parameter PCI_TARGET_MEMORY_WRITE_WAIT_100 = 6'b1_100_00; // 30 DEVSEL Write
parameter PCI_TARGET_MEMORY_WRITE_DATA_110 = 6'b1_110_00; // 38 Write Data
parameter PCI_TARGET_MEMORY_WRITE_DATA_STOP_111 = 6'b1_111_00; // 3C Write Data Stop
parameter PCI_TARGET_MEMORY_WRITE_RETRY_101 = 6'b1_101_00; // 34 Write Stop
 
parameter PCI_TARGET_WRITE_ABORT_FIRST_100 = 6'b1_100_01;
parameter PCI_TARGET_WRITE_ABORT_SECOND_001 = 6'b1_001_00; // 24 Write Target Abort
 
1574,7 → 1606,7
 
function [TS_Range:0] Target_Next_State;
input [TS_Range:0] Target_Present_State;
input Response_FIFO_has_Room;
input Response_FIFO_has_Two_Words_Of_Room;
input DELAYED_READ_FIFO_CONTAINS_DATA;
input Timeout_Forces_Disconnect;
input frame_in_critical;
1585,6 → 1617,11
input irdy_in_prev_prev;
input address_parity;
input par_in_critical;
input config_read;
input config_write;
input mem_io_read;
input mem_io_write;
input invalid_command;
 
begin
// synopsys translate_off
1602,15 → 1639,79
case (Target_Present_State[TS_Range:0]) // synopsys parallel_case
PCI_TARGET_IDLE_000:
begin
if ( ({frame_in_prev, irdy_in_prev} == MASTER_WAIT)
& ( ({frame_in_prev_prev, irdy_in_prev_prev} == MASTER_IDLE)
| ({frame_in_prev_prev, irdy_in_prev_prev} == MASTER_DATA_LAST)))
if ( ({frame_in_prev, irdy_in_prev} == MASTER_WAIT) // starting transfer
& ( ({frame_in_prev_prev, irdy_in_prev_prev} == MASTER_IDLE) // idle previously
| ({frame_in_prev_prev, irdy_in_prev_prev} == MASTER_DATA_LAST))) // finishing previously
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
if (config_read) // Config Reads done without telling Target
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_CONFIG_READ_WAIT_100;
end
else if (config_write) // Config Writes done without telling Target
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_CONFIG_WRITE_WAIT_100;
end
else if (address_parity_check_enabled & ~parity OK) // punt on any detected Address Error
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_NOT_ME_000;
end
else if (invalid_command) // punt if unrecognized command
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_NOT_ME_000;
end
else if ( ~( (mem_address_match & mem_enabled & memory_command) // punt if no match possible
| (io_address_match & io_enabled & io_command) ) )
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_NOT_ME_000;
end
else if (~Response_FIFO_has_Two_Words_Of_Room) // stall if impossible to send data to Target
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_MEMORY_READ_RETRY_101;
end
else if (~delayed_read_in_progress & its a read) // start delayed read immediately
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_MEMORY_READ_RETRY_101;
end
else if (delayed_read_in_progress & its a read & delayed address miss) // defer reads until delayed read done
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_MEMORY_READ_RETRY_101;
end
else if (delayed_read_in_progress & its a read & delayed address hit & data available & its abort)
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_READ_ABORT_FIRST_100;
end
else if (delayed_read_in_progress & its a read & delayed address hit & data available & its retry)
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_MEMORY_READ_RETRY_101;
end
else if (delayed_read_in_progress & its a read & delayed address hit & data available & its last data)
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_MEMORY_READ_DATA_STOP_111;
end
else if (delayed_read_in_progress & its a read & delayed address hit & data available & ~its last data & near_bank_end)
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_MEMORY_READ_DATA_STOP_110;
end
else if (delayed_read_in_progress & its a read & delayed address hit & data available & ~its last data & ~near_bank_end)
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_MEMORY_READ_DATA_110;
end
else if (delayed_read_in_progress & its a read & delayed address hit & no data available)
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_MEMORY_READ_WAIT_100;
end
else if (~its a read & near_bank_end)
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_MEMORY_WRITE_DATA_STOP_110;
end
else if (~its a read & ~near_bank_end)
begin
Target_Next_State[TS_Range:0] = PCI_TARGET_MEMORY_WRITE_DATA_110;
end
end
else
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
Target_Next_State[TS_Range:0] = PCI_TARGET_IDLE_000;
end
end
PCI_TARGET_NOT_ME_000:
1617,22 → 1718,30
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_DEVSEL_READ_WAIT_100:
PCI_TARGET_CONFIG_READ_WAIT_100:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_DEVSEL_READ_DATA_110:
PCI_TARGET_CONFIG_READ_DATA_110:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_DEVSEL_READ_DATA_STOP_111:
PCI_TARGET_MEMORY_READ_WAIT_100:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_DEVSEL_READ_STOP_101:
PCI_TARGET_MEMORY_READ_DATA_110:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_MEMORY_READ_DATA_STOP_111:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_MEMORY_READ_STOP_101:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_READ_ABORT_FIRST_100:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
1641,22 → 1750,30
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_DEVSEL_WRITE_WAIT_100:
PCI_TARGET_CONFIG_WRITE_WAIT_100:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_DEVSEL_WRITE_DATA_110:
PCI_TARGET_CONFIG_WRITE_DATA_110:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_DEVSEL_WRITE_DATA_STOP_111:
PCI_TARGET_MEMORY_WRITE_WAIT_100:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_DEVSEL_WRITE_STOP_101:
PCI_TARGET_MEMORY_WRITE_DATA_110:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_MEMORY_WRITE_DATA_STOP_111:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_MEMORY_WRITE_STOP_101:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
end
PCI_TARGET_WRITE_ABORT_FIRST_100:
begin
Target_Next_State[TS_Range:0] = TS_X; // NOTE: WORKING
1692,7 → 1809,12
pci_frame_in_prev_prev,
pci_irdy_in_prev_prev,
address_data_parity,
pci_par_in_critical
pci_par_in_critical,
pci_config_read,
pci_config_write,
pci_mem_io_read,
pci_mem_io_write,
pci_invalid_command
);
 
always @(posedge pci_clk)
/trunk/pci_example_chip/pci_example_host_controller.v
1,5 → 1,5
//===========================================================================
// $Id: pci_example_host_controller.v,v 1.11 2001-08-15 10:31:47 bbeaver Exp $
// $Id: pci_example_host_controller.v,v 1.12 2001-09-26 09:48:57 bbeaver Exp $
//
// Copyright 2001 Blue Beaver. All Rights Reserved.
//
203,7 → 203,7
task Clear_Example_Host_Command;
begin
hold_master_address[PCI_BUS_DATA_RANGE:0] <= `BUS_IMPOSSIBLE_VALUE;
hold_master_command[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_4;
hold_master_command[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_READ_4;
hold_master_data[PCI_BUS_DATA_RANGE:0] <= `BUS_IMPOSSIBLE_VALUE;
hold_master_byte_enables_l[PCI_BUS_CBE_RANGE:0] <= 4'hF;
hold_master_addr_par_err <= 1'b0;
/trunk/pci_example_chip/pci_example_chip.v
1,5 → 1,5
//===========================================================================
// $Id: pci_example_chip.v,v 1.14 2001-08-15 10:31:47 bbeaver Exp $
// $Id: pci_example_chip.v,v 1.15 2001-09-26 09:48:56 bbeaver Exp $
//
// Copyright 2001 Blue Beaver. All Rights Reserved.
//
199,7 → 199,7
// good timing. This will make verification simpler.
wire pci_reset_comb_sync;
 
pci_synchronizer_flop sync_reset_flop (
synchronizer_flop sync_reset_flop (
.data_in (1'b1),
.clk_out (pci_clk),
.sync_data_out (pci_reset_comb_sync), // Goes to 1'b0 on reset
/trunk/pci_bus_monitor/pci_bus_monitor.v
1,5 → 1,5
//===========================================================================
// $Id: pci_bus_monitor.v,v 1.12 2001-08-15 10:31:47 bbeaver Exp $
// $Id: pci_bus_monitor.v,v 1.13 2001-09-26 09:48:54 bbeaver Exp $
//
// Copyright 2001 Blue Beaver. All Rights Reserved.
//
940,10 → 940,10
PCI_COMMAND_IO_WRITE:
$display (" monitor - IO Write started, AD: 'h%x, CBE: 'h%x, at time %t",
ad_prev[PCI_BUS_DATA_RANGE:0], cbe_l_prev[PCI_BUS_CBE_RANGE:0], $time);
PCI_COMMAND_RESERVED_4:
PCI_COMMAND_RESERVED_READ_4:
$display (" monitor - Reserved started, AD: 'h%x, CBE: 'h%x, at time %t",
ad_prev[PCI_BUS_DATA_RANGE:0], cbe_l_prev[PCI_BUS_CBE_RANGE:0], $time);
PCI_COMMAND_RESERVED_5:
PCI_COMMAND_RESERVED_WRITE_5:
$display (" monitor - Reserved started, AD: 'h%x, CBE: 'h%x, at time %t",
ad_prev[PCI_BUS_DATA_RANGE:0], cbe_l_prev[PCI_BUS_CBE_RANGE:0], $time);
PCI_COMMAND_MEMORY_READ:
952,10 → 952,10
PCI_COMMAND_MEMORY_WRITE:
$display (" monitor - Memory Write started, AD: 'h%x, CBE: 'h%x, at time %t",
ad_prev[PCI_BUS_DATA_RANGE:0], cbe_l_prev[PCI_BUS_CBE_RANGE:0], $time);
PCI_COMMAND_RESERVED_8:
PCI_COMMAND_RESERVED_READ_8:
$display (" monitor - Reserved started, AD: 'h%x, CBE: 'h%x, at time %t",
ad_prev[PCI_BUS_DATA_RANGE:0], cbe_l_prev[PCI_BUS_CBE_RANGE:0], $time);
PCI_COMMAND_RESERVED_9:
PCI_COMMAND_RESERVED_WRITE_9:
$display (" monitor - Reserved started, AD: 'h%x, CBE: 'h%x, at time %t",
ad_prev[PCI_BUS_DATA_RANGE:0], cbe_l_prev[PCI_BUS_CBE_RANGE:0], $time);
PCI_COMMAND_CONFIG_READ:
/trunk/pci_behaviorial_device/pci_behaviorial_master.v
1,5 → 1,5
//===========================================================================
// $Id: pci_behaviorial_master.v,v 1.10 2001-08-15 10:31:46 bbeaver Exp $
// $Id: pci_behaviorial_master.v,v 1.11 2001-09-26 09:48:43 bbeaver Exp $
//
// Copyright 2001 Blue Beaver. All Rights Reserved.
//
502,7 → 502,7
begin // might have lost things after first step. Undrive everything.
master_ad_out[PCI_BUS_DATA_RANGE:0] <= `BUS_IMPOSSIBLE_VALUE;
master_ad_oe <= 1'b0;
master_cbe_l_out[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_4; // easy to see
master_cbe_l_out[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_READ_4; // easy to see
master_cbe_oe <= 1'b0;
master_debug_force_bad_par <= 1'b0;
master_got_master_abort <= 1'b0;
985,7 → 985,7
// Otherwise enforce an idle state
master_ad_out[PCI_BUS_DATA_RANGE:0] <= `BUS_IMPOSSIBLE_VALUE;
master_ad_oe <= 1'b0;
master_cbe_l_out[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_4; // easy to see
master_cbe_l_out[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_READ_4; // easy to see
master_cbe_oe <= 1'b0;
master_debug_force_bad_par <= 1'b0;
master_got_master_abort <= got_master_abort;
1212,7 → 1212,7
error_detected <= ~error_detected;
master_ad_out[PCI_BUS_DATA_RANGE:0] <= `BUS_IMPOSSIBLE_VALUE;
master_ad_oe <= 1'b0;
master_cbe_l_out[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_4; // easy to see
master_cbe_l_out[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_READ_4; // easy to see
master_cbe_oe <= 1'b0;
master_debug_force_bad_par <= 1'b0;
master_got_master_abort <= 1'b0;
1319,9 → 1319,9
Complain_That_Test_Not_Written (want_fast_back_to_back);
PCI_COMMAND_IO_WRITE:
Complain_That_Test_Not_Written (want_fast_back_to_back);
PCI_COMMAND_RESERVED_4:
PCI_COMMAND_RESERVED_READ_4:
Complain_That_Test_Not_Written (want_fast_back_to_back);
PCI_COMMAND_RESERVED_5:
PCI_COMMAND_RESERVED_WRITE_5:
Complain_That_Test_Not_Written (want_fast_back_to_back);
PCI_COMMAND_MEMORY_READ:
Execute_Master_PCI_Ref (TEST_MASTER_DOING_MEM_READ,
1329,9 → 1329,9
PCI_COMMAND_MEMORY_WRITE:
Execute_Master_PCI_Ref (TEST_MASTER_DOING_MEM_WRITE,
want_fast_back_to_back);
PCI_COMMAND_RESERVED_8:
PCI_COMMAND_RESERVED_READ_8:
Complain_That_Test_Not_Written (want_fast_back_to_back);
PCI_COMMAND_RESERVED_9:
PCI_COMMAND_RESERVED_WRITE_9:
Complain_That_Test_Not_Written (want_fast_back_to_back);
PCI_COMMAND_CONFIG_READ:
Execute_Master_PCI_Ref (TEST_MASTER_DOING_CONFIG_READ,
1365,7 → 1365,7
begin // park bus
master_ad_out[PCI_BUS_DATA_RANGE:0] <= `BUS_PARK_VALUE;
master_ad_oe <= 1'b1;
master_cbe_l_out[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_4;
master_cbe_l_out[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_READ_4;
master_cbe_oe <= 1'b1;
end
else
1372,7 → 1372,7
begin // unpark if grant is removed
master_ad_out[PCI_BUS_DATA_RANGE:0] <= `BUS_IMPOSSIBLE_VALUE;
master_ad_oe <= 1'b0;
master_cbe_l_out[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_4;
master_cbe_l_out[PCI_BUS_CBE_RANGE:0] <= PCI_COMMAND_RESERVED_READ_4;
master_cbe_oe <= 1'b0;
end
// NOTE WORKING need to handle master_got_target_retry here
/trunk/pci_blue_interface/pci_blue_interface.v
1,5 → 1,5
//===========================================================================
// $Id: pci_blue_interface.v,v 1.24 2001-08-15 10:31:46 bbeaver Exp $
// $Id: pci_blue_interface.v,v 1.25 2001-09-26 09:48:48 bbeaver Exp $
//
// Copyright 2001 Blue Beaver. All Rights Reserved.
//
279,7 → 279,7
end
 
// First level synchronization of PCI Reset signal
pci_synchronizer_flop sync_reset_flop (
synchronizer_flop sync_reset_flop (
.data_in (pci_reset_comb),
.clk_out (host_sync_clk),
.sync_data_out (pci_reset_sync),
289,7 → 289,7
// Synchronization of signal which says PCI Interface sees some sort of error
wire target_config_reg_signals_some_error;
 
pci_synchronizer_flop sync_error_flop (
synchronizer_flop sync_error_flop (
.data_in (target_config_reg_signals_some_error),
.clk_out (host_sync_clk),
.sync_data_out (pci_config_reg_signals_some_error),
1122,7 → 1122,7
// Once SERR is debounced, it is safe to look at it in verilog.
wire SERR_sync;
 
pci_synchronizer_flop sync_SERR_flop (
synchronizer_flop sync_SERR_flop (
.data_in (pci_serr_in_prev),
.clk_out (pci_sync_clk),
.sync_data_out (SERR_sync),
/trunk/test_pci_master.dsk
1,6 → 1,6
<!DOCTYPE Desktop SYSTEM "hdl-prj.dtd">
<Desktop>
<ProjectWindow X="-4" Y="-28" W="1096" H="744">
<ProjectWindow X="50" Y="43" W="864" H="574">
<Column>450</Column>
<Column>60</Column>
<Column>50</Column>
/trunk/test_pci_master.hpj
6,7 → 6,7
<File IsIndirectlyAdded="0">pci_blue_fifos\pci_blue_fifo_flags.v</File>
<File IsIndirectlyAdded="0">pci_vendor_lib\pci_vendor_lib.v</File>
<File IsIndirectlyAdded="0">pci_blue_master\pci_blue_master.v</File>
<File IsIndirectlyAdded="0">function_lib\synchronizer_flop.v</File>
<File IsIndirectlyAdded="0">..\misc\synchronizer_flop.v</File>
<File IsIndirectlyAdded="1">pci_blue_include\pci_blue_options.vh</File>
<File IsIndirectlyAdded="1">pci_blue_include\pci_blue_constants.vh</File>
</UserSourceFileList>
/trunk/pci_test_system/pci_test_commander.v
1,5 → 1,5
//===========================================================================
// $Id: pci_test_commander.v,v 1.10 2001-08-15 10:31:47 bbeaver Exp $
// $Id: pci_test_commander.v,v 1.11 2001-09-26 09:48:59 bbeaver Exp $
//
// Copyright 2001 Blue Beaver. All Rights Reserved.
//
1339,7 → 1339,7
present_test_name[79:0] <= "Nowhere___";
test_master_number <= 3'h0;
test_address[PCI_BUS_DATA_RANGE:0] <= `PCI_BUS_DATA_ZERO;
test_command <= PCI_COMMAND_RESERVED_4;
test_command <= PCI_COMMAND_RESERVED_READ_4;
test_data[PCI_BUS_DATA_RANGE:0] <= `PCI_BUS_DATA_ZERO;
test_byte_enables_l[PCI_BUS_CBE_RANGE:0] <= `Test_All_Bytes;
test_size <= `Test_One_Word;

powered by: WebSVN 2.1.0

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