使用TINACloud模拟和下载PIC电路到Intel FPGA开发板

Find AI Tools
No difficulty
No complicated process
Find ai tools

使用TINACloud模拟和下载PIC电路到Intel FPGA开发板

Table of Contents

  • 📚 Introduction
  • 🛠️ Simulating and Downloading a Pick Circuit to Intel FPGA Boards using TINA Cloud
  • 🎥 Demonstration of Simulating and Synthesizing a Circuit Displaying Prime Numbers using a PIC MCU
  • 📝 Step-by-Step Guide on Downloading the Circuit Configuration file to the Terasic DE10 Lite FPGA Board
  • 💻 VHDL Code Implementation of the PIC MCU Model
  • ➕ Implementation of the Register Array to Extend Display Capability
  • 📖 Overview of the Flash ROM Entity
  • 💡 Differences in C Code for Simulation and Synthesis
  • 📱 Test Circuit in a Real Environment using the Terasic DE10 Lite FPGA Board
  • 💽 Exporting the Project to Intel Quartus and Generating Configuration Data for the FPGA
  • 🔧 Conclusion

🛠️Simulating and Downloading a Pick Circuit to Intel FPGA Boards using TINA Cloud

在这个视频中,我们首先将演示如何使用TINA Cloud模拟和下载一款使用PIC MCU的电路来显示素数。随后,我们将下载这个电路的配置文件到Terasic DE10 Lite FPGA开发板。现在,打开TINA示例FPGA文件夹中的pic16f84素数生成器sim-de10-lite电路。这个电路可以计算1到9999之间的素数,并在4位数码管上显示出来。这个4位数码管有4倍8等于32个引脚。由于PIC的控制线数量有限,我们使用一个寄存器数组来扩展其能力。寄存器数组由display registers VHDL宏实现,并由PIC芯片写入寄存器。该宏有两个输入cell和d,两者都是VHDL标准逻辑向量,通过总线连接到MCU端口。cell线连接到MCU端口RA,而d连接到端口RB。十六进制向量是端口列表上的输出。每个寄存器输出都连接到适当的位数,将七段码传递给显示器。当cell输入的其中一条线变低时,MCU上所断言的七段码将存储在适当的输出寄存器中。值得注意的是,要点亮一个段,相应的引脚应该处于高电平,因为我们的显示器是共阴极类型。在这个电路中,PIC MCU模型是用VHDL编写的。VHDL代码是带有初始化的闪存程序存储器的8位微控制器的功能模型。clk1提供外部10兆赫的时钟。好了,现在让我们看看VHDL代码。双击MCU,然后点击HDL代码字段末尾的三个点。顶层实体是rtl_pick(位于第1807行),在体系结构部分(位于第1828行)绑定到rtl_pick实体。我们实例化和连接了主要的组件。这些组件分别是pick core(位于第1830行),1k乘以14位的flash_rom(位于第1890行)和pic16f_ram(位于第1898行)。从第1941行开始的实例化语句将这些声明的组件连接到体系结构中的信号。紧随其后的辅助VHDL代码用于支持复位和IO更新。现在让我们来看看flash_rom实体。该实体位于第63行,其中加载了素数生成器程序的ROM内容。case结构(位于第76行)描述了ROM的功能。程序代码的ROM内容(位于第78行及以下)以C语言编写,我们已将其转换为此VHDL代码。关闭HDL代码窗口和属性窗口,现在让我们来看看C代码。项目是使用Microchip MPLAB IDE的免费版本和Microchip XC8编译器创建并开发的。首先,我们定义sim,表示我们正在进行模拟(位于第三行)。如果定义了sim,则其他常量将在第6至第8行创建。xtalfreq是模拟器的处理器频率,而其他参数用于处理显示。该代码将素数从1到9999写入,并通过for循环(从第77行开始)生成并显示数字。注意,由于PIC16F84的内存有限,我们使用了非常简短的C代码来检查素数,但对于大数,此C代码运行速度较慢。我们有八位用于写入数字的端口B和四位用于选择要显示的端口A。通过将代表七段码的C代码写入数字的外部寄存器,并将代码分配给端口B(位于第102至103行),然后通过脉冲适当选择端口A上的线路(位于第106至111行),可以显示数字。现在让我们回到TINA Cloud的原理图编辑器。通过按下Dig按钮启动模拟,您可以看到写在显示器上的素数。停止模拟。如果您想跟踪数字节点的变化,请在视图菜单下切换到显示数字节点状态选项。在这种情况下,节点电平将显示出来,但模拟可能会变慢。现在,让我们在合成的C代码中进行主要的更改。在MPLAB编辑器中打开C源文件,并注释掉sim定义(位于第三行),这样我们就定义了新的常量,例如处理器速度(在第10行的50兆赫兹)。这是DE10 Lite FPGA开发板的振荡器频率。之后,我们可以编译项目并将结果二进制可执行文件转换为VHDL。该代码将放置在我们VHDL Pick模型的闪存ROM组件中。现在,打开TINA示例FPGA文件夹中的circuit_pick16f84素数生成器de10-lite电路。我们已将FPGA引脚连接到显示器的段和PIC MCU的时钟输入引脚。由于显示器的公共阳极是硬连线的,因此可以将显示器的COM引脚设置为悬空。现在,让我们使用Terrasic DE10 Lite FPGA开发板在真实环境中测试电路。单击“TNM”菜单,然后选择导出到FPGA软件。接下来,单击Intel Quartus。然后,打开并提取pix16f84素数生成器de10-lite fpga_export.zip文件。创建一个名为“designs”的文件夹,然后将所有生成的文件保存在这个新创建的文件夹中。要生成可下载的内容,首先必须创建Quartus Prime Lite项目。启动Quartus,选择“文件”,然后点击“新建项目向导”,点击下一步。输入工作目录名称(在这里是C:\designs)和项目名称(prime_generator)。然后点击下一步。再次点击下一步。现在添加源文件,从designs文件夹中选择所有vhd文件作为源文件,然后点击打开,点击下一步。在“设备系列”和“板设置”对话框中,选择MAX 10设备系列,并手动选择10M50DAF484C7G FPGA。然后点击下一步,将EDA工具设置为默认值,点击下一步,最后按下完成按钮。现在Quartus正在初始化我们的项目,我们可以检查vhd文件,复制实体名称,并在assignments菜单中将其设置为顶层实体。点击“assignments”,选择“设置”,将实体名称粘贴到对话框中的“顶层实体”字段中,然后点击OK。同样,让我们将qsf文件添加到项目中。点击“assignments”,选择“导入分配”,从designs文件夹中选择pic16f84素数生成器de10-lite.qsf文件,然后点击打开。qsf文件的内容将告诉软件哪些FPGA引脚将用于逻辑输入和输出。点击OK后,要为FPGA生成配置数据,请右键单击“编译设计”,然后点击“开始”。现在,通过USB将DE10 Lite与Quartus机器连接。当出现“Quartus Prime完全编译成功”消息时,请右键单击“程序设备”,然后点击“打开”。点击“启动”按钮以对设备进行编程。您将在100%的进度条处看到成功消息,并且您可以在显示器上看到素数。有关更多信息,请访问我们的网站www,或查看我们的YouTube频道www.youtube.com/user/tina-design-suite。

🎥Demonstration of Simulating and Synthesizing a Circuit Displaying Prime Numbers using a PIC MCU

在这个视频中,我们将演示如何使用TINA Cloud模拟和合成一款使用PIC MCU的电路来显示素数。

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.