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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 382
» Latest member: eureka
» Forum threads: 270
» Forum posts: 819

Full Statistics

Latest Threads
handling custom opcodes (...
Forum: PULP General questions
Last Post: Roogadget
07-25-2024, 01:18 PM
» Replies: 2
» Views: 82
The pulpino verification
Forum: PULP General questions
Last Post: eureka
07-23-2024, 07:45 AM
» Replies: 2
» Views: 111
Pulpissimo block diagram
Forum: PULP General questions
Last Post: kgf
07-23-2024, 06:02 AM
» Replies: 1
» Views: 78
axi_xbar integration issu...
Forum: PULP General questions
Last Post: tbenz
07-16-2024, 09:30 AM
» Replies: 1
» Views: 140
issue with pulp build
Forum: PULP General questions
Last Post: kgf
07-03-2024, 08:46 PM
» Replies: 1
» Views: 221
i have some issue with si...
Forum: PULP General questions
Last Post: sungyong
06-17-2024, 04:03 AM
» Replies: 0
» Views: 201
Is there any RTL generato...
Forum: PULP General questions
Last Post: sungyong
06-17-2024, 03:55 AM
» Replies: 2
» Views: 402
install issue with pulpis...
Forum: PULP General questions
Last Post: sungyong
06-04-2024, 06:23 AM
» Replies: 3
» Views: 629
ELF Files for Polybench T...
Forum: PULP General questions
Last Post: kgf
05-24-2024, 11:38 AM
» Replies: 1
» Views: 366
OpenOCD Error with Nexys ...
Forum: PULP General questions
Last Post: NEO
04-25-2024, 06:26 AM
» Replies: 1
» Views: 1,625

 
  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)

Hello,

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
// MASTER PORT TO L2
`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)

Hi,

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

  RI5CY - FPGA Synthesis
Posted by: jaypi - 05-07-2019, 03:20 PM - Forum: PULP General questions - No Replies

Hey!

I'm trying to synthesis the RI5CY core for my bachelor thesis.
I do work with Vivado and the Ultra 96 development board.
When importing the rtl files and checking them i do have the following error:
The fpnew_pkg with has to do with the new implementation of the FPU as i suppose is used several times, but
never declared.

Just to give one example:

CRITICAL WARNING: [HDL 9-3136] 'fpnew_pkg' is not declared
   

Running the synthesis fail even opting out the FPU in the risv_core.sv due to this.
   

Is there maybe an older build? Or where can the fpnew_pkg be found?

Do i have to declare my own fpnew_pkg?

It seems to me that the fpnew_pkg just contains some variables that the code f.e. in riscv_defines.sv:391 tries set / access.

Hopefully some of you may help me with that [Image: smile.png]

Thanks in advance!

Print this item

  [HERO] Userland application debugging
Posted by: lukamac - 05-07-2019, 09:58 AM - Forum: PULP General questions - Replies (1)

Hi,

Is there a way to debug userland applications that are running on the target (board)?

Print this item

  problem when generating boot rom using boot_code.sv
Posted by: zhouqiang - 05-07-2019, 08:53 AM - Forum: PULP General questions - Replies (5)

hello,
When doing DC synthesis for the PULPino system, I tried to generate a 512B boot ROM using the contents of boot_code.sv, but I found that the data size in boot_code.sv is 548×32, which is obviously not 512B. How can I solve this problem?

Print this item

  error when using DC to synthesis pulpino
Posted by: zhouqiang - 05-05-2019, 03:21 PM - Forum: PULP General questions - Replies (2)

I tried to use DC to synthesize pulpino, but the following error occurred:


Error: ../input_data/control_tp.sv:34: Unable to open file `fpu_defs_div_sqrt_tp.pvk': in search_path {/home/ichip/Desktop/PULPino_scripts/DC/tmp . /eda/synopsys/syn_vH-2013.03/libraries/ Syn /eda/synopsys/syn_vH-2013.03/minpower/syn /eda/synopsys/syn_vH-2013.03/dw/syn_ver /eda/synopsys/syn_vH-2013.03/dw/sim_ver}. (VER-292)

I opened control_tp.sv and found line 34 is:

Import fpu_defs_div_sqrt_tp::*;

It seems that this sentence caused DC to make a mistake. Can someone help me to see what this sentence means? How should I solve this error? In addition, when using DC to synthesis pulpino, what should be noted?

Print this item

  [HWPE] Microcode
Posted by: lukamac - 05-04-2019, 01:23 PM - Forum: PULP General questions - Replies (4)

Hello,

I found a word document describing the HWPE Interface Specification, Rev 1.2, written in January 2018. by Francesco Conti.
I would like to use the microcode capabilities of the HWPE so I read there, since in the online Interface specification I couldn't find anything about it.
In this document, there was a mention of a Pythong script ucode_compile.py that should be able to compile some high-level code for the microcode processor.
Unfortunately, I could not find it so I have a few questions now.

Is the Microcode processor in the HWPE usable?
Is there somewhere such a "compiler" for microcode?
If it should be hardcoded, is there a specification of the instruction encoding? I found very little information about this in the document.

Thank you in advance!

Print this item

  Error when building Pulpissimo
Posted by: MikkeN - 05-03-2019, 09:27 AM - Forum: PULP General questions - Replies (2)

Hi,

something has changed in Pulpissimo build.
Before (Instructions in Pulpissimo readme)

#building PULPISSIMO design
cd ..
git clone --recursive https://github.com/pulp-platform/pulpissimo.git
cd pulpissimo
git clone https://github.com/pulp-platform/pulp-builder.git
cd pulp-builder
git checkout 43e25418bc9590360456ddb97bd29ffb1a6a05e7
source configs/pulpissimo.sh
./scripts/clean
./scripts/update-runtime
./scripts/build-runtime
source sdk-setup.sh
source configs/rtl.sh
cd ..

./update-ips
------- THIS WAS WORKING

Instructions now:

#building PULPISSIMO design
cd ..
git clone --recursive https://github.com/pulp-platform/pulpissimo.git
cd pulpissimo
git clone https://github.com/pulp-platform/pulp-builder.git
cd pulp-builder
git checkout b3b255b0f653fce950cf730972c8ad07b1be7bf0
source configs/pulpissimo.sh
./scripts/clean
./scripts/update-runtime
./scripts/build-runtime
source sdk-setup.sh
source configs/rtl.sh
cd ..

./update-ips

------ Changed line bolded

ERROR:

drivers/i2s/i2s-v2.c: In function '__rt_i2s_open':
drivers/i2s/i2s-v2.c:131:3: error: implicit declaration of function 'udma_i2s_pdm_setup_set'; did you mean 'udma_i2s_i2s_pdm_setup_set'? [-Werror=implicit-function-declaration]
   udma_i2s_pdm_setup_set(
   ^~~~~~~~~~~~~~~~~~~~~~
   udma_i2s_i2s_pdm_setup_set
drivers/i2s/i2s-v2.c:133:5: error: implicit declaration of function 'UDMA_I2S_PDM_SETUP_WORDS'; did you mean 'UDMA_I2S_I2S_PDM_SETUP_OFFSET'? [-Werror=implicit-function-declaration]
     UDMA_I2S_PDM_SETUP_WORDS(shift)                              |
     ^~~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_PDM_SETUP_OFFSET
drivers/i2s/i2s-v2.c:134:5: error: implicit declaration of function 'UDMA_I2S_PDM_SETUP_DECIMATION'; did you mean 'UDMA_I2S_I2S_PDM_SETUP_PDM_DECIMATION'? [-Werror=implicit-function-declaration]
     UDMA_I2S_PDM_SETUP_DECIMATION((1<<i2s->decimation_log2)-1)   |
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_PDM_SETUP_PDM_DECIMATION
drivers/i2s/i2s-v2.c:135:5: error: implicit declaration of function 'UDMA_I2S_PDM_SETUP_MODE'; did you mean 'UDMA_I2S_I2S_PDM_SETUP_PDM_MODE'? [-Werror=implicit-function-declaration]
     UDMA_I2S_PDM_SETUP_MODE(0)                                   |
     ^~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_PDM_SETUP_PDM_MODE
drivers/i2s/i2s-v2.c:136:5: error: implicit declaration of function 'UDMA_I2S_PDM_SETUP_EN'; did you mean 'UDMA_I2S_I2S_PDM_SETUP_PDM_EN'? [-Werror=implicit-function-declaration]
     UDMA_I2S_PDM_SETUP_EN(1)
     ^~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_PDM_SETUP_PDM_EN
drivers/i2s/i2s-v2.c: In function '__rt_i2s_resume':
drivers/i2s/i2s-v2.c:190:3: error: implicit declaration of function 'udma_i2s_clkcfg_setup_set'; did you mean 'udma_i2s_i2s_clkcfg_setup_set'? [-Werror=implicit-function-declaration]
   udma_i2s_clkcfg_setup_set(
   ^~~~~~~~~~~~~~~~~~~~~~~~~
   udma_i2s_i2s_clkcfg_setup_set
drivers/i2s/i2s-v2.c:192:5: error: implicit declaration of function 'UDMA_I2S_CLKCFG_SETUP_SLAVE_CLK_DIV'; did you mean 'UDMA_I2S_I2S_CLKCFG_SETUP_SLAVE_CLK_DIV'? [-Werror=implicit-function-declaration]
     UDMA_I2S_CLKCFG_SETUP_SLAVE_CLK_DIV(hw_div & 0xff) |
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_CLKCFG_SETUP_SLAVE_CLK_DIV
drivers/i2s/i2s-v2.c:193:5: error: implicit declaration of function 'UDMA_I2S_CLKCFG_SETUP_COMMON_CLK_DIV'; did you mean 'UDMA_I2S_I2S_CLKCFG_SETUP_COMMON_CLK_DIV'? [-Werror=implicit-function-declaration]
     UDMA_I2S_CLKCFG_SETUP_COMMON_CLK_DIV(hw_div >> 8)  |
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_CLKCFG_SETUP_COMMON_CLK_DIV
drivers/i2s/i2s-v2.c:194:5: error: implicit declaration of function 'UDMA_I2S_CLKCFG_SETUP_SLAVE_CLK_EN'; did you mean 'UDMA_I2S_I2S_CLKCFG_SETUP_SLAVE_CLK_EN'? [-Werror=implicit-function-declaration]
     UDMA_I2S_CLKCFG_SETUP_SLAVE_CLK_EN(1)              |
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_CLKCFG_SETUP_SLAVE_CLK_EN
drivers/i2s/i2s-v2.c:195:5: error: implicit declaration of function 'UDMA_I2S_CLKCFG_SETUP_PDM_CLK_EN'; did you mean 'UDMA_I2S_I2S_CLKCFG_SETUP_PDM_CLK_EN'? [-Werror=implicit-function-declaration]
     UDMA_I2S_CLKCFG_SETUP_PDM_CLK_EN(1)                |
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_CLKCFG_SETUP_PDM_CLK_EN
drivers/i2s/i2s-v2.c:196:5: error: implicit declaration of function 'UDMA_I2S_CLKCFG_SETUP_SLAVE_NUM'; did you mean 'UDMA_I2S_I2S_CLKCFG_SETUP_SLAVE_NUM'? [-Werror=implicit-function-declaration]
     UDMA_I2S_CLKCFG_SETUP_SLAVE_NUM(1)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_CLKCFG_SETUP_SLAVE_NUM
drivers/i2s/i2s-v2.c:199:3: error: implicit declaration of function 'udma_i2s_slave_setup_set'; did you mean 'udma_i2s_i2s_pdm_setup_set'? [-Werror=implicit-function-declaration]
   udma_i2s_slave_setup_set(
   ^~~~~~~~~~~~~~~~~~~~~~~~
   udma_i2s_i2s_pdm_setup_set
drivers/i2s/i2s-v2.c:201:5: error: implicit declaration of function 'UDMA_I2S_SLAVE_SETUP_WORDS'; did you mean 'UDMA_I2S_I2S_SLV_SETUP_OFFSET'? [-Werror=implicit-function-declaration]
     UDMA_I2S_SLAVE_SETUP_WORDS(1)                      |
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_SLV_SETUP_OFFSET
drivers/i2s/i2s-v2.c:202:5: error: implicit declaration of function 'UDMA_I2S_SLAVE_SETUP_BITS'; did you mean 'UDMA_I2S_I2S_SLV_SETUP_OFFSET'? [-Werror=implicit-function-declaration]
     UDMA_I2S_SLAVE_SETUP_BITS(16)                      |
     ^~~~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_SLV_SETUP_OFFSET
drivers/i2s/i2s-v2.c:203:5: error: implicit declaration of function 'UDMA_I2S_SLAVE_SETUP_LSB'; did you mean 'UDMA_I2S_I2S_SLV_SETUP_OFFSET'? [-Werror=implicit-function-declaration]
     UDMA_I2S_SLAVE_SETUP_LSB(1)                        |
     ^~~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_SLV_SETUP_OFFSET
drivers/i2s/i2s-v2.c:204:5: error: implicit declaration of function 'UDMA_I2S_SLAVE_SETUP_TWO_CHANNELS'; did you mean 'UDMA_I2S_I2S_PDM_SETUP_PDM_EN_GETS'? [-Werror=implicit-function-declaration]
     UDMA_I2S_SLAVE_SETUP_TWO_CHANNELS(dev->dual)       |
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_PDM_SETUP_PDM_EN_GETS
drivers/i2s/i2s-v2.c:205:5: error: implicit declaration of function 'UDMA_I2S_SLAVE_SETUP_EN'; did you mean 'UDMA_I2S_I2S_PDM_SETUP_PDM_EN'? [-Werror=implicit-function-declaration]
     UDMA_I2S_SLAVE_SETUP_EN(1)
     ^~~~~~~~~~~~~~~~~~~~~~~
     UDMA_I2S_I2S_PDM_SETUP_PDM_EN
cc1: all warnings being treated as errors

Print this item

  Lower number of cores on HERO
Posted by: lukamac - 05-02-2019, 08:57 AM - Forum: PULP General questions - Replies (3)

Hello,

I was wondering how to decrease the number of cores in a cluster. I have found where to do it for the hardware (bigpulp/fe/rtl/includes/pulp_soc_defines.sv) but I'm not sure if that is all that is needed to be done or should there be something changed elsewhere?
Is there anything that needs to be changed in the HERO SDK?

Thanks,
Luka

Print this item