Welcome, Guest
You have to register before you can post on our site.



Search Forums

(Advanced Search)

Forum Statistics
» Members: 266
» Latest member: robin
» Forum threads: 75
» Forum posts: 248

Full Statistics

Latest Threads
Pulpissimo memory map gen...
Forum: PULP General questions
Last Post: Akim
10-08-2019, 11:52 AM
» Replies: 0
» Views: 47
Issues for pulp-sdk
Forum: PULP General questions
Last Post: MarekPikula
10-01-2019, 03:16 PM
» Replies: 1
» Views: 124
New SoC configuration for...
Forum: PULP General questions
Last Post: MarekPikula
10-01-2019, 09:19 AM
» Replies: 0
» Views: 93
how to manipulating of GP...
Forum: PULP General questions
Last Post: mapletree
09-30-2019, 02:24 PM
» Replies: 2
» Views: 187
Pulpissimo L2 memory acce...
Forum: PULP General questions
Last Post: meggiman
09-30-2019, 11:04 AM
» Replies: 8
» Views: 1,647
I2C on Pulpissimo
Forum: PULP General questions
Last Post: gideros
09-23-2019, 06:02 AM
» Replies: 6
» Views: 3,400
how to compile and run an...
Forum: PULP General questions
Last Post: mapletree
09-20-2019, 02:57 PM
» Replies: 5
» Views: 420
Detailed Documentation f...
Forum: PULP General questions
Last Post: kgf
09-12-2019, 12:31 PM
» Replies: 3
» Views: 360
Pulpissimo configuration ...
Forum: PULP General questions
Last Post: meggiman
09-03-2019, 06:31 PM
» Replies: 4
» Views: 683
Changing pulpissimo memor...
Forum: PULP General questions
Last Post: anfevp
08-27-2019, 09:45 AM
» Replies: 0
» Views: 268

  How to simulate the bootloader with flash S25fs256s verilog model for pulpino?
Posted by: zhouqiang - 05-25-2019, 04:52 AM - Forum: PULP General questions - No Replies

  I want to try to simluate the bootloader with flash S25fs256s,  so that I can simluate with the  flash. I have found the verilog model of S25fs256s according to https://github.com/pulp-platform/pulpiss.../spi_flash, and I have instantiated the generic pad for each signal coming from my SPI model according to https://github.com/pulp-platform/pulpino/issues/16, and in order to test boot_code, I changed MEMLOAD on https://github.com/pulp-platform/pulpino/blob/master/vsim/tcl_files/run.tcl, from PRELOAD to STANDALONE.  I instantiated the flash module in the pulpion_top file, but when I run "make testSPIMASTER.vsim" or "make helloworld.vsim" ,  but still encounter the error  "RX string: ERROR: Spansion SPI flash not found” ,can someone tell me how to deal with the error? How can make it to find the Spanison SPI flash ?

Print this item

  Pulpissimo synthesis error
Posted by: MikkeN - 05-23-2019, 11:25 AM - Forum: PULP General questions - No Replies


I got following error when synthesising (dc_shell L2016-03) Pulpissimo:

Information: Building the design 'pulp_soc' instantiated from design 'soc_domain_0_1_32_64_32_6_4_6_8_4_8_8' with
Error:  ../pulpissimo/ips/pulp_soc/rtl/pulp_soc/pulp_soc.sv:269: Syntax error at or near token 'FC_Core_MHARTID': arrays do not have named members. (VER-294)
*** Presto compilation terminated with 2 errors. ***


Print this item

  Porting Ariane to KC705
Posted by: AnonymousWeasel - 05-22-2019, 04:09 PM - Forum: PULP General questions - Replies (1)


I'm currently porting the Ariane core to the KC705 board, as it is using the same FPGA as the Genesys II this should be a feasible task to do. So far I adapted the constraint file to match the KC705 board and also changed the part and board variables in the Makefile. The KC705 has different amounts of switches and LEDs so I reduced the number where necessary. Also the cpu_reset is inverted on the KC705. In the fpga/scripts/write_cfgmem.tcl I changed the SPI memory size parameter to 128 (as provided by the KC705).
The KC705 doesn't have an FTDI chip like the Genesys II. Therefore, the KC705 lacks the necessary configurable JTAG pins that are connected to the dmi_jtag module. For now I temporarily worked around that by wiring it up to a BSCANE2 module and hardwiring the trst to 1. In the future I plan on using a second JTAG that I connect to some GPIO pins to wire them up to the module.
I also built the ariane-sdk using the provided makefile and put it on an SD card.

The bitstream is sent to the KC705 just fine. I added some additional logic to to make sure the clock and reset are working by wiring them up to the LEDs, so this part seems to be just fine.

I checked the bootrom and according to the main.c in fpga/src/bootrom/src/ it is supposed to 'print_uart("Hello World!\r\n");' in the beginning of the bootrom. However, I don't receive this output (or any other) on my terminal.
I'm using the `screen /dev/ttyUSB0 115200` command from the github readme. I made sure to use the correct ttyUSB by dis- and reconnecting the separate UART cable on the KC705 while checking the /dev folder.

Are there any additional files/settings I need to adjust? Any idea how to get this to work or how to debug it?

Also:     During the `make fpga` an ariane.xpr vivado project file is created in the fpga folder. If I open this file it is empty, is this supposed to be the case? I wanted to add some ILA cores to further debug my issue, but without a working project this gets more tedious.
Thank you.

Edit: typos

Print this item

  Pulpissimo Synthesis content
Posted by: MikkeN - 05-16-2019, 10:42 AM - Forum: PULP General questions - Replies (3)


I have reviewed Pulpissimo code. There is couple of issues (I try to synthesize it):

1. In pulp_soc.sv (line 861) is instatiation of module jtag_tap_top. However this module is not found. Instead there is module tap_top,
should it be instantiated?

2. In soc_clk_rst_gen.sv there is three instatiations of gf22_FLL
Comment says that it is not supported by FPGA
Is this really synthesizable code?
There is comments regarding that it is behavioral coding.

Best Regards,

Print this item

  FPGA build
Posted by: Akim - 05-15-2019, 11:00 AM - Forum: PULP General questions - Replies (2)


I found that you have added more instructions (below) how to build and use virtual platform with Pulpissimo.
Thaks for that, I got virtual platform working and run Hello test on it.

Is there similar instructions for FPGA build? Is there somewhere build-fpga like build-gvsoc etc.?

"Building and using the virtual platform
Once the RTL platform is installed, the following commands can be executed to install and use the virtual platform:

git clone https://github.com/pulp-platform/pulp-builder.git
cd pulp-builder
git checkout b3b255b0f653fce950cf730972c8ad07b1be7bf0
source configs/pulpissimo.sh
source sdk-setup.sh
source configs/gvsoc.sh
cd ..
Then tests can be compiled and run as for the RTL platform. "

Best Regards,

Print this item

  How to do post-synthesis simulation of PULPino after generating netlist using DC
Posted by: zhouqiang - 05-09-2019, 02:19 PM - Forum: PULP General questions - Replies (2)

     We want to tape out PULPino using SMIC 0.13um technology, and now we have finished DC and got netlist of PULPino, we have generated a 32KB SRAM macro ,the ROM macro and their function mode verilog file. Next, we are going to use the netlist, the RAM and ROM to do a post-synthesis simulation of PULPino. Can someone tell me how to perform post-synthesis simulation of PULPino? Especially, how to test the functions of SRAM and ROM to determine if they are working properly?

Print this item

  [PULP] Peripheral bus memory map
Posted by: lukamac - 05-09-2019, 11:05 AM - Forum: PULP General questions - Replies (1)


I have been working on adding a HWPE to the bigpulp cluster. For start I added the HWPE MAC example into the bigpulp and synthesis passes.
Now, I would like to write an application in HERO-SDK that uses the MAC engine but I could not find the memory map for peripheral bus.

Is there a file in bigpulp which defines offsets of connected peripherals to the peripheral bus or is there any documentation about it?
To be more specific, I would like to know the base address of the HWPE and where it is defined in bigpulp.

Print this item

  clock problem when writing sdc file in order to synthesize PULPino
Posted by: zhouqiang - 05-08-2019, 12:53 PM - Forum: PULP General questions - Replies (2)

Clock problem when writing sdc file in order to synthesize PULPino

I am now trying to write a constraint file (sdc file)  to synthesize PULPino (using DC), but I don't know much about PULPino's RTL design, so it is a challenging task for me,my question is:

1. According to the .xdc file in vivado, I infer that PULPino has three asynchronous clocks clk, spi_clk_i, tck_i. What is the frequency relationship between them?

2. In DC, I use the command get_nets/ports *clk*, I also got a spi_master_clk_o, which looks like an output port. What is it used for? Do I need to constrain it?

3. In the ASIC design, I want to set the frequency of the main clock clk to 100MHz. So, how should I set the frequency for the other two clocks?

4. In addition, I also want to constrain the generated clock. Is there a generated clock in PULPino? How should I find out all the generated clocks and the corresponding source clock?

Print this item

  Pulpissimo L2 memory access via JTAG
Posted by: skor - 05-08-2019, 07:41 AM - Forum: PULP General questions - Replies (8)


I am trying to write and read L2 memory via JTAG . According to datasheet memory map it should be in 0x1c000000...0x1c080000. and in soc_bus_defines there is definition
`define SOC_L2_START_ADDR        32'h1C00_0000
`define SOC_L2_END_ADDR          32'h1FFF_FFFF

However the above parameters are not used anywhere and I can not succesfully write and read to that area. I get always zeros from  any memory address that i have tried.
So where is the memory located actually ? 
I went through the related RTL codes and found local parameter TCDM_START_ADDRESS, which is set to diffrent memory area, and it looked that might be the used area but still the memory access is not working.

As background:
I have succesfylly read and written quite a many peripheral resister, SOC control registers etc, so the JTAG link as such works.
I have implemented Pulpissomo on KIntex FPGA on Genesys board. The xilinx memories seem to be in shape.

Regards, skor

Print this item

  Pulpissimo synthesis
Posted by: MikkeN - 05-07-2019, 04:19 PM - Forum: PULP General questions - Replies (5)


are you having some scripts or tools to help making correct code parsing for synthesis?
I have made my own list, but don't know which files should be included. For example there is axi_slice_dc_master_wrap.sv under axi and pulp_soc.
Is there some automation hidden for src_files.yml files under IPs and RTL?

Currently when running synthesis with dc_shell, it gives errors from some of IPs. I assume that those are not needed in Pulpino implementation.

Print this item