废话不说了,下面进入正题,学习FPGA经历了这么几个阶段:①、Verilog语言的学习,熟悉Verilog语言的各种语法。
②、FPGA的学习,熟悉QuartusII软件的各种功能,各种逻辑算法设计,接口模块(RS232,LCD,VGA,SPI,I2c等)的设计,时序分析,硬件优化等,自己开始设计简单的FPGA板子。
③、NiosII的学习,熟悉NiosII的开发流程,熟悉开发软件(SOPC,NiosIIIDE),了解NiosII的基本结构,设计NiosII开发板,编写NiosIIC语言程序,调试板子各模块功能。
先来说说第一个阶段,现在主要的硬件描述语言有VHDL,Verilog两种,在本科时老师一般教VHDL,不过现在Verilog用的人越来越多,其更容易上手(与C语言语法比较类似),也更灵活,现在的IC设计基本都用Verilog。
像systemC,systemVerilog之类的应该还在萌芽阶段,以后可能会有较大发展。
鉴于以上原因我选择了Verilog作为我学习的硬件描述语言。
其实有C语言的基础,学起Verilog的语言很简单,关键要有并行的概念,所有的module,assign,always都是并行的,这一点与软件语言有明显不同。
这里推荐几本评价比较好的学习Verilog的书籍:①、《verilog数字系统设计教程》,这本书对于入门是一本很好的书,通俗易懂,让人很快上手,它里面的例子也不错。
但本书对于资源优化方面的编程没有多少涉及到。
②、《设计与验证VerilogHDL》,这本书虽然比较薄,但是相当精辟,讲解的也很深入,很多概念看了这本书有种豁然开朗的感觉,呵呵。
学习Verilog其实不用看很多书,基本的语法部分大家都一样,关键是要自己会灵活应用,多做练习。
Verilog语言学了一段时间,感觉自己可以编点东西,希望自己编的程序在板子上运行看看结果,下面就介绍我学习的第二个阶段。
刚开始我拿了实验室一块CPLD的开发板做练习,熟悉QuartusII的各种功能,比如IP的调用,各种约束设置,时序分析,Logiclock设计方法等,不过做到后面发现CPLD的资源不太够(没有内嵌的RAM、不能用SignalTapII,LE太少等),而实验室没有FPGA开发板,所以就萌生了自己做FPGA开发板的意图,刚好Cadence我也学的差不多了,就花了几天时间主要研究了FPGA配置电路的设计,在板子上做了Jtag和AS下载口,在做了几个用户按键和LED,其他的口全部引出作为IO口,电路比较简单,板子焊好后一调就通了(心里那个爽啊...)。
我选的FPGA是cycloneII系列的EP2C5,资源比以前的FPGA多了好几倍,还有PLL,内嵌的RAM,可以试试SignalTapII,用内嵌的逻辑分析仪测试引脚波形,对于FPGA的调试,逻辑分析仪是至关重要的。
利用这块板子我完成了项目中的几个主要功能:RS232通信,指令译码,配置DDS,AD数据高速缓存,电子开关状态设置等,在实践中学习起来真的比平时快很多,用到什么学什么动力更大。
这个时候我主要看的数据有这几本感觉比较好:①、《AlteraFPGA/CPLD设计(基础篇)》:讲解一些基本的FPGA设计技术,以及QuartusII中各个工具的用法(IP,RTL,SignalProbe,SignalTapII,TimingClosureFloorplan,chipEditor等),对于入门非常好。
②、《AlteraFPGA/CPLD设计(高级篇)》:讲解了一些高级工具的应用,LogicLock,时序约束很分析,设计优化,也讲述了一些硬件编程的思想,作为提高用。
③、《FPGA设计指南--器件,工具和流程》:这本书看了他的目录忍不住就买了,这本书讲述了FPGA设计的各个方面,虽然每个方面都是点到为止,但能让你有个整体的概念,了解FPGA的所有设计功能,了解FPGA开发的整个流程。
2025/11/11 0:01:05 131.03MB FPGA 学习 文档 合集
1
本文实现了二维图形的几何变换,以矩阵运算作为数学基础,采用旋转、平移和缩放等基本几何变换,对一简单的二维图形做变换。
为了保证矩阵运算一致性,故引入了齐次坐标的概念。
本文选择了一三角形,编写VC++程序,验证了上述几个几何变换。
2025/11/10 10:27:04 155KB 几何变换 矩阵运算 齐次坐标
1
基于JSP+servlet的水果购物系统,基本把所学的servlet所用到的知识点都用上了,代码简洁易懂,适合初学者
2025/11/9 2:18:24 4.11MB Eclipse JSP servlet Mysql
1
今年参加的gmc挑战赛,借用的别人的模型,可以自己钻研,改改,毕竟,只靠他的话,也不知道什么原理。
至少可以学点东西,了解到原来。


excel这么强大
2025/11/8 8:57:23 1.56MB gmc
1
根据提供的信息,我们可以深入探讨信号检测理论中的几个关键概念及其应用。
这部分内容主要涉及了信号检测理论的基础知识、数学表达式及其应用场景。
###一、信号检测理论基础####1.基本概念-**信号检测理论**(SignalDetectionTheory,SDT)是一种在噪声背景下识别信号的方法论。
它主要用于分析如何从背景噪声中识别出有用的信息或信号。
SDT不仅被广泛应用于通信工程领域,在心理学实验、医学诊断等方面也有着重要的应用价值。
-**解析信号**和**复指数形式信号**是两种表示信号的不同方式。
解析信号能够更好地表示信号的实部和虚部,而复指数形式则更便于进行频域分析。
####2.数学公式解析-第一个例题中涉及到的公式是关于信号的傅里叶变换。
公式中出现了三角函数和积分运算,这些运算主要用于计算信号的能量分布或者频谱特性。
-第二个例题中的解析展示了如何通过积分来求解信号的能量,并且提到了信号的时间宽度和频率宽度的概念。
这些参数对于理解信号的时域和频域特性至关重要。
-第三个例题则进一步讨论了线性调频信号的特性和参数计算方法。
###二、具体例题解析####CH1例题解析#####例1该例题通过一系列复杂的积分运算来求解信号的能量。
其中,通过将信号表示为三角函数的形式,利用三角恒等式进行了化简处理。
最终得出了信号的能量表达式。
#####例2此例题关注于信号的时间宽度和频率宽度计算。
通过对信号的积分操作,可以得到信号的平均值和能量密度,进而求得信号的时间宽度和频率宽度。
这些参数对于评估信号的时域和频域特性非常关键。
#####例3例题3中介绍了线性调频信号的一些重要参数,包括等效带宽、线性调频常数和调相斜率等。
这些参数对于了解线性调频信号的特点及其在实际应用中的表现至关重要。
####CH2例题解析#####例1CH2的第一道例题主要涉及了信号的卷积运算。
通过将输入信号与系统的冲激响应进行卷积,可以得到系统的输出信号。
例题中给出了具体的计算过程,包括如何对信号进行分段处理以及如何计算各个分段的卷积结果。
#####例3第三个例题虽然没有给出完整的内容,但可以推测其可能讨论了信号处理中的某种特定技术或算法。
这部分内容通常会更加深入地探讨信号的特性分析方法,例如信号的时频分析、滤波器设计等。
###三、总结信号检测理论是现代通信系统的核心之一,对于理解和优化信号传输具有重要意义。
通过对上述例题的解析,我们可以看到信号检测理论涉及到了大量的数学工具和技术,如傅里叶变换、积分运算、信号卷积等。
这些工具和技术不仅有助于我们深入了解信号的本质特征,也为解决实际问题提供了有力的支持。
未来随着通信技术的发展,信号检测理论的应用将会更加广泛,对于这一领域的深入研究也将变得越来越重要。
2025/11/6 22:49:16 171KB
1
新生报到注册系统-系统管理,这是我学C#时的毕业项目。
2025/11/6 8:06:37 244KB 新生报到注册系统-系统管理
1
第1章绪论1.1计算机图形学及其相关概念1.2计算机图形学的发展1.2.1计算机图形学学科的发展1.2.2图形硬件设备的发展1.2.3图形软件的发展1.3计算机图形学的应用1.3.1计算机辅助设计与制造1.3.2计算机辅助绘图1.3.3计算机辅助教学1.3.4办公自动化和电子出版技术1.3.5计算机艺术1.3.6在工业控制及交通方面的应用1.3.7在医疗卫生方面的应用1.3.8图形用户界面1.4计算机图形学研究动态1.4.1计算机动画1.4.2地理信息系统1.4.3人机交互1.4.4真实感图形显示1.4.5虚拟现实1.4.6科学计算可视化1.4.7并行图形处理第2章计算机图形系统及图形硬件2.1计算机图形系统概述2.1.1计算机图形系统的功能2.1.2计算机图形系统的结构2.2图形输入设备2.2.1键盘2.2.2鼠标器2.2.3光笔2.2.4触摸屏2.2.5操纵杆2.2.6跟踪球和空间球2.2.7数据手套2.2.8数字化仪2.2.9图像扫描仪2.2.10声频输入系统2.2.11视频输入系统2.3图形显示设备2.3.1阴极射线管2.3.2CRT图形显示器2.3.3平板显示器2.3.4三维观察设备2.4图形显示子系统2.4.1光栅扫描图形显示子系统的结构2.4.2绘制流水线2.4.3相关概念2.5图形硬拷贝设备2.5.1打印机2.5.2绘图仪2.6OpenGL图形软件包2.6.1OpenGL的主要功能2.6.2OpenGL的绘制流程2.6.3OpenGL的基本语法2.6.4一个完整的OpenGL程序第3章用户接口与交互式技术3.1用户接口设计3.1.1用户模型3.1.2显示屏幕的有效利用3.1.3反馈3.1.4一致性原则3.1.5减少记忆量3.1.6回退和出错处理3.1.7联机帮助3.1.8视觉效果设计3.1.9适应不同的用户3.2逻辑输入设备与输入处理3.2.1逻辑输入设备3.2.2输入模式3.3交互式绘图技术3.3.1基本交互式绘图技术3.3.2三维交互技术3.4OpenGL中橡皮筋技术的实现3.4.1基于鼠标的实现3.4.2基于键盘的实现3.5OpenGL中拾取操作的实现3.6OpenGL的菜单功能第4章图形的表示与数据结构4.1基本概念4.1.1基本图形元素4.1.2几何信息与拓扑信息4.1.3坐标系4.1.4实体的定义4.1.5正则集合运算4.1.6平面多面体与欧拉公式4.2三维形体的表示4.2.1多边形表面模型4.2.2扫描表示4.2.3构造实体几何法4.2.4空间位置枚举表示4.2.5八叉树4.2.6BSP树4.2.7OpenGL中的实体模型函数4.3非规则对象的表示4.3.1分形几何4.3.2形状语法4.3.3粒子系统4.3.4基于物理的建模4.3.5数据场的可视化4.4层次建模4.4.1段与层次建模4.4.2层次模型的实现4.4.3OpenGL中层次模型的实现第5章基本图形生成算法5.1直线的扫描转换5.1.1数值微分法5.1.2中点Bresenham算法5.1.3Bresenham算法5.2圆的扫描转换5.2.1八分法画圆5.2.2中点Bresenham画圆算法5.3椭圆的扫描转换5.3.1椭圆的特征5.3.2椭圆的中点Bresenham算法5.4多边形的扫描转换与区域填充5.4.1多边形的扫描转换5.4.2边缘填充算法5.4.3区域填充5.4.4其他相关概念5.5字符处理5.5.1点阵字符5.5.2矢量字符5.6属性处理5.6.1线型和线宽5.6.2字符的属性5.6.3区域填充的属性5.7反走样5.7.1过取样5.7.2简单的区域取样5.7.3加权区域取样5.8在OpenGL中绘制图形5.8.1点的绘制5.8.2直线的绘制5.8.3多边形面的绘制5.8.4OpenGL中的字符函数5.8.5Op
2025/11/5 19:37:38 110.55MB 图形学 VR
1
本实验实现的是一个会动的自行车,里面是详细的代码。
2025/11/5 9:24:49 28KB 计算机图形学 动画自行车
1
在生态学统计分析中用的PCA、CCA、RDA均能通过canoco实现
2025/11/2 22:13:07 19.33MB 统计学 生态学
1
自己封装的鼠标封装的鼠标场景漫游工具类RoamingScenceManager,跟界面没有任何关系,压缩包里面有三个工程,分别是Qt,Win32(原生OpenGL界面),MFC三个环境,里面都用到了RoamingScenceManager,用法简单,适合刚刚学opengl的新手构建场景。
2025/11/2 11:35:09 4.78MB OPenGL
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡