国产智多晶FPGA基于Verilog的设计开发流程

大家好,我是小梅哥,这里给大家介绍国产FPGA厂家“西安智多晶”微电子的FPGA基于Verilog进行逻辑设计的开发流程,步骤详细,可作为大家的评估参考。本博客将陆续发表更多国产FPGA的开发和使用方法。

1、打开HQFPGA软件
在D:\hq_2.13.3_032022_win64\build\win_x64\hqui下双击“hqui.exe”文件以打开HQFPGA集成开发环境。

当然,大家也可以选中后右键选中发送到桌面快捷方式,下次就可以直接在桌面上双击图标打开了。


 

2、创建FPGA工程
点击新建工程选项以打开新建工程向导。

在弹出的工程创建向导界面,依次输入工程存放位置,工程名称,然后点击下一步。



在添加源文件的页面,添加你已有的设计源文件,如果没有,则直接点击“完成”即可,不用在乎上方的“至少增加一个源文件”的提示。



3、编写Verilog设计代码。
点击“设计管理”选项以打开设计文件管理工具。注意,如果已经打开了其他工具(调试,下载,物理约束,时序约束等其他窗口,必须先关闭那些窗口,才能打开设计管理)。



在打开的设计管理器中,依次点击“文件”->“新建文件”以新建一个文件,或者使用Ctrl + N快捷键。


在打开的文件中输入代码内容,如LED流水灯的实验,可以使用下述代码。

  1. module fpga_led(
  2.         Clk,
  3.         Rst_n,
  4.         Led
  5. );
  6.         input Clk;
  7.         input Rst_n;
  8.         output reg[3:0]Led;
  9.         
  10.         reg [24:0]cnt;
  11.         always@(posedge Clk or negedge Rst_n)
  12.         if(!Rst_n)
  13.                 cnt <= 0;
  14.         else if(cnt >= 25'd12_499_999)
  15.                 cnt <= 1'd0;
  16.         else
  17.                 cnt <= cnt + 1'd1;
  18.         
  19.         always@(posedge Clk or negedge Rst_n)
  20.         if(!Rst_n)
  21.                 Led <= 4'b1110;
  22.         else if(cnt == 25'd12_499_999)
  23.                 Led <= {Led[2:0],Led[3]};
  24.                
  25. endmodule



编写完成后,点击保存图标(不支持使用Ctrl + S快捷键)以保存文件。

在弹出的文件保存页面,在工程目录下新建一个rtl文件夹,然后将待保存文件命名并加上.v后缀,然后点击保存在rtl文件夹下。





由于设计管理器不会自动对创建的文件添加进工程,因此需要我们手动点击添加文件按钮,然后选择我们刚刚保存的文件。如下图所示。





保存完成后,点击语法检查图标(或使用Ctrl + R)快捷键以执行语法检查。




当然,此时添加,软件会报告语法检查失败,这是因为我们工程刚刚创建,还没有指定工程的顶层设计文件,导致设计管理器无法自动的执行语法检测。





此时,我们需要点击OK,接着直接关闭设计管理器(提示有语法错误未保存也不要紧,直接OK即可),然后在HQFPGA软件主界面上点击“工程属性”以打开工程属性设置,

在工程属性界面中,点击“+”号以添加文件,然后选择我们需要设置为顶层的设计文件,



然后我们再打开设计管理器,就能够发现设计文件已经自动添加好了。点击语法检查,也能够通过。如果有提示语法错误,请根据提示信息修改对应位置。


至此,设计输入就完成了。关闭设计管理器以进行下一步操作。




4、进行物理管脚约束
点击“物理约束”选项以打开物理管脚约束界面。



此时会提示读入设计,点击“确定”即可。

读入完成后,会弹出约束方式的对话框,我们推荐使用约束编辑器的方式进行,因为可以以图形化的方式,对管脚的多种参数进行设置,因此直接选择“约束编辑器”,然后点击“确定”





在弹出的物理约束界面中,根据物理电路板信息,输入对应的管脚名。下图为按照我们设计的开发板上相关管脚信息执行的物理管脚约束。



注意,每个管脚位置输入完成后记得按下键盘Enter键以使输入生效。
物理位置约束完成后,点击“保存”图标以保存当前物理管脚约束信息。





保存不需要用户手动指定文件保存名和位置,因此点击完按钮后,直接退出即可。


5、编译设计
点击“全部运行”按钮以对设计进行全编译并生成编程bit文件。



6、烧录bit文件到目标板
全部运行完毕且无错误后,点击“下载/编程”以打开程序烧录界面。



连接好开发板、下载器、装好下载器驱动后,给开发板供电,然后在下载器界面点击“检测器件”按钮。如果能检测到SA30K器件,则表明JTAG连接成功。

选择文件类型为“bit”,点击“打开”按钮,在工程路径下的“hq_run”文件夹下找到bit格式的文件并选择。



点击“下载”按钮以执行先下载。

下载完成后,记得按下开发板上的S2按键,复位下设计,设计才能正确进入复位状态并开始正确运行。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Xilinx官方翻译的《FPGA并行编程》,本书以10个数字信号处理为例,带我们了解HLS如何使C代码并行运行,深入浅出的将HLS实现方法,硬件设计的考虑 以及系统优化都一一介绍。本书可以在小白仓库微信公众号号免费下载,还可以在Xilinx学术合作找到相应的下载链接。 本人还制作了该书的读书笔记,详情请见《FPGA并行编程》读书笔记专栏启动说明:https://blog.csdn.net/qq_35712169/article/details/99738006 。 本书将着重介绍高层次综合(HLS) 算法的使用并以此完成一些比较具体、细分的FPGA应用。我们的 目的是让读者认识到用HLS创造并优化硬件设计的好处。当然,FPGA的并行编程肯定是有别于在多核处理 器、GPU上实行的并行编程,但是一些最关键的概念是相似的,例如,设计者必须充分理解内存层级和带 宽、空间局部性与时间局部性、并行结构和计算与存储之间的取舍与平衡。 本书将更多的作为一个实际应用的向导,为那些对于研发FPGA系统有兴趣的读者提供帮助。对于大学教育来说,这本书将更适用于高阶的本科课程或研究生课程,同时也对应用系统设计师和嵌入式程序员有 所帮助。我们不会对C/C++方面的知识做过多的阐述,而会以提供很多的代码的方式作为示范。另外,读者 需要对基本的计算机架构有所熟悉,例如流水线(pipeline),加速,阿姆达尔定律(Amdahl's Law)。以寄存器传输级(RTL)为基础FPGA设计知识并不是必需的,但会对理解本书有所帮助。
FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,它能够在电路中实现各种数字逻辑功能。Verilog语言则是一种硬件描述语言,用于描述数字系统的行为和结构。本文将通过基于Altera EP4CE10(一款FPGA芯片)进行的FPGA Verilog开发实战指南,向读者介绍如何使用Verilog语言开发FPGA应用。 首先,选择合适的开发工具,例如Altera Quartus Prime软件。在Quartus中,创建一个新的工程,并添加Verilog源文件,用于编写FPGA应用的逻辑代码。在编写代码时,需要了解基本的Verilog语法和模块化设计的原则。 接下来,将FPGA芯片选项设置为Altera EP4CE10,并进行引脚分配。引脚分配是将逻辑信号与FPGA芯片引脚相连接的过程。确保正确地将输入和输出信号与特定引脚相连接,以实现所需的功能。 然后,进行逻辑编译和映射。逻辑编译将Verilog代码转换为低级逻辑网表,并进行逻辑优化。映射阶段将逻辑网表映射到FPGA芯片中的逻辑单元和开关资源。 在映射之后,进行时序分析和布线。时序分析用于验证设计在时序要求下的正确性,以确保信号传输的稳定性和准确性。布线是将逻辑资源与FPGA芯片中的物理资源相互连接的过程。 最后,进行编程和调试。将生成的比特流文件下载到FPGA芯片中,并进行信号调试和性能优化。通过使用逻辑分析仪等工具,可以检查信号的波形和逻辑的正确性,并根据需要进行调整和改进。 在进行FPGA Verilog开发实战时,需要具备较好的数字电路基础和Verilog语言掌握程度。通过实践和经验积累,不断提升对FPGA开发的理解和技能,才能开发出高效和可靠的FPGA应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值