赛灵思
直播中

刘一

8年用户 91经验值
私信 关注
[问答]

关于错误的帮助:HDLParsers:3260

大家好,
考虑下面的代码,我遇到了一些错误,这些错误在它之后给出。
请帮助我。
码:
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------
库IEEE;使用IEEE.STD_LOGIC_1164.ALL;实体PNPHSTAGE是端口(Clk,Rst:IN STD_LOGIC; D0,D1:IN std_logic_vector(255 downto 0); Q0,Q1:OUT std_logic_vector(255 downto 0); RIN:IN std_logic_vector
(511 downto 0); ROUT:OUT std_logic_vector(511 downto 0));结束PNPHSTAGE;架构PNPHSTAGE的行为是COMPON PNPH端口(Clk,Rst:IN std_logic; D0,D1:IN std_logic; Q0,Q1:OUT std_logic; RIN
:IN std_logic_vector(1 downto 0); ROUT:OUT std_logic_vector(1 downto 0));结束COMPONENT;开始U_GEN:对于0到255的j生成U0:PNPH端口映射(Clk,Rst,D0(j),D1(
j),Q0(j),Q1(j),RIN(2j + 1 downto 2j),ROUT(2j + 1 downto 2j));
结束生成;结束行为;
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------
在综合上面的代码时,我遇到了以下错误。
错误:
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------
开始:“检查PNPHSTAGE的语法”。运行xst ...命令行:xst -intstyle ise -ifn /home/prasaddn57/Xilinx/ReconfigurablePNPH/PNPHSTAGE.xst -ofn PNPHSTAGE.stx ==========
==================================================
============= * HDL编译* =================================
========================================编译vhdl文件“/ home / prasaddn57 / Xilinx
/ReconfigurablePNPH/PNPH.vhd“在库work.Entity编译.Entity(架构)编译。编译vhdl文件”/home/prasaddn57/Xilinx/ReconfigurablePNPH/PNPHSTAGE.vhd“在图书馆工作。实体编译.ERROR:HDLParsers:3260 -
“/home/prasaddn57/Xilinx/ReconfigurablePNPH/PNPHSTAGE.vhd”第22行。预期的物理文字名称:常量'j'意外.ERROR:HDLParsers:3260 - “/ home /prasaddn57 / Xilinx / ReconfigurablePNPH / PNPHSTAGE.vhd”第22行
。物理文字名称:常量'j'意外.ERROR:HDLParsers:3260 - “/ home /prasaddn57 / Xilinx / ReconfigurablePNPH / PNPHSTAGE.vhd”第22行。物理文字名称:C
onstant'j'inmermer.ERROR:HDLParsers:3260 - “/home/prasaddn57/Xilinx/ReconfigurablePNPH/PNPHSTAGE.vhd”第22行。预期的物理文字名称:常量'j'意外.ERROR:HDLParsers:3324 - “/ home /
prasaddn57 / Xilinx / ReconfigurablePNPH / PNPHSTAGE.vhd“第22行.IN模式PNPH的正式RIN没有默认值必须与实际值相关联./opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/xst:
符号查找错误:/opt/Xilinx/14.7/ISE_DS/ISE//lib/lin64/libXst_LogicOpt.so:未定义符号:_ZN20Xst_CheckPropVisitorD1EvProcess“检查语法”失败
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------
我请求有人帮助我。
提前致谢。
问候
N Prasad,
IIT Kharagpur,印度。

回帖(4)

杨玲

2020-4-1 09:24:25
这必须是一个非常误导性的错误消息。
问题是你写了“2j”并期望合成器理解为“2次j”。
改为编写“2 * j”应该清除该错误并导致下一个错误,即在“生成”之后省略了“开始”。
所以你想要这样的东西:
开始U_GEN:对于0到255的j,生成开始U0:PNPH端口映射(Clk,Rst,D0(j),D1(j),Q0(j),Q1(j),RIN(2 * j + 1 downto 2)
* j),ROUT(2 * j + 1 downto 2 * j));
结束生成;结束行为;
- Gabor
在原帖中查看解决方案
举报

杨玲

2020-4-1 09:29:51
这必须是一个非常误导性的错误消息。
问题是你写了“2j”并期望合成器理解为“2次j”。
改为编写“2 * j”应该清除该错误并导致下一个错误,即在“生成”之后省略了“开始”。
所以你想要这样的东西:
开始U_GEN:对于0到255的j,生成开始U0:PNPH端口映射(Clk,Rst,D0(j),D1(j),Q0(j),Q1(j),RIN(2 * j + 1 downto 2)
* j),ROUT(2 * j + 1 downto 2 * j));
结束生成;结束行为;
- Gabor
举报

李琴

2020-4-1 09:43:33
谢谢Gabor!
举报

黄淳

2020-4-1 09:56:13
prasadn57写道: 
U0:PNPH端口映射(Clk,Rst,D0(j),D1(j),Q0(j),Q1(j),RIN(2j + 1 downto 2j),ROUT(2j + 1 downto 2j));
专业提示:对于您的实体实例化,您正在使用所谓的“位置关联”。
这意味着根据形式在端口列表中出现的位置,存在实际(您连接到实例化实体的信号)和形式(实体端口列表中列出的信号)的隐式映射。
不要那样做。
这是一个灾难的处方,特别是对于具有非平凡数量的端口的实体。
相反,使用所谓的“命名关联”,您可以明确地调出形式及其与实际的连接。
所以假设你有一个像这样的实体:
实体smallfifo是 
通用( 
FDEPTH:自然; 
FWIDTH:自然); 
港口 ( 
fReset:在std_logic中;
- 重置地址和标志 
wrClk:在std_logic中;
- 写侧逻辑时钟 
wrEn:在std_logic中;
- 写上fifo 
wrData&冒号;
在std_logic_vector中(FWIDTH - 1 downto 0);
- 要写的数据 
wrFull:out std_logic;
- 当真实时,满满的 
rdClk:在std_logic中;
- 驱动读取逻辑的时钟 
rdEn:在std_logic中;
- 读取FIFO 
rdData&冒号;
out std_logic_vector(FWIDTH - 1 downto 0);
- 从FIFO读取 
rdEmpty:out std_logic);
- 当真实时,fifo为空
最终实体smallfifo;
你的实例化看起来像这样: 
u_smallfifo:entity work.smallfifo 
通用地图( 
FDEPTH => 32, 
FWIDTH => 18) 
港口地图( 
fReset => idcmRST, 
wrClk => adcClk, 
wrEn => pbWriteEnable, 
wrData => pbWriteData, 
wrFull =>打开, 
rdClk => ioClk200_p, 
rdEn => pbReadEnable, 
rdData => pbVideoOut, 
rdEmpty => pbFifoEmpty);
在我的例子中,很清楚哪些信号映射到哪些端口。
并且信号在端口映射上出现的顺序并不重要,尽管在样式和维护方面它们应该与它们在实体端口列表中声明的顺序相同。
----------------------------是的,我这样做是为了谋生。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分