Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP Compressed bitstream support #1

Closed
wants to merge 23 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
2ce7ea1
riob18: fix IBUF_LOW_PWR_SUPPORTED
hansfbaier Dec 13, 2022
7800bcb
030-iob18: fix Vref conflict warnigns by assigning the correct Vref
hansfbaier Dec 14, 2022
8ce3922
030-iob18: add manually discovered RIOB18.IOB_Y0.SSTL*.IN feature, re…
hansfbaier Dec 16, 2022
9512609
write_io_banks.tcl: use a reliable way to distinguish high performanc…
hansfbaier Dec 16, 2022
3562cb8
030-iob18: add issue link to hack used in Makefile
hansfbaier Dec 16, 2022
6198b1a
build(deps): bump third_party/abseil-cpp from `522606b` to `71927b4` …
dependabot[bot] Dec 17, 2022
10aa1ef
build(deps): bump third_party/googletest from `1f643f7` to `3fa7f98` …
dependabot[bot] Dec 17, 2022
fa3a727
Merge pull request #2072 from kintex-chatter/various-fixes
tmichalak Dec 19, 2022
09b0fd9
build(deps): bump third_party/yosys from `7ad7b55` to `3ebc50d` (#2079)
dependabot[bot] Dec 24, 2022
e825a9f
build(deps): bump third_party/abseil-cpp from `71927b4` to `6abc195` …
dependabot[bot] Dec 31, 2022
0e99264
build(deps): bump third_party/sanitizers-cmake (#2080)
dependabot[bot] Dec 31, 2022
e781e02
build(deps): bump third_party/yosys from `3ebc50d` to `f2c6894` (#2083)
dependabot[bot] Jan 7, 2023
d756999
build(deps): bump third_party/abseil-cpp from `6abc195` to `625a180` …
dependabot[bot] Jan 7, 2023
2d7c226
build(deps): bump third_party/yosys from `f2c6894` to `956c4e4` (#2088)
dependabot[bot] Jan 14, 2023
131ff9a
build(deps): bump third_party/googletest from `3fa7f98` to `356fc30` …
dependabot[bot] Jan 14, 2023
03f0011
build(deps): bump third_party/abseil-cpp from `625a180` to `bb63a76` …
dependabot[bot] Jan 14, 2023
6941571
build(deps): bump third_party/yosys from `956c4e4` to `611f71c` (#2092)
dependabot[bot] Jan 21, 2023
a1cc7ab
build(deps): bump third_party/googletest from `356fc30` to `ec25eea` …
dependabot[bot] Jan 21, 2023
38e8b02
build(deps): bump third_party/abseil-cpp from `bb63a76` to `4eef161` …
dependabot[bot] Jan 21, 2023
da0f14f
Add bitstream compression option
LAK132 Nov 27, 2022
a92201d
Fix up configuration tests
LAK132 Nov 29, 2022
e4b6f0a
Remove changes to fasm2frames.py
LAK132 Nov 29, 2022
49f559c
Use operator[] instead of .insert
LAK132 Jan 25, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 3.5.0)
project(prjxray)
option(PRJXRAY_BUILD_TESTING "" OFF)

set(CMAKE_CXX_STANDARD 14)

# Add sanitizers-cmake package
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/third_party/sanitizers-cmake/cmake" ${CMAKE_MODULE_PATH})
find_package(Sanitizers)
Expand Down Expand Up @@ -36,8 +38,6 @@ target_include_directories(yaml-cpp PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/third_party/yaml-cpp/include>
)

# Set the CXX standard and compile time for our code only.
set(CMAKE_CXX_STANDARD 14)
add_compile_options(-Wall -Werror)

add_subdirectory(lib)
Expand Down
5 changes: 3 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ SHELL = bash
ALL_EXCLUDE = third_party .git env build docs/env

INSTALL_DIR ?=
ENV_DIR ?= env

# Skip this check if the ALLOW_ROOT var is defined
# E.g. when running in GH action custom runners CI
Expand All @@ -20,9 +21,9 @@ endif
endif

# Tools + Environment
IN_ENV = if [ -e env/bin/activate ]; then . env/bin/activate; fi; source utils/environment.python.sh;
IN_ENV = if [ -e $(ENV_DIR)/bin/activate ]; then . $(ENV_DIR)/bin/activate; fi; source utils/environment.python.sh;
env:
python3 -mvenv env
python3 -mvenv $(ENV_DIR)
# Install project dependencies
$(IN_ENV) python -mpip install -r requirements.txt
# Install project's documentation dependencies
Expand Down
5 changes: 4 additions & 1 deletion fuzzers/030-iob18/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# https://opensource.org/licenses/ISC
#
# SPDX-License-Identifier: ISC
N := 80
N := 40
SPECIMENS_DEPS := build/iobanks.txt
include ../fuzzer.mk

Expand All @@ -23,6 +23,9 @@ build/segbits_riob18.db: build/segbits_riob18.rdb process_rdb.py bits.dbf
sed '/IOB18.IOB_Y1.LVDS/d' -i build/segbits_riob18.rdb
python3 process_rdb.py build/segbits_riob18.rdb > build/segbits_riob18_processed.rdb
${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --groups tag_groups.txt --seg-fn-in build/segbits_riob18_processed.rdb --seg-fn-out $@
# TODO: This is a hack. See https://github.com/f4pga/prjxray/issues/2073
echo 'RIOB18.IOB_Y0.SSTL12_SSTL135_SSTL15.IN !38_126 39_127' >> $@
sort -o $@ $@
${XRAY_MASKMERGE} build/mask_riob18.db $$(find -name segdata_riob18.txt)

build/segbits_hclk_ioi.rdb: $(SPECIMENS_OK)
Expand Down
2 changes: 1 addition & 1 deletion fuzzers/030-iob18/generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ def drives_for_iostandard(iostandard):
return drives

STEPDOWN_IOSTANDARDS = LVCMOS + SSTL
IBUF_LOW_PWR_SUPPORTED = LVDS + DIFF_SSTL
IBUF_LOW_PWR_SUPPORTED = LVDS + SSTL
ONLY_DIFF_IOSTANDARDS = LVDS


Expand Down
17 changes: 10 additions & 7 deletions fuzzers/030-iob18/top.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,15 @@ def run():
"SSTL12": DIFF_SSTL12,
}

vref_map = {
"SSTL12": .600,
"SSTL135": .675,
"SSTL15": .75,
"DIFF_SSTL12": .600,
"DIFF_SSTL135": .675,
"DIFF_SSTL15": .75,
}

only_diff_map = {
"LVDS": ["LVDS"],
}
Expand Down Expand Up @@ -99,13 +108,7 @@ def run():
for iobank in iobanks:
iostandard = random.choice(iostandards)
if iostandard in SSTL:
params['INTERNAL_VREF'][iobank] = random.choice(
(
.600,
.675,
.75,
.90,
))
params['INTERNAL_VREF'][iobank] = vref_map[iostandard]

iostandard_map[iobank] = iostandard

Expand Down
5 changes: 4 additions & 1 deletion fuzzers/030-iob18/write_io_banks.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@ open_io_design -name io_1
set fp [open "iobanks.txt" "w"]
foreach iobank [get_iobanks] {
foreach site [get_sites -of $iobank] {
puts $fp "$site,$iobank"
# we only care about the high performance banks here
if {[string match "BT_HIGH_PERFORMANCE" [get_property BANK_TYPE $iobank]]} {
puts $fp "$site,$iobank"
}
}
}
close $fp
Expand Down
Loading