Releases: ArashEM/EPCI
Releases · ArashEM/EPCI
CI/CD hardware in loop (HIL)
Release note
- Add Jenkinsfile for implementing CI/CD with hardware in loop
- Implement
llseek
system call in driver - Add helper scripts for load/unload device driver
- Add helper scripts for programming
bitfile
viaopenocd
- Implement testing application which do
read/write
to/dev/epci-mem
- Add helper scripts for calling multiple test application
Cleanup
LEDs
Note
- All 3 LEDs of board are registered into LED class device
epci-led.c
is created for handling all LED related jobs- hardware accelerated blink is not supported yet. Only PWM and On/Off is implemented via regiters
- each peripheral memory mapped offset is described via
epci_board_info
inepci-core.c
Firmware version
Notes
- Firmware version (Now 1.03 ) is added to PCI configuration space (offset 0x40).
- README.md file in
hdl
folder contain system memory map now
32KB block memory
Introduction
BRAM size in LX9 is increased to 8K x 32bit, which is 32KB of memory.
I'm going to use this space to measure read/write performance of board!
This area is accessible in (0, 0x8000) address range of BRA0.
Features
- 8/16/32 access is possible
- 32KB of block memory
- Provide better addressing mechanism in HDLs
SRAM (BRAM accessible via char device over PCI bus)
Architecture
hdl
implements single memory mapped BAR in BAR0 (64K size)- first 256 byte is R/W BRAM
- second 256 byte is single register which control on board 3 LEDs
driver
implement simple character device which abstract first 256 byte of BAR0 as a device node- It uses dynamic major registration
- Only 256 bytes of BAR is available via read/write system call
- device node must be created manually
loff_t * offset
is not implemented yet inread/write
syscalls. So you can not move around file pointer.read/write
syscall implementation is very intuitive and need more development.
Artifacts
epci_fpga.bit
is made fromMakefile
and can be programmed to EPCI-V1.00 board directlyepci_fpga.bit
is x4 bitstream. Configurationbitgen
is available onconfigs/project.cfg
epci.ko
is built for Ubuntu-16.04 / Linux 4.4.0-116-generic #140