当前位置:网站首页>Development practice of ag1280q48 in domestic CPLD
Development practice of ag1280q48 in domestic CPLD
2022-06-12 15:56:00 【mcupro】
================= introduction ===================================================
I bought a very simple one from a treasure yesterday AG1280Q48 Minimum system core board , Easy to run up a small lamp , I have agreed with some friends to provide the operation steps and detailed operation steps , Borrow this BLOG I realize from 0 Start writing simply .
AG1280Q48 It's a domestic CPLD, Internal 1280 individual LE, amount to EPM570 Twice the amount of logical resources , And in the traditional CPLD On this basis, a PLL And a built-in RAM, This is welfare . More importantly, the current price is only at 10 element RMB within , It can be said to be very sweet .
================== About FPGA/CPLD The two basic stages of development ===========================
FPGA The approximate workflow for developing software is as follows :
step 1, First of all, we will VERILOG The code is analyzed and compiled into basic LUT Tables and registers , Although it's the same LUT surface , However, different functions can be realized by assigning different initial values to the interior . If other internal hard cores are used, such as PLL,DSP,RAM Instantiation is required . The result of this step is a net list (NETLIST).
step 2,NETLIST It's like a schematic diagram PCB The library is imported to PCB In the document , The next step is layout and wiring , Put the original in the actual position , Generate for each FPGA/CPLD Internally connected switches and LUT Initialization file of . This step can be called routing , Or implementation “Implament”.
Of course, this is only the simplest step , Register copy ignored ,RETIMING, Timing constraints and other details .
The first step is actually formulaic , Just know one FPGA/CPLD The basic logical units used in it , It can be realized according to the mature accumulation algorithm verilog Code to base logical unit mapping . That's why SYNPLIFY The emergence of third-party integrated software . Especially in QUARTUS and ISE The age when comprehensive ability is not so strong , There is still a certain market for these third-party software . Its generation NETLIST To the corresponding manufacturer EDA Perform layout and routing, and finally realize the generation of configuration BIT flow .
We want to , If we design a CPLD/FPGA Hardware , The basic logic elements used internally are compatible with a certain model of an existing manufacturer , Then we can use the compilation tools of existing manufacturers to generate net lists in the first step above (NETLIST), With this NETLIST Then we can use our own chip to LUT Information such as the placement and delay of the determines a specific LUT In which position , When necessary, in order to meet the time requirements, register copying is also required . These tasks require all kinds of information inside the chip of specific manufacturers , Only manufacturers can write this software .
===================AG1280Q48 The idea of software development ==============================
There are two basic steps mentioned above , In fact, the first step is more difficult , But foreign countries have mature algorithms and accumulated , After decades of development , It's mature . Domestic people are quite clever in making products , The first step is to borrow foreign development tools to generate NETLIST, Then you should do the second step to generate BIT flow , Finally, a download scheme will be implemented to generate BIT Stream burn into this CPLD Just go .
In addition, in pure RTL Make sure that there is no BRAM And other selected ALTERA Of FPGA/CPLD Built in hard core .
To be specific :AQ1280Q48 The basic logical units used are compatible CYCLONE 4 Of , We do a simple pure without any hard core RTL Design , use VERILOG Write the code , Again QUARTUS Select any one of them CYLONE 4 The model of , Make sure there are no errors in the code . stay AG Specified under software QUARTUS Project directory , after AG The software automatically converts from one directory to another QUARTUS project , Put this QURTUS Compile the project and generate it again NETLIST. After that, enter AG The software performs the layout and wiring .
The above steps are pure RTL Compilation of , and AG1280Q48 There are also two hard cores. One is PLL One is BRAM, Because these two are not pure RTL It can't be converted into LUT, Therefore, the following operations should be performed accordingly :
1, take PLL perhaps BRAM Set to DESIGN PARTITION.
2, Add simulation file , Substitute the description inside for the real one PLL and BRAM modular
The basic steps are as follows BLOG Just practice this process in detail .
With the above principle analysis, the following practical operation steps are easy to understand and operate
Here are some links you can refer to :
https://github.com/xjtuecho/agmpill
AG1280Q48 Minimum system board V1 - Jialichuang EDA Open source hardware platform
domestic AGM FPGA A detailed introduction to the design process - Electronic enthusiast network
边栏推荐
- UE4 common type conversion
- [jvm learning] virtual machine stack
- Explore the Apache shardingsphere SQL parse format function
- Summary of advantages and disadvantages of various architectures
- Web UI automation test
- sql server 2008 的导入导出步骤
- Import and export steps of SQL Server 2008
- Project training of Software College of Shandong University rendering engine system basic renderer (VII)
- 【工具推荐】个人本地 markdown 知识图谱软件 Obsidian
- RARP summary (tcp/ip explanation volume 1/2)
猜你喜欢

TCP与UDP的区别,以及TCP的三次握手和TCP的四次挥手

RARP总结(TCP/IP详解卷1/2)

Servlet knowledge explanation (2)

远程操控其它电脑--详细教程

Use of packet capturing tool Fiddler: simulating speed limit test process in weak network environment

What is JUC in high concurrency programming

UDP总结(TCP/IP详解卷1/2)

Project training of Software College of Shandong University rendering engine system radiation pre calculation (VIII)
![[automation] kolla Based Automated Deployment CEPH cluster](/img/d8/fdfd166204242faba406220f548ea5.jpg)
[automation] kolla Based Automated Deployment CEPH cluster

< 山东大学软件学院项目实训 > 渲染引擎系统——基础渲染器(六)
随机推荐
Step by step to create a trial version of ABAP program containing custom screen
Use of multithreading
Data analysis | kmeans data analysis
Servlet connects to database to realize user login function
[OWT server] customized script 3: server construction
Two ways of array simulating queue
虚拟机中用户和root忘记密码解决办法
Five models of software testing
一步步创建包含自定义 Screen 的 ABAP 程序的详细步骤试读版
File uploading and downloading in SSM
Escape rules and examples of go
Apache Kylin 历险记
Defer learning in golang
UE4 常用类型转换
< 山东大学软件学院项目实训 > 渲染引擎系统——点云处理(十)
RARP总结(TCP/IP详解卷1/2)
FPGA (III) trigger and latch
任务 输出密雪冰城主题曲 0612
glibc 内存管理模型 释放 C库内存缓存
Solving multithreading security problems