废话不说了,下面进入正题,学习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
该课程设计为:语音编码中A律pcm编码、译码的matlab仿真。
含源程序代码,绝对实用于脉冲编码调制(PCM)的设计
2025/11/6 19:43:38 5KB PCM编码 译码 matlab
1
原理图封装列表NameDescription----------------------------------------------------------------------------------------------------74ACT573T双向数据传输74HC138138译码器74HC1544-16译码器74HC4052双通道模拟开关74HC595移位寄存器74HVC32M双输入或门74LS32M双输入或门74VHC04M非门ACS712电流检测芯片ACT45B共模电感AD5235数控电阻AD8251可控增益运放AD8607AR双运放AD8667双运放AD8672AR双运放ADG836L双刀双掷数字开关AFBR-5803-ATQZ光以太网AS1015可调升压芯片ASM11173.3V稳压芯片AT24C02EEROM存储器AT89S5251系列单片机BC57F687蓝牙音频模块BCP68NPN三极管BCP69TPNP三极管BEEP蜂鸣器BMP闪电符号BTS7970电机驱动Battery备份电池Butterfly功率激光器Butterfly-S功率激光器CD4052BCM双通道模拟开关CG103BOSCH点火芯片CHECK测试点CY7C026AVRAMCY7C1041CV33RAMCap无极性电容CapPol极性电解电容DConnector15VGADConnector9串口D-Schottky肖特基二极管DAC8532数模转换DM9000A网络芯片DM9000C网络芯片DP83848I网络芯片DPY-4CA共阳4位数码管DPY-4CK共阴4位数码管DRV411闭环磁电流DS1307Z实时时钟DS18B20温度传感器Diode二极管Diode-Z稳压二极管Diode_CRD恒流二极管EMIF接插件FIN散热片FM24CL16铁电存储器FPC-30PFPC排线连接器FPC-40PFPC排线连接器FT232RLUSB转串口FZT869NPN三极管Fuse2保险丝G3VM-61半导体继电器GA240Freescale16位单片机HFBR-1414光发送HFBR-2412光接收HFKC单刀双掷继电器HK4100F单刀双掷继电器HR911103A网络接口HR911105A以太网接口HS0038B红外接收器Header10Header,10-PinHeader10X2
2025/10/28 16:51:35 1.43MB pcb封装库
1
一种新型的LDPC译码器设计,钟贵锋,李庆,摘要:性能逼近Shannon限的低密度奇偶校验(Low-DensityParity-Check,LDPC)纠错码,在实际应用中需要解决的问题是尽可能降低译码的复杂度。
��
2025/10/25 6:41:45 289KB LDPC
1
较为完整的BCH编译码程序,有完整的代码和调试截图,可以很清楚的看出运行结果,很实用的程序。
2025/10/20 17:40:14 172KB BCH MATLAB
1
Turbo编译码程序c、c++,包含编码、译码两个.cpp,可以在VS中Linux下加入工程中使用,也可以加在Matlab中使用
2025/10/14 21:28:04 11KB Turbo 编译码 C C++
1
PDF格式,2007年出版,中译本。
内容较新,包括RS码,Viterbi译码,turbo码,LDPC码
2025/9/27 22:15:20 4.66MB 通信,信息论,纠错编码
1
EDA技术在电子系统设计领域越来越普及,本设计主要利用VHDL语言在EDA平台上设计一个电子数字钟,它的计时周期为24小时,显示满刻度为23时59分59秒,另外还具有校时功能和闹钟功能。
总的程序由几个各具不同功能的单元模块程序拼接而成,其中包括分频程序模块、时分秒计数和设置程序模块、比较器程序模块、三输入数据选择器程序模块、译码显示程序模块和拼接程序模块。
并且使用QuartusII软件进行电路波形仿真,下载到EDA实验箱进行验证。
该设计采用自顶向下、混合输入方式(原理图输入—顶层文件连接和VHDL语言输入—各模块程序设计)实现数字钟的设计、下载和调试。
2025/9/21 15:19:19 528KB FPGA,数字钟
1
对信号进行抽样、量化和A律PCM编码,经过传输后,接收端进行PCM译码。
要求画出不同幅度下PCM编码、译码后的波形以及未编码波形。
2025/9/20 6:11:44 1KB pcm
1
惟一可译码的判断使用python实现,使用的是信息论与编码的判断算法,Fi,Fi+1前后缀判断算法实现
2025/9/19 19:39:02 2KB 唯一可译码
1
共 348 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡