Quartus 17.0 Prime install on Fedora 26

After installling Quartus on a x86_64 fedora 26, I fell upon the lib12.so.0 error. $ quartus quartus: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory The simple solution is $ sudo dnf install libpng12-devel.i686 Unfortunately I was not unable to program the bitstream on the fpga, thus …

Modelsim Intel-Altera 10.5c on Fedora26

This blog post is about how to run Modelsim Intel-Altera 10.5c on Fedora 26 (4.12.13-300.fc26.x86_64) after its installation. Modelsim Intel-Altera 10.5c comes with intelFPGA_pro 17.0. First install the 32-bit libraries. $ sudo dnf install glibc.i686 zlib.i686 bzip2-libs.i686 libXft.i686 libXext.i686 ncurses-compat-libs.i686 Download the freetype of el7 from here and copy the so files to modelsim’s internal directory. …

RTL resource estimation and packing density

It is not the first time I was caught with Xilinx’s report on resource usage by hierarchy. By default, Xilinx’s toolchain has its CLB Pack Factor Percentage defaulted to 100% (minimum packing density). Which in other words means that it will relax the constraints on how many device resources are allocated. Thus during the map phase, …

NIOS: alternative to IOWR

NIOS II programming is easy with the default include files and functions. An alternative to write to registers using simple C programming can be the following: IOWR(SENSOR_BASE,0,0xAA); IOWR() uses the ‘stio’ instruction in order to bypass the data cache. int *sensor_reg0 = (int)*SENSOR_BASE; *(sensor_reg0) =0xAA; SENSOR_BASE, which is an address in this example, should have …

opencores I2C’s size on FPGA

For one of my home based projects, I was tight on my Altera Cyclone IV 22K FPGA and had only 90 LEs left. I needed an I2C controller and opted for the opencores’ I2C controller. A quick trial on Quartus Altera 13.1 without constraints after fitter stage gave a total of 283 logic elements and …

Detecting Papilio – FPGA

Detecting the device : $ ./papilio-prog -v -c Could not access USB device 0403:6010. If you receive this error message, then the user isn’t part of the plugdev group. $ ./papilio-prog -v -c Using built-in device list JTAG chainpos: 0 Device IDCODE = 0x11c1a093    Desc: XC3S250E ISC_Done       = 0 ISC_Enabled    = 0 House Cleaning = …