hidden text to trigger early load of fonts ПродукцияПродукцияПродукцияПродукция Các sản phẩmCác sản phẩmCác sản phẩmCác sản phẩm المنتجاتالمنتجاتالمنتجاتالمنتجات מוצריםמוצריםמוצריםמוצרים
FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6576 ディスカッション

Error in autogenerated files from Qsys

MichaelB
新規コントリビューター I
1,073件の閲覧回数

Hi,

 

I've a question about the generation process of IP cores.

During my QSYS generation I'm always receiving bit width errors.

Furthermore in QSYS documentation there is a section which means the Avalon bit widths will be adapted with adapters.

During generation and IP creation there is no warning or error about bit width errors.

 

After generating everything I receive errors in synthesis.

I don't get it how autogenerated files can have any bit width issues?! 

Do I have to adapt all files manually to make it running? I don't think this is the intention of the QSYS tool but if there are errors in autogenerated files it seems I have to do that...

 

Please see entity below and instantiation. Obviously there is an error in the bit width of the burst size.

 

 

entity avalon_ccb_read_pcie_controller is
	generic (
		DATA_WIDTH          : integer := 256;
		SYMBOL_WIDTH        : integer := 8;
		HDL_ADDR_WIDTH      : integer := 32;
		BURSTCOUNT_WIDTH    : integer := 8;
		COMMAND_FIFO_DEPTH  : integer := 1024;
		RESPONSE_FIFO_DEPTH : integer := 512;
		MASTER_SYNC_DEPTH   : integer := 2;
		SLAVE_SYNC_DEPTH    : integer := 2
	);

 

 

 

 

 

component avalon_ccb_read_pcie_controller_cmp is
		port (
			m0_clk           : in  std_logic                      := 'X';             -- clk
			m0_reset         : in  std_logic                      := 'X';             -- reset
			s0_clk           : in  std_logic                      := 'X';             -- clk
			s0_reset         : in  std_logic                      := 'X';             -- reset
			s0_waitrequest   : out std_logic;                                         -- waitrequest
			s0_readdata      : out std_logic_vector(255 downto 0);                    -- readdata
			s0_readdatavalid : out std_logic;                                         -- readdatavalid
			s0_burstcount    : in  std_logic_vector(6 downto 0)   := (others => 'X'); -- burstcount
			s0_writedata     : in  std_logic_vector(255 downto 0) := (others => 'X'); -- writedata
			s0_address       : in  std_logic_vector(31 downto 0)  := (others => 'X'); -- address
			s0_write         : in  std_logic                      := 'X';             -- write
			s0_read          : in  std_logic                      := 'X';             -- read
			s0_byteenable    : in  std_logic_vector(31 downto 0)  := (others => 'X'); -- byteenable
			s0_debugaccess   : in  std_logic                      := 'X';             -- debugaccess
			m0_waitrequest   : in  std_logic                      := 'X';             -- waitrequest
			m0_readdata      : in  std_logic_vector(255 downto 0) := (others => 'X'); -- readdata
			m0_readdatavalid : in  std_logic                      := 'X';             -- readdatavalid
			m0_burstcount    : out std_logic_vector(6 downto 0);                      -- burstcount
			m0_writedata     : out std_logic_vector(255 downto 0);                    -- writedata
			m0_address       : out std_logic_vector(31 downto 0);                     -- address
			m0_write         : out std_logic;                                         -- write
			m0_read          : out std_logic;                                         -- read
			m0_byteenable    : out std_logic_vector(31 downto 0);                     -- byteenable
			m0_debugaccess   : out std_logic                                          -- debugaccess
		);
	end component avalon_ccb_read_pcie_controller_cmp;

 

 

 

In QSYS the 7 bit is present but the generated top level has 8 bit:

Screenshot 2020-08-26 at 16.40.53.png

 

I tried  to clean the project, removed all generated files, generated several times and then synthesised but of course always the same error.

 

Best regards,

 Michael

0 件の賞賛
1 解決策
MichaelB
新規コントリビューター I
1,041件の閲覧回数

Hi,

 

thanks for your reply.

i've recognised the .ip file is still the same after editing in QSYS (inside of my .qsys file).

I have fixed the bit width in the .ip file and now it's working!

Furthermore now the entity, Qsys and the instantiation has the bit width of 7 for the burst width.

 

Best regards,

 Michael

 

元の投稿で解決策を見る

4 返答(返信)
Kenny_Tan
モデレーター
1,065件の閲覧回数

Theoretically, qsys should add in the adapter automatically. Can you attached the simple design for duplication of the issue?


sstrell
名誉コントリビューター III
1,047件の閲覧回数

The value of the generic doesn't necessarily have to match the actual hardware that's implemented.  Are you saying that you specified 8 in the IP Parameter Editor, but you're only getting 7 bits for the burst count bus width?

#iwork4intel

MichaelB
新規コントリビューター I
1,042件の閲覧回数

Hi,

 

thanks for your reply.

i've recognised the .ip file is still the same after editing in QSYS (inside of my .qsys file).

I have fixed the bit width in the .ip file and now it's working!

Furthermore now the entity, Qsys and the instantiation has the bit width of 7 for the burst width.

 

Best regards,

 Michael

 

Kenny_Tan
モデレーター
1,021件の閲覧回数

Good to know that it is working, closing the thread. If you have further queries, Please post a response in the next 15 days 

After 15 days, this thread will be transitioned to community support. The community users will be able to help you with your follow-up questions. 


返信