<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>AG1280 on Rancho&#39;s Notes</title>
    <link>https://fan-pengfei.top/tags/ag1280/</link>
    <description>Recent content in AG1280 on Rancho&#39;s Notes</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sun, 30 Oct 2022 04:58:47 +0000</lastBuildDate>
    <atom:link href="https://fan-pengfei.top/tags/ag1280/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AG1280串口通信</title>
      <link>https://fan-pengfei.top/posts/ag1280%E4%B8%B2%E5%8F%A3%E9%80%9A%E4%BF%A1/</link>
      <pubDate>Sun, 30 Oct 2022 04:58:47 +0000</pubDate>
      <guid>https://fan-pengfei.top/posts/ag1280%E4%B8%B2%E5%8F%A3%E9%80%9A%E4%BF%A1/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;因为上次做的板子是将FPGA和一块MCU芯片集成在一块的，他们之间就需要通信，当然最容易实现的就是UART串口通信；
下面的代码是一个Demo代码，实现的功能是，RX接收到什么，TX就发送相同的数据；
FPGA芯片
AG1280Q48
时钟频率
48MHZ
波特率
921600
RX引脚
PIN_16
TX引脚
PIN_14
LED引脚
PIN_48
时钟输入引脚
PIN_15
复位引脚
PIN_17&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;具体代码如下：&lt;/p&gt;
&lt;h2 id=&#34;顶层模块&#34;&gt;顶层模块&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-verilog&#34; data-lang=&#34;verilog&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;module&lt;/span&gt; connect_mcu (&lt;span style=&#34;color:#66d9ef&#34;&gt;input&lt;/span&gt; clk,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;input&lt;/span&gt; rst_n,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;input&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;wire&lt;/span&gt; uart_rx,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;output&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;wire&lt;/span&gt; uart_tx,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;output&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;wire&lt;/span&gt; led);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;wire&lt;/span&gt; clk_pll_o; &lt;span style=&#34;color:#75715e&#34;&gt;//PLL时钟
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    inpll pll_inst (
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clkin(clk),		&lt;span style=&#34;color:#75715e&#34;&gt;// PLL.clkin MUST connect to PIN_XX_GB
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clkfb(clk_pll_o),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .pllen(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;&amp;#39;b1&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .resetn(rst_n),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clkout0en(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;&amp;#39;b1&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clkout1en(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;&amp;#39;b0&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clkout2en(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;&amp;#39;b0&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clkout3en(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;&amp;#39;b0&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clkout0(clk_pll_o),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clkout1(),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clkout2(),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clkout3(),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .lock()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    );
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;parameter&lt;/span&gt;  SYSTERM_CLK &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;26&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;&amp;#39;d48&lt;/span&gt;_000_000;               &lt;span style=&#34;color:#75715e&#34;&gt;//系统时钟频率
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;parameter&lt;/span&gt;  UART_BPS    &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;&amp;#39;d921600&lt;/span&gt;;                   &lt;span style=&#34;color:#75715e&#34;&gt;//串口波特率
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;wire&lt;/span&gt;       flag;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;wire&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;] data;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;// assign led = data[0];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    uart_receive
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    #(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .SYSTERM_CLK   (SYSTERM_CLK),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .UART_BPS      (UART_BPS)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    )
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    u_uart_receive(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clk          (clk_pll_o),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .rst_n        (rst_n),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .uart_rx      (uart_rx),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .receive_done (flag),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .uart_data    (data)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    );
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    uart_send
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    #(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .SYSTERM_CLK   (SYSTERM_CLK),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .UART_BPS      (UART_BPS)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    )
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    u_uart_send(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .clk          (clk_pll_o),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .rst_n        (rst_n),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .uart_in_data (data),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .uart_in_flag (flag),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .uart_tx      (uart_tx)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    );
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;reg&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;] led_counter;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;assign&lt;/span&gt; led &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; led_counter[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;// parameter SEC_TIME = 32&amp;#39;d48_000_000;//48M
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;reg&lt;/span&gt;	[&lt;span style=&#34;color:#ae81ff&#34;&gt;31&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;] cnt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;always&lt;/span&gt; @ (&lt;span style=&#34;color:#66d9ef&#34;&gt;posedge&lt;/span&gt; clk_pll_o &lt;span style=&#34;color:#66d9ef&#34;&gt;or&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;negedge&lt;/span&gt; rst_n)&lt;span style=&#34;color:#66d9ef&#34;&gt;begin&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (rst_n &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            cnt &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;&amp;#39;d1&lt;/span&gt;)) &lt;span style=&#34;color:#66d9ef&#34;&gt;begin&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            reg_data
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;[f1992c7fce5ccbde038bca329048345](img&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1.&lt;/span&gt;png)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>AG1280开发记录</title>
      <link>https://fan-pengfei.top/posts/ag1280%E5%BC%80%E5%8F%91%E8%AE%B0%E5%BD%95/</link>
      <pubDate>Wed, 12 Oct 2022 04:51:04 +0000</pubDate>
      <guid>https://fan-pengfei.top/posts/ag1280%E5%BC%80%E5%8F%91%E8%AE%B0%E5%BD%95/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;AG1280是一款国产的CPLD芯片，我准备将这个芯片和MCU配合起来，来做一些定制化的接口和功能，例如扩展UART接口，外接一些高速的AD/DA芯片；&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;芯片资源&#34;&gt;芯片资源：&lt;/h3&gt;
&lt;p&gt;AG1280资源：&lt;/p&gt;
&lt;p&gt;LUTs
1280&lt;/p&gt;
&lt;p&gt;Distributed RAM (Kbits)
10&lt;/p&gt;
&lt;p&gt;EBR SRAM (Kbits)
68&lt;/p&gt;
&lt;p&gt;Maximum User I/O pins
40&lt;/p&gt;
&lt;p&gt;Number of PLLs
1&lt;/p&gt;
&lt;p&gt;Package
48-Pin QFN&lt;/p&gt;
&lt;p&gt;价格很便宜，每颗单价大概是7元；&lt;/p&gt;
&lt;p&gt;我画了一个评估板，除了这颗CPLD芯片外，还加了一颗STM32F103C6T6芯片，他们之间有六个IO口互相连接来进行通信或者时钟输入；&lt;/p&gt;
&lt;p&gt;STM32F103C6T6资源：&lt;/p&gt;
&lt;p&gt;封装 / 箱体
LQFP-48&lt;/p&gt;
&lt;p&gt;核心
ARM Cortex M3&lt;/p&gt;
&lt;p&gt;程序存储器大小
32 kB&lt;/p&gt;
&lt;p&gt;数据总线宽度
32 bit&lt;/p&gt;
&lt;p&gt;ADC分辨率
12 bit&lt;/p&gt;
&lt;p&gt;最大时钟频率
72 MHz&lt;/p&gt;
&lt;p&gt;输入/输出端数量
48 I/O&lt;/p&gt;
&lt;p&gt;数据 RAM 大小
10 kB&lt;/p&gt;
&lt;h3 id=&#34;评估板设计&#34;&gt;评估板设计：&lt;/h3&gt;
&lt;p&gt;板子原理图如下：&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;b1d8d200e99d2ad024b82831d823bf7&#34; loading=&#34;lazy&#34; src=&#34;https://fan-pengfei.top/posts/ag1280%E5%BC%80%E5%8F%91%E8%AE%B0%E5%BD%95/img-1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;PCB视图如下：
&lt;img alt=&#34;d85be4f1a50fb9dc67385b0af4d328f&#34; loading=&#34;lazy&#34; src=&#34;https://fan-pengfei.top/posts/ag1280%E5%BC%80%E5%8F%91%E8%AE%B0%E5%BD%95/img-2.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;硬件设计注意&#34;&gt;硬件设计注意：&lt;/h3&gt;
&lt;p&gt;AG1280硬件设计中有几个需要特别注意的点：&lt;/p&gt;
&lt;p&gt;1、IO_GLOBE_S1(位于第9脚)、IO_GLOBE_S2(位于第13脚)、IO_GLOBE_S3(位于第15脚)、IO_GLOBE_S4(位于第19脚)、IO_GLOBE_N1(位于第41脚) 、IO_GLOBE_N2(位于第44脚) 、IO_GLOBE_N3(位于第46脚)可以作为全局时钟输入管脚，可用于输入全局时钟。&lt;strong&gt;但若要使用PLL，则只能从13、15和19管脚输入。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2、电路板载一个24MHz有源晶振，另外还可以通过PMOD接口从STM32的MCO时钟输出管脚获得时钟，它们被连接到具有PLL输入功能的管脚13、15上。&lt;/p&gt;
&lt;p&gt;3、AG1280的GPIO分为North和South两组，可以使用不同IO电平，以实现不同电平逻辑的转换。另外AG1280还需要3.3V电源作为片上Flash电源，且该电源域North组的IO电源共用，因此&lt;strong&gt;North组也只能使用3.3V的IO电源电压。South组却可以任选电源电压&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;4、&lt;strong&gt;AG1280还需要1.2V内核电源电压，且该电源应略迟于Flash电源上电，以方便Flash加载程序&lt;/strong&gt;。我的图2电路通过PMOD接口从STM32开发板获得3.3V电源，再用LDO芯片XC6206P122MR从3.3V向下稳压到1.2V内核电源，LDO后带有100uF电容,1.2V上电时间自然要落后于3.3V上电。&lt;/p&gt;
&lt;p&gt;板子已经发出去打样了，估计今天就能到，我到时候焊接测试下；&lt;/p&gt;
&lt;h3 id=&#34;软件&#34;&gt;软件：&lt;/h3&gt;
&lt;h4 id=&#34;环境配置&#34;&gt;环境配置：&lt;/h4&gt;
&lt;p&gt;AG1280的开发EDA软件Supera还不具备分析和综合电路的能力，但能实现其特有的PLL和片上RAM的IP核打包、综合后的布局布线、下载文件打包及下载等功能。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
