daniel-k
fb37253623
hwdef-parse: populate all memory ranges based on name
...
This used to overwrite earlier memory ranges because the same was
used ('baseaddr', 'highaddr'). Now, deduce name from BASENAME and
remove prefix `C_`.
2018-01-23 14:38:12 +01:00
daniel-k
02ea98dd97
hwdef-parse: add port name
2018-01-23 12:30:54 +01:00
daniel-k
28a7f2a3ee
spdlog: fix handling of too long logger names
...
`whitespace` overflows because the result implicitly is an unsigned
value.
2018-01-23 10:09:06 +01:00
daniel-k
df93004720
scripts/hwdef-parse: include intc instance name in irq ports
2018-01-17 17:00:00 +01:00
daniel-k
935fa847aa
scripts/hwdef-parse: update ports format
2018-01-17 16:51:02 +01:00
daniel-k
4db0a98082
scripts/hwdef-parse: add memory view for each instance
2018-01-17 16:51:02 +01:00
daniel-k
f5a3c8c712
scripts/hwdef-parse: only set irqs and ports if there are any
2018-01-17 16:31:47 +01:00
daniel-k
21d1dd0a71
tests/timer: test absolute timing
2018-01-16 15:26:19 +01:00
daniel-k
61de103c9e
tests/main: assert that there's an fpga
2018-01-16 15:08:56 +01:00
daniel-k
16455bdd13
tests/fifo: cleanup
2018-01-16 15:08:27 +01:00
daniel-k
e626abfb52
tests/timer: add basic timer test
2018-01-16 15:08:12 +01:00
daniel-k
fc98aaecb4
lib/ips/intc: C++-ify interface
2018-01-16 15:07:21 +01:00
daniel-k
e05ff515c7
lib/ips/timer: implement basic functionality
2018-01-16 15:05:37 +01:00
daniel-k
05131258d4
lib/card: use new logger
2018-01-16 14:52:09 +01:00
daniel-k
77135feebc
lib/ips/intc: use new logger
2018-01-16 14:51:45 +01:00
daniel-k
80bc9af0e7
lib/ips/intc: change waitForInterrupt() interface
...
Return -1 on failure, change type to `int`. int/2 bits should still
be enough to track overflowed interrupts.
2018-01-16 14:51:45 +01:00
daniel-k
82204990cd
lib/card: remove unused C code
2018-01-16 14:46:59 +01:00
daniel-k
f987c29d71
lib/ip: change interface: start() -> init()
2018-01-16 14:46:00 +01:00
daniel-k
687f1e5bba
lib/ips/fifo: use std:min in favor of old macro
2018-01-10 15:49:53 +01:00
daniel-k
44e78643ea
lib/log: purge remaining of old logger
2018-01-10 15:49:53 +01:00
daniel-k
09534e83a6
lib/plugin: make type an argument of constructor
2018-01-10 15:49:53 +01:00
daniel-k
3cf50db98d
logging: use new spdlog library in favor of Logger
2018-01-10 15:49:53 +01:00
daniel-k
f2a5e7af22
spdlog: patch name formatter to implement fixed width names in format
2018-01-10 15:42:03 +01:00
daniel-k
b33b4d27d9
Merge commit '2cfd26b6ee2696a0e23b9caa72b89078d8428b94' as 'thirdparty/spdlog'
2018-01-10 15:24:09 +01:00
daniel-k
2cfd26b6ee
Squashed 'thirdparty/spdlog/' content from commit 32177aa
...
git-subtree-dir: thirdparty/spdlog
git-subtree-split: 32177aa77a0a20453d3e7455cac42406fc49b6ca
2018-01-10 15:24:09 +01:00
daniel-k
71a54eeab6
lib/ips: implement fifo driver and adapt test
2018-01-10 11:02:08 +01:00
daniel-k
e2e78cf8b3
lib: minor cleanup
2018-01-10 11:02:08 +01:00
daniel-k
da88b15af3
lib/ip: fail making if configureJson() fails
2018-01-10 11:02:08 +01:00
daniel-k
81db98e448
lib/ip-node: implement loopback mode if available
2018-01-10 11:02:08 +01:00
daniel-k
6ee860971a
ips/intc: supply methods to use with new IrqPort
2018-01-10 11:02:08 +01:00
daniel-k
c710a95352
lib/ip: generalize getting mapped addresses
2018-01-10 11:02:08 +01:00
daniel-k
4035aab49f
lib/ip: dependencies cannot be private
...
Has to be used by derived classes of course!
2018-01-10 11:02:08 +01:00
daniel-k
e96b08c53c
lib/ip: implement more comparison operators for IpCore
2018-01-10 11:02:08 +01:00
daniel-k
8345a15db0
lib/card: implement IP lookup
...
Search for an initialized IP by name.
2018-01-10 11:02:08 +01:00
daniel-k
af234e29c6
lib/ip: provide default implementation for getDependencies()
2018-01-10 11:02:08 +01:00
daniel-k
cb25861c7e
ip: remove excess space in output of identifier
2018-01-10 11:02:08 +01:00
daniel-k
018c89a2b0
tests/main: C++-ify
2018-01-10 11:02:08 +01:00
daniel-k
25d5552197
ips/intc: remove early return in start()
2018-01-10 11:02:08 +01:00
daniel-k
f94476b716
ip/node: rename OtherIpNode
to StreamPort
and other
to to
2018-01-10 11:02:08 +01:00
daniel-k
4d3e4dd931
ips: make irqs a list
2018-01-10 11:02:08 +01:00
daniel-k
79f37ce352
ips/switch: add C++ implementation of switch
2018-01-10 11:02:08 +01:00
daniel-k
12024d53e5
lib/ip-node: add IpNode class, IpCore which has streaming ports
2018-01-10 11:02:08 +01:00
daniel-k
f3f0f4d630
lib/ip: pass ip core by reference to factory instead of unique_ptr
2018-01-10 11:02:08 +01:00
daniel-k
9676a9535d
lib/ip: re-add IRQ to IpCore
2018-01-10 11:02:08 +01:00
daniel-k
ab183d2111
lib/ip: flip output of IpIdentifier (name first, VLNV second)
2018-01-10 11:02:08 +01:00
daniel-k
c105f1c925
lib/ip: remove unused includes and replace pragma by include guard
2018-01-10 11:02:08 +01:00
daniel-k
a5b5e317d4
wip implementing dependency parsing and proper memeory handling
...
works and compiles so for. next is to implement different IP interfaces
(Model, Interface, DataMover, Infrastructure, ...)
2018-01-10 11:02:08 +01:00
daniel-k
6a721847e4
set C++ standard to C++17
...
Primarily for structured binding declaration in range-based for loops
2018-01-10 11:02:08 +01:00
daniel-k
61ca7aa44f
fpga/ip: add C++ timer implementation
2018-01-10 11:02:08 +01:00
daniel-k
3d0afd671e
lib/utils: add string tokenizer
2018-01-10 11:02:08 +01:00