mars4zhu 发表于 2022-10-27 01:38

【中科亿海微EQ6HL45开发平台测评体验】+ 全新建立FPGA项目——ehiway_fpga_test0

本帖最后由 mars4zhu 于 2022-10-27 11:15 编辑

<h2>全新建立FPGA项目&mdash;&mdash;ehiway_fpga_test0<a href="https://mars4zhu.loca.lt/EQ6HL45_Demo_Notes.html#fpgaehiway-fpga-test0" title="Permalink to this heading"></a></h2>

<section id="id1">
<h3>按照操作步骤,一步步新建工程的流程如下:<a href="https://mars4zhu.loca.lt/EQ6HL45_Demo_Notes.html#id1" title="Permalink to this heading"></a></h3>

<p>流程在最左侧的&ldquo;Flow Navigator&rdquo;面板上:</p>

<dl>
        <dt>具体操作如下:</dt>
        <dd>
        <ol>
                <li>
                <dl>
                        <dt>新建工程,选择目标文件夹、选择RTL工程、添加源文件(或者直接Next跳过)、添加约束文件(或者直接Next跳过)、选择器件、结束。</dt>
                        <dd></dd>
                </dl>
                </li>
                <li>
                <dl>
                        <dt>创建新的源文件:</dt>
                        <dd></dd>
                </dl>
                </li>
                <li>
                <p>运行综合:点击左侧&ldquo;Flow Navigator&rdquo;面板里的&ldquo;Run Synthesis&rdquo;</p>
                </li>
                <li>
                <dl>
                        <dt>IO引脚规划:待综合结束,无误后点击菜单栏Tools-&gt;IO Planning,</dt>
                        <dd>
                        <p>自动保存在约束文件.edc文件中,也可以直接编辑改文件,在IO引脚数较多的时候跟方便。</p>
                        </dd>
                </dl>
                </li>
                <li>
                <p>布局布线:点击左侧&ldquo;Flow Navigator&rdquo;面板里的&ldquo;Run Implementation&rdquo;</p>
                </li>
                <li>
                <p>生成比特流文件:点击左侧&ldquo;Flow Navigator&rdquo;面板里的&ldquo;Generate Bitstream&rdquo;。</p>
                </li>
                <li>
                <dl>
                        <dt>各阶段的报告结果:</dt>
                        <dd></dd>
                </dl>
                </li>
                <li>
                <dl>
                        <dt>下载:点击左侧&ldquo;Flow Navigator&rdquo;面板里的&ldquo;Open Target&rdquo;。</dt>
                        <dd></dd>
                </dl>
                </li>
        </ol>
        </dd>
</dl>
</section>

<section id="id2">
<h3>下载无反应及其修复<a href="https://mars4zhu.loca.lt/EQ6HL45_Demo_Notes.html#id2" title="Permalink to this heading"></a></h3>

<p>下载后LED没有按照预期的流水灯效果,核心板上的INIT_B指示灯亮起,意味着配置失败。尝试多次后依然无果,首先怀疑硬件接线问题,导致断路或者nRST短路到GND,使得裸机一直在复位状态,为了排除,直接将LED引脚赋值,如下:</p>

<pre style="background:#555; padding:10px; color:#ddd !important;">
    module flow_led(
    input               sys_clk,//系统时钟
    input               sys_rst_n,//系统复位,低电平有效

outputregled         //4个LED灯
);

    assign led = 4&#39;d1100;

    endmodule
</pre>

<p>综合后下载,依然没有任何反应。打开给出的例程中的1_flow_led,编译下载后同样无反应。</p>

<p>最后在 打开必看/修改说明.docx 中才发现,必须设置settings里面的一个参数,才能下载正确。</p>

<p>经过测试,该参数设置为2、3、4,均可以成功下载,并且该参数数字越大,下载时间越长。</p>
</section>

<section id="id3">
<h3>最终的流水灯效果与源代码:<a href="https://mars4zhu.loca.lt/EQ6HL45_Demo_Notes.html#id3" title="Permalink to this heading"></a></h3>

<p>verilog源代码如下:</p>

<pre style="background:#555; padding:10px; color:#ddd !important;">
`timescale 1 ps/ 1 ps

module top(
      input nRST, CLK_50M,
      output reg LED
);

parameter COUNTER_MAX = 32&#39;d10_000_000;

reg clk_counter;
always @ (posedge CLK_50M or negedge nRST) begin
      if (!nRST)
                clk_counter &lt;= 32&#39;d0;
      else
                if (clk_counter &lt; COUNTER_MAX)
                        clk_counter &lt;= clk_counter + 1&#39;b1;
                else
                        clk_counter &lt;= 32&#39;d0;
end
reg last_nRST;
always @ (posedge CLK_50M) begin
      last_nRST &lt;= nRST;
end

always @ (posedge CLK_50M or negedge nRST) begin
      if (!nRST)
                LED &lt;= 4&#39;b1111;
      else if (last_nRST == 1&#39;b0)
                LED &lt;= 4&#39;b1110;
      else
                if (clk_counter == COUNTER_MAX)
                        LED &lt;= {LED, LED};
                else
                        LED &lt;= LED;
end

endmodule
</pre>

<p>PS:注意LED的阴极接到FPGA的IO,低电平点亮,高电平熄灭。</p>
</section>

lugl4313820 发表于 2022-10-27 20:51

<p>入门FPGA需要准备些什么,一直不敢想入门。</p>
页: [1]
查看完整版本: 【中科亿海微EQ6HL45开发平台测评体验】+ 全新建立FPGA项目——ehiway_fpga_test0