eee 发表于 2011-10-10 22:11:59

输入两个正弦信号
经滤波输出其中一个
这个滤波器
该如何写呀?
不使用IPCORE

eee 发表于 2011-10-10 22:17:41

跪求高手解答
NgdBuild:604 - logical block 'DATA_OUT/RAM' with type 'RAM_16800' could
   not be resolved. A pin name misspelling can cause this, a missing edif or ngc
   file, or the misspelling of a type name. Symbol 'RAM_16800' is not supported
   in target 'virtex5'.
哪个高手遇到过这个问题 急需解答多谢了

eee 发表于 2011-10-10 22:19:10

一个led闪烁灯求解答
module ledwater (clk_50M,led_out);
input   clk_50M;       //系统时钟输入50Minputpin23
                     //意味每一秒要变化50,000,000HZ

outputled_out;       //每一秒闪烁一下

reg count;//分频计数器,25,000,000HZ
regdiv_clk;   //利用分频计数器得到显示一秒的闪烁效果
regled_out;

//分频计数器。得到一秒的频率
always @ ( posedge clk_50M )
begin
if ( count==25000000 )
begin   //我们的时钟本身是每一秒要变化50,000,000HZ
         //我们现在用count这个计数器让它自加到25,000,000HZ
div_clk<=~div_clk;//在这里我们就得到了0.5秒变化一次的信号。
                      //所以一个周期就是1Hz也就是一秒。
   count<=0;          //把计数器清零。
end
else
count<=count+1;   //计数器自加。
led_out <= div_clk;//利用分频计数器得到显示一秒的闪烁效果
                      //在LED灯上面表现出来。
end

endmodule


请问
reg count;//分频计数器,25,000,000HZ      这个是什么意思   

if ( count==25000000 )
2个语句有什么联系   为什么我改一个后   灯就不闪烁了

eee 发表于 2011-10-10 22:21:07

程序错误
大家帮忙看看下面的程序,有错误,帮忙改改,万分感谢
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity mycounter_60 is
    port(clk,clr,en,bcd1wr,bcd10wr:in std_logic;
         din:in std_logic_vector(3 downto 0);
         bcd1: out std_logic_vector(3 downto 0);
         co: out std_logic;
         bcd10: out std_logic_vector(2 downto 0));
end mycounter_60;

architecture art2 of mycounter_60 is
signal bcd1n:std_logic_vector(3 downto 0);
signal bcd10n:std_logic_vector(2 downto 0);
begin
    PROCESS(clk,clr,en,bcd1wr) is
    begin
      if(clr='0') then
            bcd1n<=(others=>'0');
            bcd10n<=(others=>'0');
      elsif(clk'event and clk='1') then
            if(bcd1wr='1' and en='1') then
                bcd1n<=din;
            elsif(en='1') then
                bcd1n<=bcd1n+1;
                if(bcd1n>=9) then
                  bcd1n<="0000";
                end if;
            end if;
      end if;
    end process;
   
    process(bcd10wr,en,bcd1n) is
    begin
      if(bcd10wr='1' and en='1') then
            bcd10n<=din(2 downto 0);
      elsif(bcd1n=9 and en='1') then
            bcd10n<=bcd10n+1;
            if(bcd10n=5) then
                bcd10n<="000";
                co<='1';
            else
                co<='0';
            end if;
      end if;
    end process;
   
    bcd1<=bcd1n;
    bcd10<=bcd10n;
end art2;

夏宇闻 发表于 2011-10-11 15:16:31

本帖最后由 夏宇闻 于 2011-10-11 15:21 编辑

一个led闪烁灯求解答
module ledwater (clk_50M,led_out);
input   clk_50M;       //系统时钟输入50Mi ...
eee 发表于 2011-10-10 22:19 http://www.fpgaw.com/images/common/back.gif
这个寄存器有25位,当计数值到25000000后就清零,重新从零开始计数。认真读书,把基本语法搞懂后再提问题我没有时间回答书上已明确讲述的内容。

夏宇闻 发表于 2011-10-11 15:27:54

本帖最后由 夏宇闻 于 2011-10-11 15:29 编辑

跪求高手解答
NgdBuild:604 - logical block 'DATA_OUT/RAM' with type 'RAM_16800' could
   not be res ...
eee 发表于 2011-10-10 22:17 http://www.fpgaw.com/images/common/back.gif

从错误信息看很可能你引用的IP核在Vertex5器件的库中不存在,也有可能库的路径设置不正确,也可能是引脚名拼写错误,总之具体错误必须根据提示逐一排除。

夏宇闻 发表于 2011-10-11 15:45:03

输入两个正弦信号
经滤波输出其中一个
这个滤波器
该如何写呀?
不使用IPCORE
eee 发表于 2011-10-10 22:11 http://www.fpgaw.com/images/common/back.gif
你应该先学会用Matlab如何滤掉那个不想要的正弦信号。然后再学会如何设计数字系统来解决这个问题。信号处理的数学方法在先,逻辑电路设计在后。

ccc 发表于 2011-10-11 21:18:07

请问在test bench文件中inout变量应怎么定义呀?

夏宇闻 发表于 2011-10-12 05:48:31

请问在test bench文件中inout变量应怎么定义呀?
ccc 发表于 2011-10-11 21:18 http://www.fpgaw.com/images/common/back.gif
在testbench中包括一个激励模块在该模块的端口上定义一inout端口。

ys_66888 发表于 2011-10-13 11:25:24

夏老师,您的联系方式方不方便与我留一下呢?QQ:757256737,邮箱可发至QQ邮箱。谢谢!
页: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18
查看完整版本: 至芯科技【夏宇闻教授专栏】与你一起搞定FPGA设计!