Files
eda_fpga/README.md
alainchen a4d694760e md
2021-02-15 02:23:08 +08:00

5.9 KiB
Raw Blame History

简介

此软件是用QT进行编写的一款可视化的用于FPGA设计的EDA软件。具备了传统FPGA EDA软件不具备的可视化设计功能使开发工作变得更简单、直观。特点是可视化和代码相结合灵活性高自动生成代码等。

image-20210214213005184

如何使用

image-20210214213219086

如上图,整个软件分为:

1.菜单栏:包括文件的新建、打开、保存等操作。软件首选项设置。代码的生成、查看与导出等功能。

2.工作区:对模块、端口的操作以及核心算法的代码编写和整体代码的查看。

3.属性栏:当在工作区中选中端口或是模块后,右侧将会显示它们的属性,可以进行修改。

4.常用模块区:用户可将自己常用的模块保存至此,方便重复利用。

5.信息输出区:用来记录一些工作中的信息以及显示错误和警告。

示例

创建一个功能为两输入的与门输入输出信号的数据长度均为2。

先在菜单栏的File->New->New Module中打开新建模块的对话框

image-20210214214031903

在对话框中输入想创建的模块名、各端口数量。本例的模块名为andgate输入端口数为2输出端口数为1

image-20210214214206653

点击OK后工作区将会新建一个名为andgate的模块

image-20210214214312177

其中左侧黄色的端口为输入端口右侧灰色的端口为输出端口。首先先将默认的端口名p1、p2、p3分别改名为a、b、out。a和b端口为输入端口out为输出端口。并将三个端口的数据长度都改成2位。

image-20210214214627832

修改完如图:

image-20210214214705402

其中Name为端口属性Inout为端口的输入输出类型DataType为wire或reg型DataSize为端口的数据长度Function为用户给端口的功能备注。

将端口属性设置完毕后在工作区的左下角的Code Eidtor中开始编写功能算法代码

assign out = a & b;

image-20210214215105141

关闭代码编辑器后代码将会自动保存此时可点击Code View查看生成的完整代码

image-20210215021916023

最后在菜单栏中Code->CodeGenerate可以将verilog代码保存至.v文件

image-20210214215401838

下方信息输出区也会有相应的提示

image-20210214215421023

这是保存的.v文件与Code View中的完整代码一致

image-20210215021949830

模块文件的保存则是在菜单栏中File->Save中进行

image-20210214215520178

保存的模块文件的文件名默认和模块的Name一致后缀为.mod

image-20210214215604370

也可选择Save As...来进行另存为

mod文件的打开在菜单栏的File->Open

image-20210214215715142

选中.mod文件后即可在工作区内打开

image-20210214215739450

下方的信息输出区也可导出为日志在File->Export...->Log

image-20210214220042606

image-20210214220127145

Export->Project是将此模块相关的.v、.mod、.log文件导出至一个目录中。

其他功能说明以及待开发的内容

Edit->Clear Log可以将信息输出区清空

image-20210214220251371

Tools->Preference->Language可以进行中英文切换

image-20210214220412076

File->Add to Popular的作用是将当前模块添加到左侧常用区正在开发

image-20210214220540866

File->New->New Constrain/Testbench是新建约束文件和新建测试文件正在开发

image-20210214220606964

左侧常用区下面的Example是示例模块还没做

image-20210214220727743

仿真功能(还没做)

多级模块以及例化(还没做)

……(还没做。。。)

文件目录

lang/目录:语言包

image-20210214222745369

pics目录:图片

release目录:发布后的可执行文件。eda_qt_Vxx.exe为未打包的程序不可单独使用。eda_qt_Vxx_boxed.exe为打包后的程序可不放在目录中单独使用。注如需要切换中英文则lang目录必须存在。

src目录:代码文件,如下

ui文件界面的设计

image-20210214221353054

每个ui文件对应一个同名的.cpp和.h文件

about_dialog.ui:“关于”的界面

code_editor_dialog.ui:代码编辑、查看器的界面

mainwindow.ui:主界面

new_constrain:新建约束文件的界面

new_module:新建模块文件的界面

new_testbench:新建测试文件的界面

以下都为.cpp和.h文件

tabs:工作区的类

moduleqwidget:未使用

module:模块的类,模块相关的属性和方法

constrain:约束文件的类(待开发)

testbench:测试文件的类(待开发)

port:端口类,端口相关的属性和方法

Qsci目录QScintilla是一个免费、跨平台、支持语法高亮的编辑控件。

image-20210214222136046

Chinese/English.ts:QT语言家文件

image-20210214222457488