UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Visitor xinxizyf
Visitor
1,236 次查看
注册日期: ‎09-20-2018

VHDL 2维(1*1)维端口仿真

转到解答

 

       大家好,我在端口需要用2维端口,实际是1*1维端口。在包集里声明类型,在端口引用。前仿通过,但后仿不认数据类型?请大家指教。

       工具xilinx14.1 ise6.5b

0 项奖励
1 个已接受解答

已接受的解答
Visitor xinxizyf
Visitor
962 次查看
注册日期: ‎09-20-2018

回复: VHDL 2维(1*1)维端口仿真

转到解答

后仿不对问题找到了,是读文件过多,造成读书不对,变红。我将数据灌倒ROM里就没事了。

怎么前纺读文件没事,后仿读文件就时间不够了?

0 项奖励
11 条回复11
Xilinx Employee
Xilinx Employee
1,226 次查看
注册日期: ‎07-17-2008

回复: VHDL 2维(1*1)维端口仿真

转到解答

6.5b是指Modelsim版本?

你是怎么启动后仿的?具体报什么错误?

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor xinxizyf
Visitor
1,210 次查看
注册日期: ‎09-20-2018

回复: VHDL 2维(1*1)维端口仿真

转到解答
是modelsim6.5b
我是在 simulation里选中post-route,然后选中测试脚本,点开modealsim--Simulaiton Post...,双击 也在design里产生后仿模型了,都一样。
错误是:
Type mismatch for port "data_group" in component "power extract" when binding the entity "power_extract".

data_group是我在包集里定义类型:
Type data_group is ARRAY(NATURE RANGE<>) of std_logic_vector(15 downto 0);
0 项奖励
Xilinx Employee
Xilinx Employee
1,201 次查看
注册日期: ‎07-17-2008

回复: VHDL 2维(1*1)维端口仿真

转到解答

在后仿仿真网表里面定义的特定数据类型会解维展开,testbench也要依据网表做相应修改,使得端口匹配。

可以在工程目录的netgen文件夹下找到后仿网表。

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor xinxizyf
Visitor
1,187 次查看
注册日期: ‎09-20-2018

回复: VHDL 2维(1*1)维端口仿真

转到解答
是展开了,找到两个文件,一个power_extract_map.vhd,一个power_extract_timesim.vhd。都展开为data_group: in std_logic_vector2(16 downto 0,15 dwonto 0).
是这俩文件吗? 而且是std_logic_vector2 ,不是std_logic_vector怎么我把原来类型替换掉?试试?
0 项奖励
Visitor xinxizyf
Visitor
1,183 次查看
注册日期: ‎09-20-2018

回复: VHDL 2维(1*1)维端口仿真

转到解答
怎么我把原来类型替换掉? 仅仅在测试脚本中,源文件不用吧?
0 项奖励
Visitor xinxizyf
Visitor
1,178 次查看
注册日期: ‎09-20-2018

回复: VHDL 2维(1*1)维端口仿真

转到解答
现将仅仅将测试脚本中数据改掉,但有一行引用:
read(li_i1,data_i0(i,15 downto 0)); --即将读了一行文件的变量付给array中的一个,
但modelsim error" Badly formed indexed name of "data_i0(i, 15 downto 0)", Index #2 is a range.

改data_i0(i)也不行,请指教
0 项奖励
Xilinx Employee
Xilinx Employee
1,133 次查看
注册日期: ‎07-17-2008

回复: VHDL 2维(1*1)维端口仿真

转到解答

只需要改测试文件,也就是维护两套测试文件,分别给前仿和后仿。

从错误信息来看,

" Badly formed indexed name of "data_i0(i, 15 downto 0)", Index #2 is a range.

应该单个数据读入。

可尝试data_i0(i,j)

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor xinxizyf
Visitor
1,109 次查看
注册日期: ‎09-20-2018

回复: VHDL 2维(1*1)维端口仿真

转到解答
我单个输入了,可以仿真,谢
0 项奖励
Visitor xinxizyf
Visitor
1,106 次查看
注册日期: ‎09-20-2018

回复: VHDL 2维(1*1)维端口仿真

转到解答

但现在还有一个问题,后仿有时不对。我建1*1维数组就是用LOOP循环。否则单个写太麻烦。但循环选大置入变量,再变量赋给信号,但第一个没错,后面数不对。也许一个时钟内循环太多了,变量跑不了那么快。我时钟100M。

0 项奖励
Visitor xinxizyf
Visitor
985 次查看
注册日期: ‎09-20-2018

回复: VHDL 2维(1*1)维端口仿真

转到解答
请帮助一下
仿真输入第一个数输入后,输出对,第二个数输入后,输出不对
0 项奖励
Visitor xinxizyf
Visitor
963 次查看
注册日期: ‎09-20-2018

回复: VHDL 2维(1*1)维端口仿真

转到解答

后仿不对问题找到了,是读文件过多,造成读书不对,变红。我将数据灌倒ROM里就没事了。

怎么前纺读文件没事,后仿读文件就时间不够了?

0 项奖励