当前位置:首页 > 新闻资讯 > FPGA之家动态 >

FPGA/HDL 人员开发利器-TerosHDL(开源 IDE)

时间:2024-07-30      来源:网络搜集 关于我们 0

HDL 人员开发利器-TerosHDL(开源 IDE)

https://terostechnology.github.io/terosHDLdoc/about/about.html

TerosHDL是啥

TerosHDL 的目标是为 HDL 开发人员提供一个开源 IDE,该 IDE 具有软件开发人员常用的功能。IDE 包含一堆工具,其中最重要的是VSCode 插件。一些工具是由Teros Technology组织开发的,而另一些则来自开源项目。所有工具都组织在不同的后端,并通过插件暴露给 GUI。

安装

安装 VSCode

https ://code.visualstudio.com/

在扩展中搜索TerosHDLinside VSCode 并单击安装按钮:

安装其他:

python

安装过程略。

make

正常安装,不用修改,安装完毕后将下面路径(make的安装路径)加入到系统环境中。

C:\Program Files (x86)\GnuWin32\bin

安装系统下TerosHDL

在vscode中点击左侧TerosHDL,在终端输入:

pip install teroshdl

完成后如下:

检查缺少的环境

按照下图检查一下TerosHDL还缺少什么环境,自己按照需求按照即可。

完成后如下:

实例演示

我们新建一个状态机的.v文件,具体如下:

module fsm_sale(

input                   clk                 ,

input                   rst_n               ,

input      [1:0]        in

                  ,

output reg [1:0]        out                 ,

output reg              out_vld

);

//---------------定义信号----------------------//

reg  [3:0]              state             ;

//---------------定义信号状态变量--------------------//

parameter S0           = 4

b0001           ;

parameter S1           = 4

b0010           ;

parameter S2           = 4

b0100           ;

parameter S3           = 4

b1000           ;

//---------------一段式状态机--------------------//

always @(posedge clk or negedge rst_n)begin

   if

(!rst_n)begin

    state <= S0;

  out <= 0;

  out_vld <= 0;

   end

 else

 begin

    case

(state)

     S0:begin

      if(in

==1)begin

      state <= S1;out <= 0;out_vld <= 0;

    end

      else if(in

==2)begin

        state <= S2;out <= 0;out_vld <= 0;

        end 

    else

 begin

      state <= state;out <= 0;out_vld <= 0;

    end

   end

     S1:begin

        if(in

==1)begin

       state <= S2;out <= 0;out_vld <= 0;

    end

    else if(in

==2)begin

       state <= S3;out <= 0;out_vld <= 0;

    end

    else

 begin

      state <= state;out <= 0;out_vld <= 0;

    end 

       end

       S2:begin

          if(in

==1)begin

       state <= S3;out <= 0;out_vld <= 0;

      end

    else if(in

==2)begin

       state <= S0;out <= 0;out_vld <=1;

    end

    else

 begin

       state <= state;out <= 0;out_vld <= 0;

    end

         end

     S3:begin

        if(in

==1)begin

       state <= S0;out <= 0;out_vld <=1;

    end

    else if(in

==2)begin

       state <= S0;out <= 1;out_vld <=1;

    end

    else

 begin

       state <= state;out <= 0;out_vld <= 0;

    end

       end

         default:state <= S0; 

  endcase

 end

end

endmodule

使用VSCode打开:

点击右上角的编译按钮,等待一会:

点击查看网表:

就能看到电路综合出来的网表:

点击旁边的查看状态机就能看到状态机流程图:

点击module文档说明,就能看到这个项目/文件自动生成的说明文档(极其中意的功能):

导出来的文档如下:

Entity: fsm_sale

File: fsm_sale.v

Diagram

Generics

Generic nameTypeValueDescriptionS04b0001S14b0010S24b0100S34b1000

Ports

Port nameDirectionTypeDescriptionclkinputrst_ninputininput[1:0]outoutput[1:0]out_vldoutput

Signals

NameTypeDescriptionstatereg  [3:0]

Processes

unnamed: ( @(posedge clk or negedge rst_n) )Type: always

State machines

总结

作为一个开源的IDE,功能比较完整,其中仿真部分没演示,大家可以自行探索,真的极其适合初学者,安装过程不复杂,都是常规的应用,下面给出来上面需要的安装文件。

https://github.com/suisuisi/teroshdl

其实我最中意的还是文档功能,对于维护HDL真的超级方便。

最后就是TerosHDL使用视频教程:

END

往期精选 

  

【免费】FPGA工程师招聘平台

今日说“法”:FPGA芯片如何选型?

SANXIN-B01开发板verilog教程V3电子版

学员笔记连载 | FPGA Zynq 千兆以太网回环

就业班学员学习笔记分享:FPGA之HDMI、以太网篇

求职面试 | FPGA或IC面试题最新汇总篇

FPGA项目开发:204B实战应用-LMK04821代码详解(二)

项目合作 | 承接FPGA项目公告

FPGA就业班,2023.07.09开班,系统性学习FPGA,高薪就业,线上线下同步!

资料汇总|FPGA软件安装包、书籍、源码、技术文档…(2023.07.09更新)

FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。

FPGA技术江湖微信交流群

加群主微信,备注姓名+公司/学校+岗位/专业进群

FPGA技术江湖QQ交流群

备注姓名+公司/学校+岗位/专业进群


注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言