【中科亿海微EQ6HL45开发平台测评体验】+ 全新建立FPGA项目——ehiway_fpga_test0
[复制链接]
本帖最后由 mars4zhu 于 2022-10-27 11:15 编辑
全新建立FPGA项目——ehiway_fpga_test0
按照操作步骤,一步步新建工程的流程如下:
流程在最左侧的“Flow Navigator”面板上:
- 具体操作如下:
-
-
- 新建工程,选择目标文件夹、选择RTL工程、添加源文件(或者直接Next跳过)、添加约束文件(或者直接Next跳过)、选择器件、结束。
-
-
- 创建新的源文件:
-
-
运行综合:点击左侧“Flow Navigator”面板里的“Run Synthesis”
-
- IO引脚规划:待综合结束,无误后点击菜单栏Tools->IO Planning,
-
自动保存在约束文件.edc文件中,也可以直接编辑改文件,在IO引脚数较多的时候跟方便。
-
布局布线:点击左侧“Flow Navigator”面板里的“Run Implementation”
-
生成比特流文件:点击左侧“Flow Navigator”面板里的“Generate Bitstream”。
-
- 各阶段的报告结果:
-
-
- 下载:点击左侧“Flow Navigator”面板里的“Open Target”。
-
下载无反应及其修复
下载后LED没有按照预期的流水灯效果,核心板上的INIT_B指示灯亮起,意味着配置失败。尝试多次后依然无果,首先怀疑硬件接线问题,导致断路或者nRST短路到GND,使得裸机一直在复位状态,为了排除,直接将LED引脚赋值,如下:
module flow_led(
input sys_clk , //系统时钟
input sys_rst_n, //系统复位,低电平有效
output reg [3:0] led //4个LED灯
);
assign led = 4'd1100;
endmodule
综合后下载,依然没有任何反应。打开给出的例程中的1_flow_led,编译下载后同样无反应。
最后在 打开必看/修改说明.docx 中才发现,必须设置settings里面的一个参数,才能下载正确。
经过测试,该参数设置为2、3、4,均可以成功下载,并且该参数数字越大,下载时间越长。
最终的流水灯效果与源代码:
verilog源代码如下:
`timescale 1 ps/ 1 ps
module top(
input nRST, CLK_50M,
output reg [3:0] LED
);
parameter COUNTER_MAX = 32'd10_000_000;
reg [31:0] clk_counter;
always @ (posedge CLK_50M or negedge nRST) begin
if (!nRST)
clk_counter <= 32'd0;
else
if (clk_counter < COUNTER_MAX)
clk_counter <= clk_counter + 1'b1;
else
clk_counter <= 32'd0;
end
reg last_nRST;
always @ (posedge CLK_50M) begin
last_nRST <= nRST;
end
always @ (posedge CLK_50M or negedge nRST) begin
if (!nRST)
LED <= 4'b1111;
else if (last_nRST == 1'b0)
LED <= 4'b1110;
else
if (clk_counter == COUNTER_MAX)
LED[3:0] <= {LED[2:0], LED[3]};
else
LED <= LED;
end
endmodule
PS:注意LED的阴极接到FPGA的IO,低电平点亮,高电平熄灭。
|