微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 紧急求助!急啊!帮忙看以下程序啊

紧急求助!急啊!帮忙看以下程序啊

时间:10-02 整理:3721RD 点击:
singletap:process(sysclk,sysrst)
begin
if(sysrst='1')then
sAddsubOut<=(others=>'0');
lCodeData <='0';
elsif (sysclk'event and sysclk ='1')then
lcodedata<=Incode;
if(lCodedata='0') then
sAddSubOut<=sprevtap+sIndata;
end if;
end if;
end process SingleTap;

紧急求助!急啊!帮忙看以下程序啊
看了,有什么问题?

紧急求助!急啊!帮忙看以下程序啊
没有什么问题啊!

紧急求助!急啊!帮忙看以下程序啊
我感觉第四句怪怪的,再审视审视

紧急求助!急啊!帮忙看以下程序啊
各位能将程序解释一下吗?看不懂啊!万分感激!

紧急求助!急啊!帮忙看以下程序啊
第4句是给变量全部赋0

紧急求助!急啊!帮忙看以下程序啊
再请问:
匹配滤波器程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity mf is
generic(
iIndatawidth: integer:=8;
ioutdatawidth: integer:=16;
ioversamplerate :integer:=16;
inumofchips:integer:=128
);
port(
incode :in std_logic;
indata :in std_logic_vector (iIndatawidth-1 downto 0);
sysclk :in std_logic;
sysrst: in std_logic;
resultut std_logic_vector (ioutdatawidth-1 downto 0)
);
end mf;
architecture virtex of mf is
type resultarray is array (inumofchips-1 downto 0)
of std_logic_vector(ioutdatawidth-1 downto 0);
signal zero:std_logic_vector(ioutdatawidth-1 downto 0);
signal loutcode :std_logic_vector(inumofchips-1 downto 0);
signal lresult:resultarray;
component mf_parallel_tap
generic(
iIndatawidth :integer :=8;
ioutdatawidth :integer :=16;
ioversamplerate : integer :=16
);
port(
incode:in std_logic;
indata:in std_logic_vector(iIndatawidth-1 downto 0);
prevtap :in std_logic_vector(ioutdatawidth-1 downto 0);
sysclk:in std_logic;
sysrst:in std_logic;
outcode ut std_logic;
resultut std_logic_vector(ioutdatawidth-1 downto 0)
);
end component;
begin
zero<=(others=>'0');
firsttap : mf_parallel_tap
generic map(
iIndatawidth =>iIndatawidth,
ioutdatawidth=>ioutdatawidth,
ioversamplerate=>ioversamplerate
)
port map(
incode =>incode,
indata=>indata,
prevtap =>zero,
sysclk =>sysclk,
sysrst =>sysrst,
outcode =>loutcode(0),
result => lresult(0)
);
InstTaps: for I in 1 to inumofchips-1 generate
Taps :mf_parallel_tap
generic map(
iIndatawidth =>iIndatawidth,
ioutdatawidth =>ioutdatawidth,
ioversamplerate=>ioversamplerate
)
port map(
Incode => loutcode(I-1),
Indata=> Indata,
Prevtap =>lresult(I-1),
sysclk => sysclk,
sysrst =>sysrst,
outcode => loutcode(I),
result =>lresult(I)
);
end generate InstTaps;
Generateresult : Result<=lResult(inumofchips-1);
end virtex;
在编译时:当inumofchips=128时,编译的进度条走了一点一就停住了。也不报错,也不能通过。
当inumofchips=16时就能通过
在波形仿真时,输出为0。
请问,这是为什么?多谢!

紧急求助!急啊!帮忙看以下程序啊
程序应该没什么问题。
主要是你分配这么大的存储空间,你机子的内存被吃光了,所以编译起来灰常灰常慢。:)

紧急求助!急啊!帮忙看以下程序啊
你说的是inumchips太大吗?
那波形仿真为什么有出问题呢?

紧急求助!急啊!帮忙看以下程序啊
这个你就要自己查查看了,也许是原理上什么地方有错,如果一点错也没有,仿真也就没意义了。

再请问这一句是什么意思?
zero<=(others=>'0'
还有就是,在codedata前+了个L是什么意思啊?
上面那段程序是我在资料上找的,有很多地方看不太懂。请多多指教!不甚感激!

紧急求助!急啊!帮忙看以下程序啊
1。zero<=(others=>'0')就是zero的所有位赋值‘0’;
2。加个l有什么不妥么?信号名字可以随便取的说。我估计是代表延时一拍的意思。你看看仿真波形就明白了。

紧急求助!急啊!帮忙看以下程序啊
再请问小编:程序中的FirstTap,InstTap表示什么啊?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top