From b356ed27618da4ea0a6c6c7fca6c7ec31fc444ed Mon Sep 17 00:00:00 2001 From: Tomasz Michalak Date: Wed, 2 Oct 2019 11:35:14 +0200 Subject: [PATCH] Change location of Series7 tests and adapt to new API Signed-off-by: Tomasz Michalak --- lib/CMakeLists.txt | 30 ++--- .../xc7series/bitstream_reader_test.cc | 35 +++--- .../xc7series/bitstream_writer_test.cc | 84 ++++++++------ .../{ => tests}/xc7series/block_type_test.cc | 2 +- .../xc7series/configuration_bus_test.cc | 0 .../xc7series/configuration_column_test.cc | 2 +- .../xc7series/configuration_packet_test.cc | 49 +++++---- .../configuration_packetizer_test.cc | 51 ++++----- .../xc7series/configuration_test.cc | 104 +++++++++--------- lib/xilinx/{ => tests}/xc7series/crc_test.cc | 2 +- lib/xilinx/{ => tests}/xc7series/ecc_test.cc | 2 +- .../xc7series/frame_address_test.cc | 2 +- .../{ => tests}/xc7series/frames_test.cc | 8 +- .../xc7series/global_clock_region_test.cc | 2 +- lib/xilinx/{ => tests}/xc7series/part_test.cc | 2 +- lib/xilinx/{ => tests}/xc7series/row_test.cc | 2 +- 16 files changed, 197 insertions(+), 180 deletions(-) rename lib/xilinx/{ => tests}/xc7series/bitstream_reader_test.cc (67%) rename lib/xilinx/{ => tests}/xc7series/bitstream_writer_test.cc (67%) rename lib/xilinx/{ => tests}/xc7series/block_type_test.cc (94%) rename lib/xilinx/{ => tests}/xc7series/configuration_bus_test.cc (100%) rename lib/xilinx/{ => tests}/xc7series/configuration_column_test.cc (97%) rename lib/xilinx/{ => tests}/xc7series/configuration_packet_test.cc (65%) rename lib/xilinx/{ => tests}/xc7series/configuration_packetizer_test.cc (66%) rename lib/xilinx/{ => tests}/xc7series/configuration_test.cc (73%) rename lib/xilinx/{ => tests}/xc7series/crc_test.cc (89%) rename lib/xilinx/{ => tests}/xc7series/ecc_test.cc (92%) rename lib/xilinx/{ => tests}/xc7series/frame_address_test.cc (95%) rename lib/xilinx/{ => tests}/xc7series/frames_test.cc (93%) rename lib/xilinx/{ => tests}/xc7series/global_clock_region_test.cc (99%) rename lib/xilinx/{ => tests}/xc7series/part_test.cc (99%) rename lib/xilinx/{ => tests}/xc7series/row_test.cc (99%) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index d7344330..41eca2b5 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -45,21 +45,21 @@ if (PRJXRAY_BUILD_TESTING) WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test_data) add_executable(xilinx_xc7series_test - xilinx/xc7series/bitstream_reader_test.cc - xilinx/xc7series/bitstream_writer_test.cc - xilinx/xc7series/block_type_test.cc - xilinx/xc7series/configuration_bus_test.cc - xilinx/xc7series/configuration_column_test.cc - xilinx/xc7series/configuration_test.cc - xilinx/xc7series/configuration_packet_test.cc - xilinx/xc7series/configuration_packetizer_test.cc - xilinx/xc7series/crc_test.cc - xilinx/xc7series/ecc_test.cc - xilinx/xc7series/frame_address_test.cc - xilinx/xc7series/global_clock_region_test.cc - xilinx/xc7series/part_test.cc - xilinx/xc7series/row_test.cc - xilinx/xc7series/frames_test.cc) + xilinx/tests/xc7series/bitstream_reader_test.cc + xilinx/tests/xc7series/bitstream_writer_test.cc + xilinx/tests/xc7series/block_type_test.cc + xilinx/tests/xc7series/configuration_bus_test.cc + xilinx/tests/xc7series/configuration_column_test.cc + xilinx/tests/xc7series/configuration_test.cc + xilinx/tests/xc7series/configuration_packet_test.cc + xilinx/tests/xc7series/configuration_packetizer_test.cc + xilinx/tests/xc7series/crc_test.cc + xilinx/tests/xc7series/ecc_test.cc + xilinx/tests/xc7series/frame_address_test.cc + xilinx/tests/xc7series/global_clock_region_test.cc + xilinx/tests/xc7series/part_test.cc + xilinx/tests/xc7series/row_test.cc + xilinx/tests/xc7series/frames_test.cc) target_link_libraries(xilinx_xc7series_test libprjxray gtest_main) add_test(NAME xilinx_xc7series_test COMMAND xilinx_xc7series_test diff --git a/lib/xilinx/xc7series/bitstream_reader_test.cc b/lib/xilinx/tests/xc7series/bitstream_reader_test.cc similarity index 67% rename from lib/xilinx/xc7series/bitstream_reader_test.cc rename to lib/xilinx/tests/xc7series/bitstream_reader_test.cc index 1093cf7f..df576ca5 100644 --- a/lib/xilinx/xc7series/bitstream_reader_test.cc +++ b/lib/xilinx/tests/xc7series/bitstream_reader_test.cc @@ -1,34 +1,35 @@ #include #include -#include -#include -#include +#include +#include +#include +#include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; TEST(BitstreamReaderTest, InitWithEmptyBytesReturnsNull) { absl::Span bitstream; - auto reader = xc7series::BitstreamReader::InitWithBytes(bitstream); + auto reader = BitstreamReader::InitWithBytes(bitstream); EXPECT_FALSE(reader); } TEST(BitstreamReaderTest, InitWithOnlySyncReturnsObject) { std::vector bitstream{0xAA, 0x99, 0x55, 0x66}; - auto reader = xc7series::BitstreamReader::InitWithBytes(bitstream); + auto reader = BitstreamReader::InitWithBytes(bitstream); EXPECT_TRUE(reader); } TEST(BitstreamReaderTest, InitWithSyncAfterNonWordSizedPaddingReturnsObject) { std::vector bitstream{0xFF, 0xFE, 0xAA, 0x99, 0x55, 0x66}; - auto reader = xc7series::BitstreamReader::InitWithBytes(bitstream); + auto reader = BitstreamReader::InitWithBytes(bitstream); EXPECT_TRUE(reader); } TEST(BitstreamReaderTest, InitWithSyncAfterWordSizedPaddingReturnsObject) { std::vector bitstream{0xFF, 0xFE, 0xFD, 0xFC, 0xAA, 0x99, 0x55, 0x66}; - auto reader = xc7series::BitstreamReader::InitWithBytes(bitstream); + auto reader = BitstreamReader::InitWithBytes(bitstream); EXPECT_TRUE(reader); } @@ -37,13 +38,13 @@ TEST(BitstreamReaderTest, ParsesType1Packet) { 0xAA, 0x99, 0x55, 0x66, // sync 0x20, 0x00, 0x00, 0x00, // NOP }; - auto reader = xc7series::BitstreamReader::InitWithBytes(bitstream); + auto reader = BitstreamReader::InitWithBytes(bitstream); ASSERT_TRUE(reader); ASSERT_NE(reader->begin(), reader->end()); auto first_packet = reader->begin(); EXPECT_EQ(first_packet->opcode(), - xc7series::ConfigurationPacket::Opcode::NOP); + ConfigurationPacket::Opcode::NOP); EXPECT_EQ(++first_packet, reader->end()); } @@ -53,7 +54,7 @@ TEST(BitstreamReaderTest, ParseType2PacketWithoutType1Fails) { 0xAA, 0x99, 0x55, 0x66, // sync 0x40, 0x00, 0x00, 0x00, // Type 2 NOP }; - auto reader = xc7series::BitstreamReader::InitWithBytes(bitstream); + auto reader = BitstreamReader::InitWithBytes(bitstream); ASSERT_TRUE(reader); EXPECT_EQ(reader->begin(), reader->end()); } @@ -69,23 +70,21 @@ TEST(BitstreamReaderTest, ParsesType2AfterType1Packet) { std::vector data_words{0x01020304, 0x05060708, 0x090A0B0C, 0x0D0E0F10}; - auto reader = xc7series::BitstreamReader::InitWithBytes(bitstream); + auto reader = BitstreamReader::InitWithBytes(bitstream); ASSERT_TRUE(reader); ASSERT_NE(reader->begin(), reader->end()); auto first_packet = reader->begin(); EXPECT_EQ(first_packet->opcode(), - xc7series::ConfigurationPacket::Opcode::Read); - EXPECT_EQ(first_packet->address(), - xc7series::ConfigurationRegister::FDRO); + ConfigurationPacket::Opcode::Read); + EXPECT_EQ(first_packet->address(), Series7::ConfRegType::FDRO); EXPECT_EQ(first_packet->data(), absl::Span()); auto second_packet = ++first_packet; ASSERT_NE(second_packet, reader->end()); EXPECT_EQ(second_packet->opcode(), - xc7series::ConfigurationPacket::Opcode::Read); - EXPECT_EQ(second_packet->address(), - xc7series::ConfigurationRegister::FDRO); + ConfigurationPacket::Opcode::Read); + EXPECT_EQ(second_packet->address(), Series7::ConfRegType::FDRO); EXPECT_EQ(first_packet->data(), absl::Span(data_words)); EXPECT_EQ(++first_packet, reader->end()); diff --git a/lib/xilinx/xc7series/bitstream_writer_test.cc b/lib/xilinx/tests/xc7series/bitstream_writer_test.cc similarity index 67% rename from lib/xilinx/xc7series/bitstream_writer_test.cc rename to lib/xilinx/tests/xc7series/bitstream_writer_test.cc index be2d41ec..1820426b 100644 --- a/lib/xilinx/xc7series/bitstream_writer_test.cc +++ b/lib/xilinx/tests/xc7series/bitstream_writer_test.cc @@ -1,14 +1,14 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; constexpr uint32_t kType1NOP = prjxray::bit_field_set(0, 31, 29, 0x1); @@ -32,7 +32,7 @@ constexpr uint32_t MakeType2(const int opcode, const int word_count) { 26, 0, word_count); } -void dump_packets(xc7series::BitstreamWriter writer, bool nl = true) { +void dump_packets(BitstreamWriter writer, bool nl = true) { int i = 0; // for (uint32_t x : itr) { for (auto itr = writer.begin(); itr != writer.end(); ++itr) { @@ -51,53 +51,62 @@ void dump_packets(xc7series::BitstreamWriter writer, bool nl = true) { // Special all 0's void AddType0( - std::vector>& packets) { + std::vector>>& + packets) { // InitWithWords doesn't like type 0 /* static std::vector words{0x00000000}; absl::Span word_span(words); - auto packet = xc7series::ConfigurationPacket::InitWithWords(word_span); + auto packet = + ConfigurationPacket::InitWithWords(word_span); packets.push_back(*(packet.second)); */ static std::vector words{}; absl::Span word_span(words); // CRC is config value 0 - packets.emplace_back(new xc7series::ConfigurationPacket( - 0, xc7series::ConfigurationPacket::NOP, - xc7series::ConfigurationRegister::CRC, word_span)); + packets.emplace_back(new ConfigurationPacket( + 0, ConfigurationPacket::NOP, + Series7::ConfRegType::CRC, word_span)); } void AddType1( - std::vector>& packets) { + std::vector>>& + packets) { static std::vector words{MakeType1(0x2, 0x3, 2), 0xAA, 0xBB}; absl::Span word_span(words); - auto packet = xc7series::ConfigurationPacket::InitWithWords(word_span); + auto packet = + ConfigurationPacket::InitWithWords(word_span); packets.emplace_back( - new xc7series::ConfigurationPacket(*(packet.second))); + new ConfigurationPacket(*(packet.second))); } // Empty void AddType1E( - std::vector>& packets) { + std::vector>>& + packets) { static std::vector words{MakeType1(0x2, 0x3, 0)}; absl::Span word_span(words); - auto packet = xc7series::ConfigurationPacket::InitWithWords(word_span); + auto packet = + ConfigurationPacket::InitWithWords(word_span); packets.emplace_back( - new xc7series::ConfigurationPacket(*(packet.second))); + new ConfigurationPacket(*(packet.second))); } void AddType2( - std::vector>& packets) { + std::vector>>& + packets) { // Type 1 packet with address // Without this InitWithWords will fail on type 2 - xc7series::ConfigurationPacket* packet1; + ConfigurationPacket* packet1; { static std::vector words{MakeType1(0x2, 0x3, 0)}; absl::Span word_span(words); auto packet1_pair = - xc7series::ConfigurationPacket::InitWithWords(word_span); + ConfigurationPacket::InitWithWords( + word_span); packets.emplace_back( - new xc7series::ConfigurationPacket(*(packet1_pair.second))); + new ConfigurationPacket( + *(packet1_pair.second))); packet1 = packets[0].get(); } // Type 2 packet with data @@ -105,18 +114,21 @@ void AddType2( static std::vector words{ MakeType2(0x01, 12), 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; absl::Span word_span(words); - auto packet = xc7series::ConfigurationPacket::InitWithWords( - word_span, packet1); + auto packet = + ConfigurationPacket::InitWithWords( + word_span, packet1); packets.emplace_back( - new xc7series::ConfigurationPacket(*(packet.second))); + new ConfigurationPacket( + *(packet.second))); } } // Empty packets should produce just the header TEST(BitstreamWriterTest, WriteHeader) { - std::vector> packets; + std::vector>> + packets; - xc7series::BitstreamWriter writer(packets); + BitstreamWriter writer(packets); std::vector words(writer.begin(), writer.end()); // Per UG470 pg 80: Bus Width Auto Detection @@ -128,9 +140,10 @@ TEST(BitstreamWriterTest, WriteHeader) { } TEST(BitstreamWriterTest, WriteType0) { - std::vector> packets; + std::vector>> + packets; AddType0(packets); - xc7series::BitstreamWriter writer(packets); + BitstreamWriter writer(packets); // dump_packets(writer, false); std::vector words(writer.begin(), writer.end()); std::vector ref{// Bus width + sync @@ -141,9 +154,10 @@ TEST(BitstreamWriterTest, WriteType0) { EXPECT_EQ(words, ref); } TEST(BitstreamWriterTest, WriteType1) { - std::vector> packets; + std::vector>> + packets; AddType1(packets); - xc7series::BitstreamWriter writer(packets); + BitstreamWriter writer(packets); // dump_packets(writer, false); std::vector words(writer.begin(), writer.end()); std::vector ref{// Bus width + sync @@ -155,9 +169,10 @@ TEST(BitstreamWriterTest, WriteType1) { } TEST(BitstreamWriterTest, WriteType2) { - std::vector> packets; + std::vector>> + packets; AddType2(packets); - xc7series::BitstreamWriter writer(packets); + BitstreamWriter writer(packets); // dump_packets(writer, false); std::vector words(writer.begin(), writer.end()); std::vector ref{ @@ -172,12 +187,13 @@ TEST(BitstreamWriterTest, WriteType2) { } TEST(BitstreamWriterTest, WriteMulti) { - std::vector> packets; + std::vector>> + packets; AddType1(packets); AddType1E(packets); AddType2(packets); AddType1E(packets); - xc7series::BitstreamWriter writer(packets); + BitstreamWriter writer(packets); // dump_packets(writer, false); std::vector words(writer.begin(), writer.end()); std::vector ref{ diff --git a/lib/xilinx/xc7series/block_type_test.cc b/lib/xilinx/tests/xc7series/block_type_test.cc similarity index 94% rename from lib/xilinx/xc7series/block_type_test.cc rename to lib/xilinx/tests/xc7series/block_type_test.cc index 9cab1cea..6fc8ecc9 100644 --- a/lib/xilinx/xc7series/block_type_test.cc +++ b/lib/xilinx/tests/xc7series/block_type_test.cc @@ -2,7 +2,7 @@ #include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; TEST(BlockTypeTest, YamlEncode) { YAML::Node node; diff --git a/lib/xilinx/xc7series/configuration_bus_test.cc b/lib/xilinx/tests/xc7series/configuration_bus_test.cc similarity index 100% rename from lib/xilinx/xc7series/configuration_bus_test.cc rename to lib/xilinx/tests/xc7series/configuration_bus_test.cc diff --git a/lib/xilinx/xc7series/configuration_column_test.cc b/lib/xilinx/tests/xc7series/configuration_column_test.cc similarity index 97% rename from lib/xilinx/xc7series/configuration_column_test.cc rename to lib/xilinx/tests/xc7series/configuration_column_test.cc index 154a3d18..49f49207 100644 --- a/lib/xilinx/xc7series/configuration_column_test.cc +++ b/lib/xilinx/tests/xc7series/configuration_column_test.cc @@ -5,7 +5,7 @@ #include #include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; TEST(ConfigurationColumnTest, IsValidFrameAddress) { xc7series::ConfigurationColumn column(10); diff --git a/lib/xilinx/xc7series/configuration_packet_test.cc b/lib/xilinx/tests/xc7series/configuration_packet_test.cc similarity index 65% rename from lib/xilinx/xc7series/configuration_packet_test.cc rename to lib/xilinx/tests/xc7series/configuration_packet_test.cc index 9d1ee271..1658f142 100644 --- a/lib/xilinx/xc7series/configuration_packet_test.cc +++ b/lib/xilinx/tests/xc7series/configuration_packet_test.cc @@ -1,12 +1,12 @@ -#include - #include #include #include #include +#include +#include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; constexpr uint32_t kType1NOP = prjxray::bit_field_set(0, 31, 29, 0x1); @@ -31,7 +31,8 @@ constexpr uint32_t MakeType2(const int opcode, const int word_count) { } TEST(ConfigPacket, InitWithZeroBytes) { - auto packet = xc7series::ConfigurationPacket::InitWithWords({}); + auto packet = + ConfigurationPacket::InitWithWords({}); EXPECT_EQ(packet.first, absl::Span()); EXPECT_FALSE(packet.second); @@ -40,65 +41,65 @@ TEST(ConfigPacket, InitWithZeroBytes) { TEST(ConfigPacket, InitWithType1Nop) { std::vector words{kType1NOP}; absl::Span word_span(words); - auto packet = xc7series::ConfigurationPacket::InitWithWords(word_span); + auto packet = + ConfigurationPacket::InitWithWords(word_span); EXPECT_EQ(packet.first, absl::Span()); ASSERT_TRUE(packet.second); EXPECT_EQ(packet.second->opcode(), - xc7series::ConfigurationPacket::Opcode::NOP); - EXPECT_EQ(packet.second->address(), - xc7series::ConfigurationRegister::CRC); + ConfigurationPacket::Opcode::NOP); + EXPECT_EQ(packet.second->address(), Series7::ConfRegType::CRC); EXPECT_EQ(packet.second->data(), absl::Span()); } TEST(ConfigPacket, InitWithType1Read) { std::vector words{MakeType1(0x1, 0x2, 2), 0xAA, 0xBB}; absl::Span word_span(words); - auto packet = xc7series::ConfigurationPacket::InitWithWords(word_span); + auto packet = + ConfigurationPacket::InitWithWords(word_span); EXPECT_EQ(packet.first, absl::Span()); ASSERT_TRUE(packet.second); EXPECT_EQ(packet.second->opcode(), - xc7series::ConfigurationPacket::Opcode::Read); - EXPECT_EQ(packet.second->address(), - xc7series::ConfigurationRegister::FDRI); + ConfigurationPacket::Opcode::Read); + EXPECT_EQ(packet.second->address(), Series7::ConfRegType::FDRI); EXPECT_EQ(packet.second->data(), word_span.subspan(1)); } TEST(ConfigPacket, InitWithType1Write) { std::vector words{MakeType1(0x2, 0x3, 2), 0xAA, 0xBB}; absl::Span word_span(words); - auto packet = xc7series::ConfigurationPacket::InitWithWords(word_span); + auto packet = + ConfigurationPacket::InitWithWords(word_span); EXPECT_EQ(packet.first, absl::Span()); ASSERT_TRUE(packet.second); EXPECT_EQ(packet.second->opcode(), - xc7series::ConfigurationPacket::Opcode::Write); - EXPECT_EQ(packet.second->address(), - xc7series::ConfigurationRegister::FDRO); + ConfigurationPacket::Opcode::Write); + EXPECT_EQ(packet.second->address(), Series7::ConfRegType::FDRO); EXPECT_EQ(packet.second->data(), word_span.subspan(1)); } TEST(ConfigPacket, InitWithType2WithoutPreviousPacketFails) { std::vector words{MakeType2(0x01, 12)}; absl::Span word_span(words); - auto packet = xc7series::ConfigurationPacket::InitWithWords(word_span); + auto packet = + ConfigurationPacket::InitWithWords(word_span); EXPECT_EQ(packet.first, words); EXPECT_FALSE(packet.second); } TEST(ConfigPacket, InitWithType2WithPreviousPacket) { - xc7series::ConfigurationPacket previous_packet( + ConfigurationPacket previous_packet( static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Read, - xc7series::ConfigurationRegister::MFWR, absl::Span()); + ConfigurationPacket::Opcode::Read, + Series7::ConfRegType::MFWR, absl::Span()); std::vector words{ MakeType2(0x01, 12), 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; absl::Span word_span(words); - auto packet = xc7series::ConfigurationPacket::InitWithWords( + auto packet = ConfigurationPacket::InitWithWords( word_span, &previous_packet); EXPECT_EQ(packet.first, absl::Span()); ASSERT_TRUE(packet.second); EXPECT_EQ(packet.second->opcode(), - xc7series::ConfigurationPacket::Opcode::Read); - EXPECT_EQ(packet.second->address(), - xc7series::ConfigurationRegister::MFWR); + ConfigurationPacket::Opcode::Read); + EXPECT_EQ(packet.second->address(), Series7::ConfRegType::MFWR); EXPECT_EQ(packet.second->data(), word_span.subspan(1)); } diff --git a/lib/xilinx/xc7series/configuration_packetizer_test.cc b/lib/xilinx/tests/xc7series/configuration_packetizer_test.cc similarity index 66% rename from lib/xilinx/xc7series/configuration_packetizer_test.cc rename to lib/xilinx/tests/xc7series/configuration_packetizer_test.cc index 00b73ab6..48cbb440 100644 --- a/lib/xilinx/xc7series/configuration_packetizer_test.cc +++ b/lib/xilinx/tests/xc7series/configuration_packetizer_test.cc @@ -1,19 +1,20 @@ -#include - #include #include #include -namespace xc7series = prjxray::xilinx::xc7series; +#include +#include + +using namespace prjxray::xilinx; TEST(ConfigurationPacketizerTest, EmptyConfigGeneratesNoPackets) { auto part = xc7series::Part::FromFile("configuration_test.yaml"); ASSERT_TRUE(part); std::map> frames; - xc7series::Configuration config(*part, &frames); - xc7series::ConfigurationPacketizer packetizer(config); + Configuration config(*part, &frames); + ConfigurationPacketizer packetizer(config); EXPECT_EQ(packetizer.begin(), packetizer.end()); } @@ -26,12 +27,12 @@ TEST(ConfigurationPacketizerTest, ConfigWithFramesGeneratesPackets) { frames[0] = std::vector(101, 0xAA); frames[1] = std::vector(101, 0xBB); - xc7series::Configuration config(*part, &frames); + Configuration config(*part, &frames); EXPECT_EQ(config.frames().at(0), frames[0]); EXPECT_EQ(config.frames().at(1), frames[1]); - xc7series::ConfigurationPacketizer packetizer(config); + ConfigurationPacketizer packetizer(config); auto packet = packetizer.begin(); ASSERT_NE(packet, packetizer.end()); @@ -39,32 +40,32 @@ TEST(ConfigurationPacketizerTest, ConfigWithFramesGeneratesPackets) { // Write 0x0 to FAR EXPECT_EQ(packet->header_type(), static_cast(1)); EXPECT_EQ(packet->opcode(), - xc7series::ConfigurationPacket::Opcode::Write); - EXPECT_EQ(packet->address(), xc7series::ConfigurationRegister::FAR); + ConfigurationPacket::Opcode::Write); + EXPECT_EQ(packet->address(), Series7::ConfRegType::FAR); EXPECT_EQ(packet->data(), std::vector{0}); ++packet; ASSERT_NE(packet, packetizer.end()); EXPECT_EQ(packet->header_type(), static_cast(1)); EXPECT_EQ(packet->opcode(), - xc7series::ConfigurationPacket::Opcode::Write); - EXPECT_EQ(packet->address(), xc7series::ConfigurationRegister::FDRI); + ConfigurationPacket::Opcode::Write); + EXPECT_EQ(packet->address(), Series7::ConfRegType::FDRI); EXPECT_EQ(packet->data(), frames[0]); ++packet; ASSERT_NE(packet, packetizer.end()); EXPECT_EQ(packet->header_type(), static_cast(1)); EXPECT_EQ(packet->opcode(), - xc7series::ConfigurationPacket::Opcode::Write); - EXPECT_EQ(packet->address(), xc7series::ConfigurationRegister::FAR); + ConfigurationPacket::Opcode::Write); + EXPECT_EQ(packet->address(), Series7::ConfRegType::FAR); EXPECT_EQ(packet->data(), std::vector{1}); ++packet; ASSERT_NE(packet, packetizer.end()); EXPECT_EQ(packet->header_type(), static_cast(1)); EXPECT_EQ(packet->opcode(), - xc7series::ConfigurationPacket::Opcode::Write); - EXPECT_EQ(packet->address(), xc7series::ConfigurationRegister::FDRI); + ConfigurationPacket::Opcode::Write); + EXPECT_EQ(packet->address(), Series7::ConfRegType::FDRI); EXPECT_EQ(packet->data(), frames[1]); ++packet; @@ -81,16 +82,16 @@ TEST(ConfigurationPacketizerTest, ConfigWithFrameAtEndOfRowGeneratesZerofill) { std::map> frames; frames[last_frame_in_first_row] = std::vector(101, 0xAA); - xc7series::Configuration config(*part, &frames); - xc7series::ConfigurationPacketizer packetizer(config); + Configuration config(*part, &frames); + ConfigurationPacketizer packetizer(config); auto packet = packetizer.begin(); ASSERT_NE(packet, packetizer.end()); EXPECT_EQ(packet->header_type(), static_cast(1)); EXPECT_EQ(packet->opcode(), - xc7series::ConfigurationPacket::Opcode::Write); - EXPECT_EQ(packet->address(), xc7series::ConfigurationRegister::FAR); + ConfigurationPacket::Opcode::Write); + EXPECT_EQ(packet->address(), Series7::ConfRegType::FAR); EXPECT_EQ(packet->data(), std::vector{last_frame_in_first_row}); @@ -98,18 +99,18 @@ TEST(ConfigurationPacketizerTest, ConfigWithFrameAtEndOfRowGeneratesZerofill) { ASSERT_NE(packet, packetizer.end()); EXPECT_EQ(packet->header_type(), static_cast(1)); EXPECT_EQ(packet->opcode(), - xc7series::ConfigurationPacket::Opcode::Write); - EXPECT_EQ(packet->address(), xc7series::ConfigurationRegister::FDRI); + ConfigurationPacket::Opcode::Write); + EXPECT_EQ(packet->address(), Series7::ConfRegType::FDRI); EXPECT_EQ(packet->data(), frames[last_frame_in_first_row]); for (int ii = 0; ii < 202; ++ii) { ++packet; ASSERT_NE(packet, packetizer.end()); EXPECT_EQ(packet->header_type(), static_cast(0)); - EXPECT_EQ(packet->opcode(), - xc7series::ConfigurationPacket::Opcode::NOP); - EXPECT_EQ(packet->address(), - xc7series::ConfigurationRegister::CRC); + EXPECT_EQ( + packet->opcode(), + ConfigurationPacket::Opcode::NOP); + EXPECT_EQ(packet->address(), Series7::ConfRegType::CRC); EXPECT_EQ(packet->data(), std::vector()); } diff --git a/lib/xilinx/xc7series/configuration_test.cc b/lib/xilinx/tests/xc7series/configuration_test.cc similarity index 73% rename from lib/xilinx/xc7series/configuration_test.cc rename to lib/xilinx/tests/xc7series/configuration_test.cc index e04e8728..0c27d58b 100644 --- a/lib/xilinx/xc7series/configuration_test.cc +++ b/lib/xilinx/tests/xc7series/configuration_test.cc @@ -1,5 +1,3 @@ -#include - #include #include #include @@ -7,17 +5,18 @@ #include #include #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; + TEST(ConfigurationTest, ConstructFromPacketsWithSingleFrame) { - std::vector test_part_addresses; + std::vector test_part_addresses; test_part_addresses.push_back(0x4567); test_part_addresses.push_back(0x4568); @@ -28,35 +27,35 @@ TEST(ConfigurationTest, ConstructFromPacketsWithSingleFrame) { std::vector frame_address{0x4567}; std::vector frame(101, 0xAA); - std::vector packets{ + std::vector> packets{ { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::IDCODE, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::IDCODE, absl::MakeSpan(idcode), }, { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::FAR, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::FAR, absl::MakeSpan(frame_address), }, { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::CMD, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::CMD, absl::MakeSpan(cmd), }, { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::FDRI, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::FDRI, absl::MakeSpan(frame), }, }; auto test_config = - xc7series::Configuration::InitWithPackets(test_part, packets); + Configuration::InitWithPackets(test_part, packets); ASSERT_TRUE(test_config); EXPECT_EQ(test_config->part().idcode(), static_cast(0x1234)); @@ -81,35 +80,35 @@ TEST(ConfigurationTest, ConstructFromPacketsWithAutoincrement) { std::vector frame(202, 0xAA); std::fill_n(frame.begin() + 101, 101, 0xBB); - std::vector packets{ + std::vector> packets{ { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::IDCODE, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::IDCODE, absl::MakeSpan(idcode), }, { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::FAR, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::FAR, absl::MakeSpan(frame_address), }, { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::CMD, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::CMD, absl::MakeSpan(cmd), }, { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::FDRI, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::FDRI, absl::MakeSpan(frame), }, }; auto test_config = - xc7series::Configuration::InitWithPackets(test_part, packets); + Configuration::InitWithPackets(test_part, packets); ASSERT_TRUE(test_config); absl::Span frame_span(frame); @@ -130,25 +129,24 @@ TEST(ConfigurationTest, "configuration_test.debug.bit"); ASSERT_TRUE(debug_bitstream); - auto debug_reader = xc7series::BitstreamReader::InitWithBytes( + auto debug_reader = BitstreamReader::InitWithBytes( debug_bitstream->as_bytes()); ASSERT_TRUE(debug_reader); auto debug_configuration = - xc7series::Configuration::InitWithPackets(*part, *debug_reader); + Configuration::InitWithPackets(*part, *debug_reader); ASSERT_TRUE(debug_configuration); auto perframecrc_bitstream = prjxray::MemoryMappedFile::InitWithFile( "configuration_test.perframecrc.bit"); ASSERT_TRUE(perframecrc_bitstream); - auto perframecrc_reader = xc7series::BitstreamReader::InitWithBytes( + auto perframecrc_reader = BitstreamReader::InitWithBytes( perframecrc_bitstream->as_bytes()); ASSERT_TRUE(perframecrc_reader); auto perframecrc_configuration = - xc7series::Configuration::InitWithPackets(*part, - *perframecrc_reader); + Configuration::InitWithPackets(*part, *perframecrc_reader); ASSERT_TRUE(perframecrc_configuration); for (auto debug_frame : debug_configuration->frames()) { @@ -187,24 +185,24 @@ TEST(ConfigurationTest, DebugAndNormalBitstreamsProduceEqualConfigurations) { "configuration_test.debug.bit"); ASSERT_TRUE(debug_bitstream); - auto debug_reader = xc7series::BitstreamReader::InitWithBytes( + auto debug_reader = BitstreamReader::InitWithBytes( debug_bitstream->as_bytes()); ASSERT_TRUE(debug_reader); auto debug_configuration = - xc7series::Configuration::InitWithPackets(*part, *debug_reader); + Configuration::InitWithPackets(*part, *debug_reader); ASSERT_TRUE(debug_configuration); auto normal_bitstream = prjxray::MemoryMappedFile::InitWithFile("configuration_test.bit"); ASSERT_TRUE(normal_bitstream); - auto normal_reader = xc7series::BitstreamReader::InitWithBytes( + auto normal_reader = BitstreamReader::InitWithBytes( normal_bitstream->as_bytes()); ASSERT_TRUE(normal_reader); auto normal_configuration = - xc7series::Configuration::InitWithPackets(*part, *normal_reader); + Configuration::InitWithPackets(*part, *normal_reader); ASSERT_TRUE(normal_configuration); for (auto debug_frame : debug_configuration->frames()) { @@ -250,7 +248,7 @@ TEST(ConfigurationTest, CheckForPaddingFrames) { auto test_part = absl::optional( xc7series::Part(0x1234, test_part_addresses)); - xc7series::Frames frames; + Frames frames; frames.getFrames().emplace(std::make_pair( test_part_addresses.at(0), std::vector(101, 0xAA))); frames.getFrames().emplace(std::make_pair( @@ -263,9 +261,9 @@ TEST(ConfigurationTest, CheckForPaddingFrames) { test_part_addresses.at(4), std::vector(101, 0xEE))); ASSERT_EQ(frames.getFrames().size(), 5); - xc7series::PacketData packet_data = - xc7series::createType2ConfigurationPacketData(frames.getFrames(), - test_part); + Configuration::PacketData packet_data = + Configuration::createType2ConfigurationPacketData( + frames.getFrames(), test_part); // createType2ConfigurationPacketData should detect 4 // row/half/block_type switches thus add 4*2 padding frames moreover 2 // extra padding frames are added at the end of the creation of the data @@ -277,35 +275,35 @@ TEST(ConfigurationTest, CheckForPaddingFrames) { std::vector cmd{0x0001}; std::vector frame_address{0x0}; - std::vector packets{ + std::vector> packets{ { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::IDCODE, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::IDCODE, absl::MakeSpan(idcode), }, { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::FAR, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::FAR, absl::MakeSpan(frame_address), }, { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::CMD, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::CMD, absl::MakeSpan(cmd), }, { static_cast(0x1), - xc7series::ConfigurationPacket::Opcode::Write, - xc7series::ConfigurationRegister::FDRI, + ConfigurationPacket::Opcode::Write, + Series7::ConfRegType::FDRI, absl::MakeSpan(packet_data), }, }; auto test_config = - xc7series::Configuration::InitWithPackets(*test_part, packets); + Configuration::InitWithPackets(*test_part, packets); ASSERT_EQ(test_config->frames().size(), 5); for (auto& frame : test_config->frames()) { EXPECT_EQ(frame.second, frames.getFrames().at(frame.first)); diff --git a/lib/xilinx/xc7series/crc_test.cc b/lib/xilinx/tests/xc7series/crc_test.cc similarity index 89% rename from lib/xilinx/xc7series/crc_test.cc rename to lib/xilinx/tests/xc7series/crc_test.cc index 4e833672..6a711356 100644 --- a/lib/xilinx/xc7series/crc_test.cc +++ b/lib/xilinx/tests/xc7series/crc_test.cc @@ -2,7 +2,7 @@ #include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; TEST(IcapCrcTest, SimpleTests) { // CRC for Zero Data diff --git a/lib/xilinx/xc7series/ecc_test.cc b/lib/xilinx/tests/xc7series/ecc_test.cc similarity index 92% rename from lib/xilinx/xc7series/ecc_test.cc rename to lib/xilinx/tests/xc7series/ecc_test.cc index ae08cc8d..eb3b4da1 100644 --- a/lib/xilinx/xc7series/ecc_test.cc +++ b/lib/xilinx/tests/xc7series/ecc_test.cc @@ -2,7 +2,7 @@ #include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; TEST(IcapEccTest, SimpleTests) { // ECC for Zero Data diff --git a/lib/xilinx/xc7series/frame_address_test.cc b/lib/xilinx/tests/xc7series/frame_address_test.cc similarity index 95% rename from lib/xilinx/xc7series/frame_address_test.cc rename to lib/xilinx/tests/xc7series/frame_address_test.cc index 8e2bcc94..70c1f593 100644 --- a/lib/xilinx/xc7series/frame_address_test.cc +++ b/lib/xilinx/tests/xc7series/frame_address_test.cc @@ -2,7 +2,7 @@ #include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; TEST(FrameAddressTest, YamlEncode) { xc7series::FrameAddress address(xc7series::BlockType::BLOCK_RAM, false, diff --git a/lib/xilinx/xc7series/frames_test.cc b/lib/xilinx/tests/xc7series/frames_test.cc similarity index 93% rename from lib/xilinx/xc7series/frames_test.cc rename to lib/xilinx/tests/xc7series/frames_test.cc index 279c742d..3cf4525b 100644 --- a/lib/xilinx/xc7series/frames_test.cc +++ b/lib/xilinx/tests/xc7series/frames_test.cc @@ -2,10 +2,12 @@ #include -#include +#include +#include #include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; + TEST(FramesTest, FillInMissingFrames) { std::vector test_part_addresses = { xc7series::FrameAddress(xc7series::BlockType::CLB_IO_CLK, false, 0, @@ -21,7 +23,7 @@ TEST(FramesTest, FillInMissingFrames) { xc7series::Part test_part(0x1234, test_part_addresses); - xc7series::Frames frames; + Frames frames; frames.getFrames().emplace(std::make_pair( xc7series::FrameAddress(2), std::vector(101, 0xCC))); frames.getFrames().emplace(std::make_pair( diff --git a/lib/xilinx/xc7series/global_clock_region_test.cc b/lib/xilinx/tests/xc7series/global_clock_region_test.cc similarity index 99% rename from lib/xilinx/xc7series/global_clock_region_test.cc rename to lib/xilinx/tests/xc7series/global_clock_region_test.cc index 466e3109..45978938 100644 --- a/lib/xilinx/xc7series/global_clock_region_test.cc +++ b/lib/xilinx/tests/xc7series/global_clock_region_test.cc @@ -2,7 +2,7 @@ #include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; TEST(GlobalClockRegionTest, IsValidFrameAddress) { std::vector addresses; diff --git a/lib/xilinx/xc7series/part_test.cc b/lib/xilinx/tests/xc7series/part_test.cc similarity index 99% rename from lib/xilinx/xc7series/part_test.cc rename to lib/xilinx/tests/xc7series/part_test.cc index ed5a0311..16b7e99c 100644 --- a/lib/xilinx/xc7series/part_test.cc +++ b/lib/xilinx/tests/xc7series/part_test.cc @@ -2,7 +2,7 @@ #include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; TEST(PartTest, IsValidFrameAddress) { std::vector addresses; diff --git a/lib/xilinx/xc7series/row_test.cc b/lib/xilinx/tests/xc7series/row_test.cc similarity index 99% rename from lib/xilinx/xc7series/row_test.cc rename to lib/xilinx/tests/xc7series/row_test.cc index e0c42f93..e8f73180 100644 --- a/lib/xilinx/xc7series/row_test.cc +++ b/lib/xilinx/tests/xc7series/row_test.cc @@ -2,7 +2,7 @@ #include -namespace xc7series = prjxray::xilinx::xc7series; +using namespace prjxray::xilinx; TEST(RowTest, IsValidFrameAddress) { std::vector addresses;