上一步是硬件描述语言,下一步是FPGA

上一步是硬件描述语言,下一步是FPGA。
学习了硬件描述语言(Verilog或者VHDL)之后,FPGA该如何继续。
世上没有捷径,每一步都得踏踏实实的走。学习FPGA也是这样,在有了硬件描述语言的基础之上,可以学习FPGA基础。
学习模块的划分和接口的定义,可参考FPGA厂商的一些实例设计,想办法实现一遍,学习一些解决问题的套路,处理问题的技巧,知道写一个能用的东西大概需要哪些背景知识。
学习实现一些简单、初级、常用的协议,如UART,SPI,IIC,,这里会对写状态机的能力进行进一步锻炼。尽量写的完善一点,复用性强一点,后续可直接使用。
学习系统架构实现,也就是不同模块间的配合;也可学习一些复杂的协议(TCP)或者复杂的接口电路(SDRAM、DDR、USB等)。
写testbench,以及写仿真模型,加深对verilog的语法的理解。
版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处
作者:杭州卿萃科技ALIFPGA
原文地址:杭州卿萃科技FPGA极客空间 微信公众号

扫描二维码关注杭州卿萃科技FPGA极客空间
上一步是硬件描述语言,下一步是FPGA的更多相关文章
- 硬件描述语言Verilog设计经验总结
一.硬件描述语言Verilog 粗略地看Verilog与C语言有许多相似之处.分号用于结束每个语句,注释符也是相同的(/* ... */和// 都是熟悉的),运算符"=="也用来测 ...
- 在开发中进入一个方法后想要到原来那行 ctrl+alt+左 回到上一步 ctrl+alt+右 回到下一步
在开发中进入一个方法后想要到原来那行 ctrl+alt+左 回到上一步ctrl+alt+右 回到下一步
- 我的 FPGA 学习历程(04)—— 练习 verilog 硬件描述语言
这篇讲的是使用 verilog 硬件描述语言编写一个 3 - 8 译码器. 3 - 8 译码器是一个简单的组合逻辑,用于实现并转串,其输入输出关系如下: | 输入 | 输出 | -------- ...
- IDEA返回上一步
在开发中进入一个方法后想要到原来那行 ctrl+alt+左 回到上一步 ctrl+alt+右 回到下一步
- OAF 交互式列车 上一步 下一步的简单使用
在实际的需求中,我们往往会遇到在下一步的时候验证某些参数,而上一步不需要验证. 这个是非常粗暴的解决方式 if( "goto".equals(pageContext.getPara ...
- Jquery 上一步、下一步及提交
111 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <tit ...
- IDEA - 返回上一步,回到下一步 代码 快捷键
回到上一步 ctrl + alt + < 回到下一步 ctrl + alt + >
- js 上一步 下一步 操作
<a id="syb" href="#" style="display: block;" class="btn button ...
- Blazor 002 : 一种开历史倒车的UI描述语言 -- Razor
Razor是一门相当怪异丑陋的标记语言,但在实际使用中却十分高效灵活.本文主要介绍了Razor是什么,以及Razor引擎的一些浅薄的背后机理. 写文章前我本想一口气把Razor的基本语法,以及Blaz ...
随机推荐
- Scala的两种变量
Scala有两种变量,val和var.val类似于Java的final变量,一旦初始化了,就不能再赋值了.var如同Java中的非final变量,可以在生命周期内被多次赋值.
- python关于sys.argv列表的应用场景
python关于sys.argv列表的应用场景 1.需求很简单: 使用 sys.argv 获取命令行参数(即要判断的文件名),然后判断文件是否存在,文件存在再进一步判断是否有读权限 2.分析: (1) ...
- 使用springmvc时报错org.springframework.beans.NullValueInNestedPathException: Invalid property 'department' of bean class [com.atguigu.springmvc.crud.entities.Employee]:
使用springmvc时报错 org.springframework.beans.NullValueInNestedPathException: Invalid property 'departmen ...
- es6 中的let,const
在es6中,let的作用和var差不多,都是用来声明变量的,但是他们之间的区别在于作用域不同,大家都知道在js中没有块级作用域,例如: for(var i=0;i<10;i++){ consol ...
- 如何用VC编写供PB调用的DLL
和编写一般的DLL方法相同,需要注意以下两点: (1)调用约定 c函数有_stdcall._cdecl._fastcall等多种调用约定,调用约定用来说明函数参数的压栈顺序和由谁(函数自身还是调用者) ...
- go 编译
linux: set GOARCH=amd64 set GOOS=linux go build -o app_name main.go echo "编译完成,任意键退出" paus ...
- 用phpexcel插件导出excel2003
ob_end_clean();//清空缓冲区并关闭输出缓冲(清除脏数据). header('Content-Type:application/vnd.ms-execel'); header('Cont ...
- 【scala】模式匹配
Scala的模式匹配是通过match表达式从若干可选项中选择,类似Java中的switch. 例子: val firstArg = if(args.length>0) args(0) else ...
- Python基础学习(第6天)
1.zip函数 1)zip函数在只有一个参数时运作的方式. x = [1, 2, 3] x = zip(x) print x输出:[(1,), (2,), (3,)] 2)zip函数在没有参数时运作的 ...
- 《Drools7.0.0.Final规则引擎教程》第4章 4.2 auto-focus
auto-focus 在agenda-group章节,我们知道想要让AgendaGroup下的规则被执行,需要在代码中显式的设置group获得焦点.而此属性可配合agenda-group使用,代替代码 ...