图片展示
  • DAP LINK
  • AG32 MCU
  • HIZYUAN
  • AMD/XILINX-2
  • AMD

AGM技术问题解答集锦

作者:Robin 浏览: 发表时间:2020-01-01 11:04:59 来源:HZY


 

 


HIYUAN05正蓝色统一_conew1

AGM 技术笔记

修订历史

版本

日期

原因

V0.01

2017/11/18

创建文档

V1.0

2018-3-25

修改操作步骤,同时更新烧录操作部分

工程技术笔记                               ©2017 HIYUAN TECH;  robin@agmsemi.com

1


HIYUAN05正蓝色统一_conew1

AGM 技术笔记

目  录

1. 适用范围

2. 文档概述

3. 免责声明

4. AG1280应用FAQ

4.1 烧录失败

4.2 芯片ID识别不到,程序无法下载

4.3 修改工程文件保存的目录后程序不工作

4.4 设计步骤的问题

4.5 新建的工程在quartus 跑 TCL 出錯

4.6 内部时钟的使用

4.7 无法使用外部晶振的输入信号

4.8 芯片上电顺序

4.9 代码从EPM570移植到AG1280后,部分模块不工作

4.10 JTAG口是否可以悬空不接上拉电阻

4.11 AG1280是否支持1.8V的IO标准

4.12 AG1280Q48端口配置问题—待确认

4.13 AG1280的GCLK脚不能设置为OUT,如何解决

4.14 BRAM的仿真

4.15 I/O可以选内部上拉或者下拉吗

4.16 AG1280Q48的推荐使用CLK引脚哪些?

4.17 Supra软件需要新的license么

4.18 tools-migrate菜单是灰化的,点了没反应

4.19 请问用AG1280,外部要接5V的I/O,能否用电阻进行分流。 I/O数据通信速率是2MHZ。

4.20 请问AG1280内部有用户可以使用ROM或者FLASH空间吗

4.21 AG1280烧录失败

4.22 AG1280Q48的I/O管脚的***驱动电流和灌电流是25mA.

5. Quartus II软件使用问题

5.1 Quartus II提示器件不支持

5.2 对Qaurtus 的版本有没有要求?用的是Prime的是否OK。

5.3 Quartus下载临时链接

6. AG256T100问题FAQ

6.1 内部有OSC,频率约4.5MHZ.

6.2 是否支持使用Quartus II中的Signaltap功能及IP支持情况

6.3 AG576SL100检测到芯片ID,但是烧录失败

6.4 AG576SL100工程转换后cpld型号变了

6.5 AG16KDDF256的数据手册有吗

7. SOC(FPGA+内置M3)使用FAQ

7.1 请问AG16KSDE176 支持LVDS吗,客户需要17对LVDS

7.2 内置的M3如何与FPGA逻辑通信

7.3 内置M3的SPI与UART配置

7.4 MCU的RAM的使用

7.5 要用MCU,如何和FPGA的RAM互联

7.6 该如何做双向I/O

7.7 工程里alta_mcu这个模块没有

7.8 是不是必须挂SDRAM?

7.9 FPGA和M3的调试

7.10 这个配置是不是需要两个Flash(FPGA一个,ARM一个?)

7.10.1 这个boot_addr在代码里找不到, AHB不用配置?

7.11 我用100M的PLL倍频的时钟,直接接入ARM端口,里面的频率是如何分频之类的?

7.12 FPGA和ARM一起的程序如何下载到FLASH里面去;

7.12.1 我用的PLL的输入时钟和输出时钟和例程不一样,sdc文件是不是需要修改?

7.12.2 用AG10K替换下EP4CE10以后,需不需要重新更新程序?用之前的下载近flash里面的程序可不可行?

7.12.3 ARM JTAG的引脚需不需要做额外的上拉之类的,还是直接分配引脚引出来就行

7.12.4 ARM端口JTAG/SW模式,我这边都无法找到器件

7.13 AG10KSDE176标准例程及断点设置

7.13.1 问下JLINK的IO location在哪里改呢

工程技术笔记                               ©2017 HIYUAN TECH;  robin@agmsemi.com

1


HIYUAN05正蓝色统一_conew1

AGM 技术笔记

1.   适用范围

基于AGM FPGA/CPLD的项目设计及开发。

2.   文档概述

以简单通俗易懂的流程说明,让用户直观的学习如何用Supra和Quartus II软件,完成AGM FPGA/CPLD的项目开发。

此文档主要是FAQ.

 

3.   免责声明

FAQ文档仅供参考,不承担由此带来的任何责任。如有疑问,欢迎与我们联系!

 

 

4.   AG1280应用FAQ

4.1        烧录失败

    问题:使用网购12元的ALTERA USB BLASTER下载器,安装驱动后,能够识别到器件,但是烧录了3个测试板都是以下出现同样的提示。

图 9.1 烧录失败

解决办法:更换烧录器试一试。

我是换用FT245+CPLD方案的ALTERA USB BLASTER烧录器后,顺利实现了程序下载。当然,也有客户是采用12元的烧录器烧录成功的,可能跟每个烧录器的质量也有一定的关系。所以当你遇到此问题,尝试使用质量更好烧录器试一试。***就是一开始就卖贵一些的烧录器,使用更放心一些,避免少走弯路。

 

4.2        芯片ID识别不到,程序无法下载

在Supra的Program界面中,出现无法识别器件的ID的情况,如下图。

}`QTP`B`98~624]KWQMF$CM

经过确认,是客户将芯片焊接反了,重新焊接之后,就可以顺利Program了。另外,也要留意JTAG口的线是否插反了,要确保是正确的连接JTAG烧录口。

 

4.3        修改工程文件保存的目录后程序不工作

问题:

将现有例程的文件夹重新命名,然后直接烧录编程文件,发现程序运行不正确。或者说,重新命名文件夹后,在Supra和Quartus软件中重新走一遍流程后,生产的烧录文件,烧录到芯片上,虽然可以成功烧录,但是功能不正常:流水灯常亮,不闪烁。

P5OO%2K]{`J)A(~GTKA%6YL

图 9.2 烧录窗口(目标文件夹名称已经修改加了日期)

原因分析:比如文件夹名称是LED_AG1280EVB_PLL2CLK,若修改了文件夹的名字,因为工程中包含有PLL的IP。经过重新编译和综合,PLL没有正常导入,重新Migrate后,可能导致烧录文件链接的地址信息不正确,以致出现烧录的文件不起作用的情况。

解决办法:

方法一:重新恢复源文件的路径,不要修改目录。

PKX1E5@9UD8JB40UX~2F}[E

图 9.3 烧录窗口

方法二:重新建一个工程,文件重新导入。

把led.v,led.asf, inpll.v和inpll.ip放到新空目录,比如新建一个TEST_LED文件夹。重新建工程,将保存地址选择放在TEST_LED目录下。然后重新Migrate一下。在Migrate的界面中,需要将IP导入,即将inpll.ip导入。然后再重来一遍。

图 9.4 导入PLL IP

然后重新在Quartus II中进行综合编译,编译成功后执行tcl。Tcl成功后,切换回Supra中进行Compile, Compile成功后,点击Program烧录。

 

4.4        设计步骤的问题

问题:

请问每次修改程序代码,比如我在LED程序里面添加功能,是否都需要完成以下步骤:

1、修改LED程序代码;

2、在Supra里面重新Migrate,导入PLL IP;

3、切换到Quartus II中对程序进行综合编译;

4、TCL;

5、返回Supra点击NEXT,直到下载程序的界面。

 

Reply:

只需要在***次建立Project的时候走这个流程。后续每次修改Quartus中的代码,直接点Quartus中的Compile design即可;Quartus中Compile通过后,切换到Supra中,将对应的工程直接选择Compile编译,编译后,选择Tools ----- Program。

 

4.5        新建的工程在quartus 跑 TCL 出錯

新建的空白工程,只在 top verilog 文件中增加了一個反向器,然後就開 quartus 跑TCL 出錯。

客户分享解决办法:

我在 Linux 上的 V18 和諧版本,可以成功了,並找到規律:如果首次運行 TCL 時,代碼有錯誤(昨天反向器接口列表***後多了一個逗號沒刪),就會出我昨天截圖的錯誤;首次代碼無誤,編譯通過,接下來再把代碼改錯,才能正常提示哪一行代碼有錯。

 

4.6        内部时钟的使用

问题:为什么使用内部的时钟,在端口列表上还出现clk. 如led(clk,rst,led,test1,test2);

Reply:

这端口列表还是要有这个clk,实际上clk这个不用接,或者接地,但是PLL IP模块没有clk编译不过。若是将clk分配到GND或者其他普通I/O上,Supra中Compile也会报错。注意:PLL 的输入时钟必须是芯片的全局输入时钟管脚(Pin_13,Pin_15,Pin_19 这三个)。所以在引脚分配上,还是要分配到IO Global上,比如PIN_13。

set_location_assignment PIN_13     -to clk

现在我设的这个PLL,test1输出大约37M,test2输出62MHz,芯片不同略有不同;如果你那里需要65M就用test2那个。IP先可以不用改,后面我们软件里会加入具体设置界面。

附:在led程序模块中,调用内部时钟模块inpll的程序清单如下:

inpll pll_inst(          // PLL

  .clkin(clk),

  .clkfb(test1), 

  .pllen(1'b1),

  .resetn(rst),

  .clkout0en(1'b1),

  .clkout1en(1'b1),

  .clkout2en(1'b0),

  .clkout3en(1'b0),

  .clkout0(test1),  //clkout0

  .clkout1(test2),  //clkout1

  .clkout2(),

  .clkout3(),

  .lock()

);

4.7        无法使用外部晶振的输入信号

用户用的是26MHZ的有源晶振,希望通过PLL倍频到78MHZ。但是一直没有成功。

Reply:

1、PLL输入类型选择PLLX。

2、客户后来检测发现,用原来测试的50MHZ的有源晶振,类型选PLLX可以了。之前没有时钟输出,是因为客户用的那个26MHZ晶振频率振幅太低了,导致FPGA没有识别到时钟信号。

4.8        芯片上电顺序

由于配置的FLASH要先启动完成,才开始配置PLD,所以1.2V需要比3.3V晚10-20ms后再启动。一般情况下,是将电源先供给3.3V的LDO, 然后再有3.3V供给1.2V的LDO。

  目前测试,也有1.2V晚100多us也配置成功的。

4.9        代码从EPM570移植到AG1280后,部分模块不工作

客户提出:通用的代码用MAX570验证没毛病,只要添加网线或者添加其他代码,就容易出现原来调试过的部分不工作的情况。单独模块测试,全部都正常。基本上确定芯片是没问题的,担心是软件布线存在问题。

客户继续尝试,反馈:实际工作也正常,就发现一个神奇的,事情,只设置CLK到通用IO,其他交给SUPERA来设置,那么就可以工作。

要是我设置IO,就有几率不工作。当然按照SUPRA自动设置的IO,手动设置IO,再编译也可以工作。

建议1:CLK必须要G开头的I/O 。客户的CLK确实已经连接到全局I/O: PIN_13。

建议2:Reset这些,建议也用G开头的。客户重新尝试,将Reset分配到G开头的全局I/O之后,设计的各个功能模块放在一起,都正常工作了。

 


工程技术笔记                               ©2017 HIYUAN TECH;  robin@agmsemi.com

1



因为WORD贴到网站上,文档太长,转化不完整,如果对相关问题感兴趣。欢迎E-mail to: robin@hizyuan.com 或者添加Q-Q  150-615-255.

暂无链接

电话:0755-2780 9180   E-mail: tech@hizyuan.com
地址:中国广东省深圳市宝安区新安街道广兴源互联网智慧科技园D栋508
Copyright 版权所有  海振远科技 All rights reserved  

在线客服
联系方式
热线电话
0755-27809180
E-mail地址
tech@hizyuan.com
二维码
二维码
微信在线客服-(添加请备注:海振远产品咨询)
在线客服
添加微信好友,详细了解产品
使用企业微信
“扫一扫”加入群聊
复制成功!
添加微信好友,详细了解产品
我知道了
粤ICP备19051499号-1