【问题标题】:having trouble setting up two GB_IO pins无法设置两个 GB_IO 引脚
【发布时间】:2019-04-23 21:48:08
【问题描述】:

我使用以下代码设置我的 ICE40HX1K-VQ100 fpga 输入 外部时钟:

 SB_GB_IO gb_io1 (
    .PACKAGE_PIN( clk ),
    .GLOBAL_BUFFER_OUTPUT( gclk )
 );

这是用于引脚 IOL_6B_GBIN7。

就其本身而言,这可以正常工作,但我还需要输入外部事件 信号,所以我添加了这段代码:

SB_GB_IO gb_io2 (
   .PACKAGE_PIN( cmp ),
   .GLOBAL_BUFFER_OUTPUT( gcmp )
);

这是用于引脚 IOR_61_GBIN2。

嗯,这不是很好。我以为这就是 原始技术库的意思。如果我只使用 clk 我没问题。 CMP 别针不能用作电线。当我尝试使用上面的代码时,它仍然无法正常工作,并且就像在该引脚上看不到信号一样。

所以,在绞尽脑汁试图理解文档之后,我不得不大喊UNCLE。有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: io ice40


    【解决方案1】:

    我相信答案是SB_GB_IO 原语在用于gcmp 信号时需要一些参数。特别是指定defparam gb_io2.PIN_TYPE = 6'b000001; 之类的内容可能是有利的。请参考SBT_ICE_Technology_Library.pdf(可从 Lattice 网站获得,或在 iCEcube2 软件的目录文档中获得)以找到对原语参数可能性的描述。

    我不知道你的确切要求,你确定你需要一个用于gcmp 信号的全局缓冲区吗?也许像下面这样的东西会起作用?

    SB_GB_IO gb_io1 
      ( .PACKAGE_PIN(clk), 
        .OUTPUT_ENABLE(1'b1),
        .GLOBAL_BUFFER_OUTPUT(gclk)
        );
    defparam gb_io1.PIN_TYPE = 6'b000001;
    defparam gb_io1.PULLUP = 1'b0;
    defparam gb_io1.NEG_TRIGGER = 1'b0;
    defparam gb_io1.IO_STANDARD = "SB_LVCMOS";
    
    SB_IO cmp_pad 
      (.PACKAGE_PIN(cmp), 
       .OUTPUT_ENABLE(1'b1), 
       .D_IN_0(gcmp)); 
    defparam cmp_pad.PIN_TYPE = 6'b000001;
    defparam cmp_pad.PULLUP = 1'b0;
    defparam cmp_pad.NEG_TRIGGER = 1'b0;
    defparam cmp_pad.IO_STANDARD = "SB_LVCMOS";
    

    欢迎来到 Stack Overflow。

    【讨论】:

    • 正如我所写的,clk 信号工作正常。我原本以为模拟代码适用于事件信号。我已经阅读了所有文档,但看不到这些引脚是如何设置的。我想了解这一点,如果您能指出我会在文档中的哪个位置阅读它,我将不胜感激。我试图不编写这段代码,但知道我在做什么以及为什么。
    • @SteveBrown,我在答案中添加了对 ICE40 原语文档的不好参考。正如您知道如何使用原语一样,我假设您已经掌握了这些信息。
    • 感谢巴尔德的帮助。我看到了该代码,但我对周围的文档有疑问。我已经编程了 40 多年,使用过 20 多种不同的语言,但是,男孩,文档真的像泥巴一样清晰。我不喜欢没有足够解释或文档的“神奇”数字,它们让我发疯。我正在尝试您的 clk 行代码,并将让您和这里的其他人知道我的结果。我最终去了一个非全局引脚来处理另一个事件,它看起来没问题。
    • 在我看来,文档在大多数方面都明显缺乏。这很遗憾,因为我认为 Silicon Blue 做的很多事情都是对的。我想你知道令人钦佩的资源clifford.at/icestorm?最初的 ice65datasheet.pdf(如果你能找到的话)虽然已经过时,但也提供了一些关于 Silicon Blue 工程师思想的细节。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 2019-05-30
    相关资源
    最近更新 更多