SOC学习历程概述

从开始接触soc到现在大概有两年半左右的时间了,经历了ORSOC到minsoc再到mkg-soc的搭建,以及现在的大小核系统的搭建

首先先讲下学习的前期需要具备的知识,前面3点是必须,后面3点可以中间学习的过程再学习。之所以有这些要求主要是以防中间的学习过程中,有些东西看不懂而走弯路。

学习的前期准备:1、学过数电,有一定的电路基础。2、熟练掌握verilog语言。3、对于计算机组成原理,体系结构有一定的了解。4、学过单片机编程,写过一些简单的裸机程序,最好能够玩过microblaze这样对于软硬件协同设计会有一定的了解。5、对于eda工具能熟练使用(xilinx ise,modelsim)。6、熟悉linux 环境的使用

比较好的书籍或资料:

《数字电路设计》用于掌握电路基础。

《verilog 数字系统设计教程--夏宇闻》、《verilog 135例》、《状态机设计_by_foreveryoung_V2.0(1)》 用于掌握语言

《计算机组成与设计--verilog版》、《体系结构--胡伟武》用于掌握体系结构相关知识,特别是老胡那本书,如果想从事CPU设计的话,可以多读几遍

《数字集成电路物理设计》第4、6章、专用集成电路时序验证 ?用于掌时序部分知识(4条路径,几个概念)(ASIC和FPGA在时序方面的理论都是类似的,只是后续约束方式不同)

eda 工具的使用的话,这个网上有很多相应的教程,个人认为软件是死的,当你对理论部分有一定了解后,软件使用起来会得心应手,但很多人往往都是先学软件,点几个按钮完成操作,从而知其然而不知其所以然,编译原理这门课程我觉得对于软件开发人员来说还是挺有意义的。

对于ise的使用,要做到学会综合、仿真、UCF编写、布局布线、下板测试、在线调试

对于modelsim 小编现在只做到会仿真而已,对一些常用的脚本命令熟悉,所以没啥其他说的。

对于linux环境的使用,只能说孰能生巧,需要把常用的命令搞熟,一些比较生涩的命令可以到时问度娘

好了,基础部分讲完了,这部分是小编在开始着手进行soc设计前完成的,如果是对于完全没有一点基础的,建议先按上面的步骤,可以花费2-4个月左右的时间,一步步完成,下面开始介绍小编的soc学习历程了。

一、概述部分、

1、soc设计方法学介绍

2、or1200介绍

3、wishbone总线介绍

二、环境的搭建

1、ubuntu单、双系统的安装

2、win7及ubuntu下安装基于虚拟机的or1200编译仿真测试环境的搭建

3、基于ubuntu物理机上安装or1200编译仿真测试环境的搭建

三、minsoc学习

1、minsoc的文件结构

2、minsoc的top顶层硬件设计介绍

3、minsoc的bench顶层设计介绍

4、基于minsoc平台的uart模块的仿真测试

5、添加ml501板级测试平台

6、基于minsoc平台的gpio ip添加及测试

7、基于minsoc平台的i2c ip的添加及测试(测试过程存在问题)

四、vsoc学习

1、vsoc的文件结构

2、vsoc的top顶层硬件设计介绍

3、vsoc的bench顶层设计介绍???

4、基于vsoc平台的cpu及内存的仿真测试

5、基于vsoc平台的uart模块的仿真测试

6、基于vsoc平台的gpio模块的仿真测试

7、基于vsoc平台的i2c模块的仿真测试

8、基于vsoc平台的spi模块的仿真测试

9、基于vsoc平台的ethmac模块的仿真测试(ethmac 没看懂,后面看懂后更新)

10、基于vsoc平台的vga模块的仿真测试

11、基于vsoc平台从spi flash启动的仿真和测试

五、基于vsoc平台的3维重构IP的设计及测试(现阶段正在做)

1、3维重构IP的介绍

2、基于vsoc平台的3维重构IP添加及测试

时间: 2024-12-29 05:08:48

SOC学习历程概述的相关文章

大三仍是Linux系统小白的我给大家讲讲学习历程

我与Linux结缘是在大三的时候.我与Linux熟识是在偶然遇到<Linux就该这么学>的时候.因为我是电子信息工程专业,在高年级时开设了嵌入式课程,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.所有带有数字接口的设备,如录像机.车子等,都使用嵌入式系统,有些嵌入式系统还包含操作系统.嵌入式操作系统包括μC/OS-II.嵌入式Linux.VxWorks等,但大部分嵌入式操作系统是不开源且不能免费使用,只有Linux是基于GPL协议,所以它成为了嵌入式系统的绝对主流. 我们学校的嵌入

ACM学习历程—HDU 4726 Kia&#39;s Calculation( 贪心&amp;&amp;计数排序)

DescriptionDoctor Ghee is teaching Kia how to calculate the sum of two integers. But Kia is so careless and alway forget to carry a number when the sum of two digits exceeds 9. For example, when she calculates 4567+5789, she will get 9246, and for 12

Linq 学习(1) 概述

本篇简单回顾C#语言集合操作的变化,通过与Linq对等的面向对象的语法来认识Linq.Linq是Language Integrated Query, 初识Linq感觉跟SQL Server的Tsql很像,可以进行语言必备的逻辑操作,也可以实现对集合的直接查询.Net1.X时代C#不支持泛型,集合用元素只能为object类型的ArrayList等.添加.取出元素都与Object类型进行强制类型转换,如果是值类型要进行装箱操作,取出元素时进行拆箱操作,影响效率,编译时不进行类型检查,类型不匹配运行时

SQL Server 2008从基础开始学习历程(1)------创建表与查询

[by:yy] 无论我们学什么呢,都要讲究一个Why,一个How.那么我们为什么要学SQL呢?无非就那么几点. 1.为了适应其他技术,和其他技术配对而学. 我个人的理解呢,只要在IT行业,无论你学什么,或者做什么工作.都离不开数据库.而学习数据库呢,又太文字化了,看的心里就烦.我是很抵触文字的.看着一大排一大排的字,就怕.可能是大天朝的教育所致.已经怕了学生生涯了. 2.为了适应社会而学. 随便找个招聘信息,都会有标注需要会SQL语言啊.了解MySql呀.会搞Oracle呀.所以呢,为了能在找工

ACM学习历程—HDU 5023 A Corrupt Mayor&#39;s Performance Art(广州赛区网赛)(线段树)

Problem Description Corrupt governors always find ways to get dirty money. Paint something, then sell the worthless painting at a high price to someone who wants to bribe him/her on an auction, this seemed a safe way for mayor X to make money. Becaus

【金阳光测试】Android自动化 -- 学习历程:MonkeyRunner原理初步

章节:自动化基础篇——MonkeyRunner原理初步 网易云课堂: http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877115&courseId=712011 主要讲解内容及笔记: 一.理论知识和脚本演示 最佳方式是上官网文档去查看monkeyrunner的介绍,官网上不去,就找了一个本地的android 4.2 的查看,基本内容没啥变化 First,什么是MonkeyRunn

android金阳光自动化测试——学习历程:电池续航上&amp;&amp;下

章节:自动化基础篇——电池续航自动化测试上&&下 网易云课堂: http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=878098&courseId=712011 http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=878099&courseId=7120

Maven学习(一)—— 概述

为接手gxpt准备已经快一个月了从SSH2-->EJB-->环境搭建-->Maven的构建.下面就带领大家初始Maven 一.什么是Maven. Maven是一个垮平台的项目管理工具,主要服务于Java平台的项目构建.依赖管理和项目信息管理.Maven是一个能够帮我们自动化构建过程,充清理.编译.测试到生成报告,再到打包和部署.我们不需要一遍又一遍的输入命令,这些工作Maven都为我们做好了.Maven最大化地消除了构建的重复.在Maven以前,十个项目可能有十种构建方式:有了Maven

android金阳光自动化测试——学习历程:自动化预备知识上&amp;&amp;下

章节:自动化基础篇——自动化预备知识上&&下 网易云课堂: 上:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877113&courseId=712011 下:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877114&courseId=71