FPGArduino是一个挺有意思的项目,将一块FPGA开发板变为一个Arduino板,并且可以使用Arduino IDE进行程序编译下载,FPGArduino已经在很多FPGA开发板上试验过,可以参考http://www.nxlab.fer.hr/fpgarduino/,但是其中列出的FPGA开发板我都没有,只有一块DE2-35,幸好FPGArduino在DE0-nano上移植了,可以参考这个进行修改,下面就是修改步骤。
1、在http://www.nxlab.fer.hr/fpgarduino/下载源代码,本地文件夹名称为f32c-master。
2、安装Quartus II13.0SP1
3、在f32c-master\rtl\proj\altera目录下新建文件夹de2,内容就是de0nano目录下的文件,将bram文件夹下的de0_bram.qpf重命名为de2_bram.qpf。
4、在f32c-master\rtl\altera目录下新建文件夹de2,其内容就是de2nano目录下的文件。
5、修改f32c-master\rtl\proj\altera目录下的文件glue.qsf,修改如下两行:
- set_global_assignment -name VHDL_FILE ../../../../altera/de0nano/clocks/pll_50m.vhd
- set_global_assignment -name VHDL_FILE ../../../../altera/de0nano/top_bram.vhd
复制代码 改为
- set_global_assignment -name VHDL_FILE ../../../../altera/de2/clocks/pll_50m.vhd
- set_global_assignment -name VHDL_FILE ../../../../altera/de2/top_bram.vhd
复制代码 6、因为DE2的主板的时钟最高频率是50MHz,在做实验的时候决定就采用这个频率,为此需要修改top_bram.vhd,主要修改是:
- clk: in std_logic; -- 由clk_50m改为clk
- ......
-
- architecture Behavioral of glue is
- --signal clk: std_logic; -- 注释掉
- ......
- begin
-
- -- clock: entity work.pll_50m 注释掉
- -- generic map (
- -- C_clk_freq => C_clk_freq
- -- )
- -- port map (
- -- clk_50m => clk_50m,
- -- clk => clk
- -- );
复制代码 7、QuartusII打开工程de2,在QuartusII的配置设备中,选择CycloneII35作为目标器件。
8、配置管脚,如下,主要是时钟、串口收发、led灯、开关、按钮。 - set_location_assignment PIN_C25 -to rs232_rxd
- set_location_assignment PIN_B25 -to rs232_txd
- set_location_assignment PIN_AC21 -to led[7]
- set_location_assignment PIN_AD21 -to led[6]
- set_location_assignment PIN_AD23 -to led[5]
- set_location_assignment PIN_AD22 -to led[4]
- set_location_assignment PIN_AC22 -to led[3]
- set_location_assignment PIN_AB21 -to led[2]
- set_location_assignment PIN_AF23 -to led[1]
- set_location_assignment PIN_AE23 -to led[0]
- set_location_assignment PIN_N26 -to btn_left
- set_location_assignment PIN_N25 -to btn_right
- set_location_assignment PIN_G26 -to sw[0]
- set_location_assignment PIN_N23 -to sw[1]
- set_location_assignment PIN_P23 -to sw[2]
- set_location_assignment PIN_W26 -to sw[3]
复制代码9、编译下载到de2,可以发现8个红色led灯分为两组,左边四个为一组,右边四个为一组,可以发现这个两组led灯呈现出呼吸灯的状态,表示FPGArduino已经成功运行。下一步可以下载程序进去了 10、下载ArduinoIDE 1.6.5,打开“文件”-》“首选项”,在Additional Boards Manager URLs中输入如下地址: http://www.nxlab.fer.hr/fpgarduino/package_f32c_core_index.json
11、打开“工具”-》“开发板”-》“开发板管理”,下拉至最下面,会发现FPGArduino,点击右下角的install即可。网速比较慢,会耗时较长,每次下载进度长时间不动的时候,可以强行关闭Arduino IDE,然后重新安装,不过幸好可以断点续传,每次都是接着上次没有下载完的部分开始,不会从头开始。
12、安装完成后重新启动Arduino IDE,然后会在“工具”的菜单下出现如下内容:
13、当选择Terasic DE0-Nano作为目标板时,“工具”菜单变为如下:
14、此外,“文件”-》“示例”菜单也添加了新的项目,如下:
15、将DE2的DB-9串口连接到计算机上,然后使用Arduino IDE打开示例中的Basics中的Blink程序,在工具中板子选择为Generic FPGA Boards、CPU Architecture选择为MIPS、CPU Speed选择为50Mhz、RAM Size选择为32KB、Protocol选择为Hex 115.5kbps no verify RS232、PIN map选择为Generic MAP、端口就选择计算机上连接FPGA板串口的那个串口,然后就像操作普通Arduino板那样点击下载,即可。会发现DE2上的ledr5出现闪亮,下载成功。 --------------------- 作者:leishangwen 来源:CSDN
|