差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
fpga [2019/04/25 16:12]
gongyu [设计工具]
fpga [2019/05/07 00:50] (当前版本)
gongyu [主要的IP内核]
行 84: 行 84:
     * {{:​ultrascale-plus-fpga-product-selection-guide.pdf|Ultrascale+系列器件的选型指南}}     * {{:​ultrascale-plus-fpga-product-selection-guide.pdf|Ultrascale+系列器件的选型指南}}
  
-##### 主要FPGA的系列及特点 (还在编辑中,未完) 
  
-^器件系列|特点| 厂商 | 逻辑资源 | 内部块存储 | 时钟 | 内部硬核 | 乘法器 | I/O |封装 |电压 | 其它| +### 选用的三大法则
-^ICE |全世界最小|[Lattice Semi](http://​www.latticesemi.com) |3k~8k LUTs| 80~128Kb | PLL(1~2)|SPI(2)、I2C(2)|2~8个16x16 |最高500mA驱动|16~256Pins| |内部NVRAM| +
-^XO |桥接和IO扩展|[Lattice Semi](http://​www.latticesemi.com) |640~9400 LUTs| 64~432Kb | PLL(~2)|SPI、I2C(2)、Timer|无 |DDR/​DDR2/​LPDDR|25~672Pins|1.2V/​3.3V或3.3V|内部配置Flash,双启动|  +
-^ECP |连接/​加速|[Lattice Semi](http://​www.latticesemi.com)|12K~149K LUTs|1Mb~6.8Mb| PLL(2~10)+ DLL(2~4)|无|28~320乘法器 |SERDES|256~1156Pins|1.1V~1.2V|双启动/​多启动|  +
-^MAX II|低成本CPLD|[Altera/​Intel](https://​www.intel.com/​content/​www/​us/​en/​products/​programmable.html)|192-1700 MCs|无|无|无|无|LVTTL/​LVCMOS|64~324Pins|1.5~3.3V|无|  +
-^MAX V |低成本CPLD|[Altera/​Intel](https://​www.intel.com/​content/​www/​us/​en/​products/​programmable.html)|40-2.2K LEs|8Kb用户Flash| PLL|无|无|LVTTL/​LVCMOS/​LVDS|64~324Pins|1.2~3.3V|无|  +
-^MAX 10 |低成本即时启动|[Altera/​Intel](https://​www.intel.com/​content/​www/​us/​en/​products/​programmable.html)|2~50KLEs|108Kb~1.6Mb|PLL(1~4)|ADC,TSD|16~144 18x18|EMIF|36~672Pins|3.3V|内置Flash|  +
-^Cyclone V | [[FPGA]]|[Altera/​Intel](https://​www.intel.com/​content/​www/​us/​en/​products/​programmable.html)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Quartus Prime|  +
-^Cyclone 10LP|IO扩展/​接口|[Altera/​Intel](https://​www.intel.com/​content/​www/​us/​en/​products/​programmable.html)|6K-120K LEs|270K-3888Kb| PLL(2~4)|无|15~288个18x18|DDR3|144-780Pins|1.2V/​3.3V|无|  +
-^Cyclone 10GX|低成本、高速连接|[Altera/​Intel](https://​www.intel.com/​content/​www/​us/​en/​products/​programmable.html)|85k~220k LEs|5.8~11.7Mb|32个全球时钟网络|PCI E|168-384个18X19|DDR3/​DDR3/​LPDDR3|484-780Pins|1.2V/​3.3V|12.5Gbps收发器| +
-^Arria V | [[FPGA]]|[Altera/​Intel](https://​www.intel.com/​content/​www/​us/​en/​products/​programmable.html)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Quartus II|  +
-^Arria 10 |[[FPGA]]|[Altera/​Intel](https://​www.intel.com/​content/​www/​us/​en/​products/​programmable.html)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Quartus II|  +
-^Stratix V | [[FPGA]]|[Altera/​Intel](https://​www.intel.com/​content/​www/​us/​en/​products/​programmable.html)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Quartus II|  +
-^Stratix 10 | [[FPGA]]|[Altera/​Intel](https://​www.intel.com/​content/​www/​us/​en/​products/​programmable.html)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Quartus II|  +
-^Agilex | [[FPGA]]|[Altera/​Intel](https://​www.intel.com/​content/​www/​us/​en/​products/​programmable.html)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Quartus II|  +
-+
-^Spartan 6 |[[FPGA]]|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
-^Spartan 7 |[[FPGA]]|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
-^Artix 7 |[[FPGA]]|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
-^Kintex 7 |[[FPGA]]|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
-^Virtex 7 |[[FPGA]]|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
-^Kintex Ultrascale |[[FPGA]]|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
-^Virtex Ultrascale |[[FPGA]]|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
-^Kintex Ultrascale + |[[FPGA]]|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
-^Virtex Ultrascale + |[[FPGA]]|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
-^ZYNQ 7000 |[[FPGA]]/​SoC|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
-^ZYNQ Ultrascale + |[[FPGA]]/​MPSOC|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
-^ZYNQ Ultrascale + |[[FPGA]]/​RFSOC|[Xilinx Inc](https://​www.xilinx.com)| 96Kb | 92Kb | PLL(2)|SPI、I2C、Timer | |DDR3|Vivado|  +
- +
-#### 选用的三大法则+
 ##### 面积与速度的互换 ##### 面积与速度的互换
 这里的面积指的是FPGA的芯片资源,包括逻辑资源和I/​O资源等;这里的速度指的是FPGA工作的最高频率(和DSP或者ARM不同,FPGA设计的工 作频率是不固定的,而是和设计本身的延迟紧密相连)。 在实际设计中,使用最小的面积设计出最高的速度是每一个开发者追求的目标,但是“鱼和熊掌不可兼得”,取舍之间展示了一个开发者的智慧。 这里的面积指的是FPGA的芯片资源,包括逻辑资源和I/​O资源等;这里的速度指的是FPGA工作的最高频率(和DSP或者ARM不同,FPGA设计的工 作频率是不固定的,而是和设计本身的延迟紧密相连)。 在实际设计中,使用最小的面积设计出最高的速度是每一个开发者追求的目标,但是“鱼和熊掌不可兼得”,取舍之间展示了一个开发者的智慧。
行 145: 行 115:
   - [Verilator](https://​en.wikipedia.org/​wiki/​Verilator),也是相对比较成熟且在开源届比较知名的Verilog综合工具   - [Verilator](https://​en.wikipedia.org/​wiki/​Verilator),也是相对比较成熟且在开源届比较知名的Verilog综合工具
   - [小脚丫FPGA在线编译工具](http://​www.stepfpga.com)   - [小脚丫FPGA在线编译工具](http://​www.stepfpga.com)
 +
  
 ### 主要的学习开发平台 ### 主要的学习开发平台
 +
 #### 1. Lattice FPGA学习 #### 1. Lattice FPGA学习
   * [[stepfpga|小脚丫FPGA学习]]   * [[stepfpga|小脚丫FPGA学习]]
行 160: 行 132:
  
 ### 主要的IP内核 ### 主要的IP内核
-  * [[ipcore_opencores|来自OpenCores上的IP内核]] +  * [[ipcore_opencores|来自OpenCores上的IP内核]] ​- [opencores](http://​opencores.org),曾经业界大名鼎鼎的开源代码分享网站,貌似好久都没更新了,估计是受Github的影响吧 
-  * [[ipcore_stepfpga|来自小脚丫官网上的IP内核]] +    * [[https://​opencores.org/​projects?​expanded=Arithmetic%20core|计算相关的开源代码]] 
-  * [[ipcore_fpga4fun|来自FPGA4FUN上的IP内核]] +    * [[https://​opencores.org/​projects?​expanded=Communication%20controller|通信控制器相关的开源代码]] 
-  * [[ipconre_fpga4students|来自FPGA4Students上的IP内核]]+    * [[https://​opencores.org/​projects?​expanded=System%20on%20Chip|片系统SoC相关开源代码]] 
 +    * [[https://​opencores.org/​projects?​expanded=Processor|处理器相关的开源代码]] 
 +    * [[https://​opencores.org/​projects?​expanded=Coprocessor|协处理器开源代码]] 
 +    * [[https://​opencores.org/​projects?​expanded=Memory%20core|存储器相关的开源代码]] 
 +    * [[https://​opencores.org/​projects?​expanded=Crypto%20core|加密相关的开源代码]] 
 +    * [[https://​opencores.org/​projects?​expanded=DSP%20core|DSP相关的开源代码]] 
 +    * [[https://​opencores.org/​projects?​expanded=ECC%20core|ECC相关的开源代码]] 
 +    * [[https://​opencores.org/​projects?​expanded=Video%20controller|视频控制器相关的开源代码]] 
 +    * [[https://​opencores.org/​projects?​expanded=Uncategorized|未分类的开源代码]] 
 +    * [[https://​opencores.org/​projects?​expanded=Other|其它开源代码]] 
 +  * [[ipcore_fpga4fun|来自FPGA4FUN上的IP内核]] - fpga4fun是一个不错的FPGA学习网站,其网址为https://​www.fpga4fun.com,在这个网站上有一些经过验证的项目的设计思路和源代码,可供FPGA爱好者参考。 
 +    * 基础项目: 
 +      * [[https://​www.fpga4fun.com/​MusicBox.html|音乐盒]] 
 +      * [[https://​www.fpga4fun.com/​Opto.html|LED显示]] 
 +      * [[https://​www.fpga4fun.com/​PongGame.html|乒乓球游戏]] 
 +      * [[https://​www.fpga4fun.com/​RCServos.html|R/​C伺服电机]] 
 +      * [[https://​www.fpga4fun.com/​TextLCDmodule.html|文本LCD模块的控制]] 
 +      * [[https://​www.fpga4fun.com/​QuadratureDecoder.html|正交解码]] 
 +      * [[https://​www.fpga4fun.com/​PWM_DAC.html|PWM和1位DAC]] 
 +      * [[https://​www.fpga4fun.com/​Debouncer.html|消抖动]] 
 +      * [[https://​www.fpga4fun.com/​CrossClockDomain.html|跨越时钟域]] 
 +      * [[https://​www.fpga4fun.com/​Counters.html|计数的艺术]] 
 +      * [[https://​www.fpga4fun.com/​ExternalContributions/​|外部贡献]] 
 +    * 接口项目: 
 +      * [[https://​www.fpga4fun.com/​SerialInterface.html|RS-232接口]] 
 +      * [[https://​www.fpga4fun.com/​I2C.html|I2C接口]] 
 +      * [[https://​www.fpga4fun.com/​SPI.html|SPI接口]] 
 +      * [[https://​www.fpga4fun.com/​EPP.html|EPP接口]] 
 +      * [[https://​www.fpga4fun.com/​JTAG.html|JTAG接口]] 
 +      * [[https://​www.fpga4fun.com/​SD.html|SD card接口]] 
 +      * [[https://​www.fpga4fun.com/​PCI.html|PCI接口]] 
 +      * [[https://​www.fpga4fun.com/​PCI-Express.html|PCI Express接口]] 
 +      * [[https://​www.fpga4fun.com/​10BASE-T.html|Ethernet接口]] 
 +      * [[https://​www.fpga4fun.com/​HDMI.html|HDMI接口]] 
 +      * [[https://​www.fpga4fun.com/​SDRAM.html|SDRAM控制器]] 
 +    * 高阶项目: 
 +      * [[https://​www.fpga4fun.com/​digitalscope.html|数字示波器]] 
 +      * [[https://​www.fpga4fun.com/​GraphicLCDpanel.html|图像化LCD屏]] 
 +      * [[https://​www.fpga4fun.com/​DDS.html|DDS直接数字合成]] 
 +      * [[https://​www.fpga4fun.com/​CNC.html|CNC步进电机控制]] 
 +      * [[https://​www.fpga4fun.com/​spoc.html|Spoc CPU软核]] 
 +  * [[ipconre_fpga4students|来自FPGA4Students上的IP内核]] - fpga4students是一个华人学生整理的各种FPGA代码的网站,网址为:https://​www.fpga4students.com,在这个网站上有Verilog的代码,也有VHDL的代码。 
 +    * [[https://​www.fpga4student.com/​p/​fpga-projects.html|fpga4students上FPGA相关的项目]] 
 +    * [[https://​www.fpga4student.com/​p/​verilog-project.html|fpga4students上用Verilog写的项目]] 
 +    * [[https://​www.fpga4student.com/​p/​vhdl-project.html|fpga4students上用VHDL写的项目]]
   * [[HWOpensource|Hamsterworks Wiki上的FPGA开源资源]]   * [[HWOpensource|Hamsterworks Wiki上的FPGA开源资源]]
-  ​* [Design&​Reuse上的IP Core资源](https://​www.design-reuse.com)+    - [GPSDO](http://​hamsterworks.co.nz/​mediawiki/​index.php/​GPSDO):​ 一个(非常差的)GPS产生的1MHz振荡器 
 +    - [CORDIC](http://​hamsterworks.co.nz/​mediawiki/​index.php/​CORDIC):​ 仅使用加法和位移计算SIN和COS 
 +    - [HDMI header error correction](http://​hamsterworks.co.nz/​mediawiki/​index.php/​HDMI_header_error_correction):​ HDMI中使用的错误检查和纠正码之一 
 +    - [High_performance_FIR](http://​hamsterworks.co.nz/​mediawiki/​index.php/​High_performance_FIR):​ 用于Spartan 6的高性能FIR滤波器 
 +    - [DigitalClock](http://​hamsterworks.co.nz/​mediawiki/​index.php/​DigitalClock):​ 致力于数字时钟的设计 
 +    - [STGL5000](http://​hamsterworks.co.nz/​mediawiki/​index.php/​STGL5000):​ 配置SGTL5000低功耗音频编解码器 
 +    - [Combination Lock](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Combination_Lock):​ Basys-3的四位数组合锁 
 +    - [MMCM_reset](http://​hamsterworks.co.nz/​mediawiki/​index.php/​MMCM_reset):​ 动态重新配置7系列MMCM模块 
 +    - [Simple AXI Slave](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Simple_AXI_Slave):​ Zynq ARM CPU的AXI从站 
 +    - [myStorm Blackice](http://​hamsterworks.co.nz/​mediawiki/​index.php/​MyStorm_Blackice):​ 第一个使用开源FPGA工具集的项目 
 +    - [TinyTx](http://​hamsterworks.co.nz/​mediawiki/​index.php/​TinyTx):​ 制作一个非常小的串行TX 
 +    - [GigabitTX](http://​hamsterworks.co.nz/​mediawiki/​index.php/​GigabitTX):​ 从10/​100/​1000以太网端口发送数据 
 +    - [ArtyEthernet](http://​hamsterworks.co.nz/​mediawiki/​index.php/​ArtyEthernet):​ 在Digilent Arty的10/​100以太网端口上发送数据 
 +    - [Morse](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Morse):​ 用Arty传输摩尔斯电码 
 +    - [Synchronizer](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Synchronizer):​ 正确的同步输入信号的方法 
 +    - [MIC and AMP](http://​hamsterworks.co.nz/​mediawiki/​index.php/​MIC_and_AMP):​ 将麦克风添加到PMODamp3设计中 
 +    - [PMODamp3](http://​hamsterworks.co.nz/​mediawiki/​index.php/​PMODamp3):​ 驱动D类I2S功率放大器模块 
 +    - [Virtual IO](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Virtual_IO):​ 使用Vivado调试虚拟IP 
 +    - [MPU6050 sensor RTL](http://​hamsterworks.co.nz/​mediawiki/​index.php/​MPU6050_sensor_RTL):​ 在RTL中直接使用陀螺仪/​加速度/​姿态传感器 
 +    - [Single Step](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Single_Step):​ 一种允许在Spartan 6中切换到单步时钟的方法 
 +    - [XADC Fan PWM](http://​hamsterworks.co.nz/​mediawiki/​index.php/​XADC_Fan_PWM):​ 使用7系列XADC控制风扇速度 
 +    - [Minimal XADC design](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Minimal_XADC_design):​ 从Basys3上的on-FPGA ADX读取输入 
 +    - [Better rotary encoder input](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Better_rotary_encoder_input):​ 我早期尝试正交解码并不是那么好 
 +    - [Genesys2 Mandelbrot](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Genesys2_Mandelbrot):​ Artix-7分形观察器的端口到Genesys2上的Kintex-7 
 +    - [DisplayPort](http://​hamsterworks.co.nz/​mediawiki/​index.php/​DisplayPort):​ 一个DisplayPort接口 
 +    - [HDMI Capture](http://​hamsterworks.co.nz/​mediawiki/​index.php/​HDMI_Capture):​ 捕获HDMI数据并将其发送到串行端口 
 +    - [HDMI Processing](http://​hamsterworks.co.nz/​mediawiki/​index.php/​HDMI_Processing):​ 在Artix 7板上进行HDMI视频和音频提取 
 +    - [EDID ROM](http://​hamsterworks.co.nz/​mediawiki/​index.php/​EDID_ROM):​ 视频项目的基本EDID 
 +    - [SERDES symbol locking](http://​hamsterworks.co.nz/​mediawiki/​index.php/​SERDES_symbol_locking):​ 如何找到7系列ISERDES的工作bitlip /​输入延迟设置 
 +    - [Artix 7 1080p passthrough](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Artix_7_1080p_passthrough):​ 通过Nexys视频传递HDMI信号 
 +    - [Square root](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Square_root):​ 计算数字的整数平方根 
 +    - [Artix 7 1080p](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Artix_7_1080p):​ 看看Artix-7是否可以产生1080p,并带有一点超频 
 +    - [Mandelbrot NG 1080i](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Mandelbrot_NG_1080i):​ 用于Nexys视频的全高清动态Mandelbrot Fractal查看器 
 +    - [GPS Spew](http://​hamsterworks.co.nz/​mediawiki/​index.php/​GPS_Spew):​ 桌面GPS干扰器 
 +    - [OSERDESE2](http://​hamsterworks.co.nz/​mediawiki/​index.php/​OSERDESE2):​ 一个示例10:1序列化器,可以正常模拟 
 +    - [Digital Microphone](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Digital_Microphone):​ 从PmodMIC3获取数据 - MEM Smicrophone和12位ADC 
 +    - [Mandelbrot NG](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Mandelbrot_NG):​ 一个新的实时Mandelbrot查看器 
 +    - [Ring Oscillator](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Ring_Oscillator):​ 在FPGA中创建环形振荡器 
 +    - [Digital Sine](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Digital_Sine):​ 使用DAC创建相对精确的模拟正弦波 
 +    - [PmodAD1](http://​hamsterworks.co.nz/​mediawiki/​index.php/​PmodAD1):​ 使用PmodAD1读取模拟操纵杆(ADI公司的AD7476 ADC) 
 +    - [FPGA_ESP8266](http://​hamsterworks.co.nz/​mediawiki/​index.php/​FPGA_ESP8266):​ 使用低成本ESP8266模块将FPGA连接到wifi 
 +    - [PmodMAXSONAR](http://​hamsterworks.co.nz/​mediawiki/​index.php/​PmodMAXSONAR):​ 使用PmodMAXSONAR模块上的串行接口 
 +    - [Minimal HDMI](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Minimal_HDMI):​ 超重3像素的真正HDMI接口 
 +    - [Minimal DVI-D](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Minimal_DVI-D):​ 超重量每像素9位DVI-D接口 
 +    - [Log Pins](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Log_Pins):​ 一个微小的项目,通过RS232将11个引脚的开头发送给主机 
 +    - [miniSpartan6+ SPI Programming](http://​hamsterworks.co.nz/​mediawiki/​index.php/​MiniSpartan6%2B_SPI_Programming):​ 将逻辑设计写入电路板的SPI配置FLASH 
 +    - [miniSpartan6+ DVID Logo](http://​hamsterworks.co.nz/​mediawiki/​index.php/​MiniSpartan6%2B_DVID_Logo):​ 在DVI-D流上覆盖Hamsterworks徽标 
 +    - [miniSpartan6+ Audio](http://​hamsterworks.co.nz/​mediawiki/​index.php/​MiniSpartan6%2B_Audio):​ 打哔哔声 
 +    - [miniSpartan6+ DVID Output](http://​hamsterworks.co.nz/​mediawiki/​index.php/​MiniSpartan6%2B_DVID_Output):​ Scarab Hardware miniSpartan6 +板的更好的DVI-D输出 
 +    - [miniSpartan6+ bringup](http://​hamsterworks.co.nz/​mediawiki/​index.php/​MiniSpartan6%2B_bringup):​ 首次推出Scarab Hardware miniSpartan6 +板 
 +    - [Stepper](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Stepper):​ 控制小型步进电机 
 +    - [Math free digital clock](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Math_free_digital_clock)一个不知道如何做加法的数字时钟! 
 +    - [LFSR Divider](http://​hamsterworks.co.nz/​mediawiki/​index.php/​LFSR_Divider) 使用LFSR分频时钟信号 
 +    - [Sonar](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Sonar) 将低成本声纳模块连接到FPGA 
 +    - [Simple resets don't work](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Simple_resets_don%27t_work):​ 展示如何不实现重置 
 +    - [DDS via a VGA port](http://​hamsterworks.co.nz/​mediawiki/​index.php/​DDS_via_a_VGA_port):​ 分析VGA端口产生6.25 MHz频率正弦波的能力 
 +    - [Inferred FIFO](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Inferred_FIFO):​ 如何不用IP就可以实现FIFO 
 +    - [Cheap Analogue Input](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Cheap_Analogue_Input):​ 在没有ADC的情况下读取模拟操纵杆 
 +    - [HDMI Input](http://​hamsterworks.co.nz/​mediawiki/​index.php/​HDMI_Input):​ 接收高速数字视频(DVI-D over HDMI) 
 +    - [Intelligent LEDs](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Intelligent_LEDs):​ 驱动智能LED 
 +    - [SDRAM Audio playback](http://​hamsterworks.co.nz/​mediawiki/​index.php/​SDRAM_Audio_playback):​ 从SDRAM播放扩展音频 
 +    - [FPGA wheelchair fairy lights](http://​hamsterworks.co.nz/​mediawiki/​index.php/​FPGA_wheelchair_fairy_lights):​ 我的男孩轮椅的LED灯 
 +    - [Accessing the configuration clock](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Accessing_the_configuration_clock):​ 使用内部振荡器 
 +    - [High Speed Frequency Counter](http://​hamsterworks.co.nz/​mediawiki/​index.php/​High_Speed_Frequency_Counter):​ 高速频率计数器 
 +    - [DVI-D Serdes](http://​hamsterworks.co.nz/​mediawiki/​index.php/​DVI-D_Serdes):​ 使用OSERDES2 Serializers创建DVI-D信号 
 +    - [SD card testing](http://​hamsterworks.co.nz/​mediawiki/​index.php/​SD_card_testing):​ 在SD卡上使用SPI接口 
 +    - [Logic Analyser Test](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Logic_Analyser_Test):​ 一个8位200MHz计数器,用于测试逻辑分析仪 
 +    - [Eternity2 Solver](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Eternity2_Solver):​ 使用FPGA解决Eternity II难题 
 +    - [Zedboard Audio](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Zedboard_Audio):​ 在VHDL上使用Zedboard上的I2S Audio编解码器 
 +    - [Reflow Oven](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Reflow_Oven):​ 使用台式烤箱和FPGA进行焊料回流焊 
 +    - [FIR Filter](http://​hamsterworks.co.nz/​mediawiki/​index.php/​FIR_Filter):​ 在FPGA中实现FIR滤波器 
 +    - [Solid State Relay](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Solid_State_Relay):​ 从FPGA驱动固态继电器SSR 
 +    - [Analog Wing](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Analog_Wing):​ 使用Papilio模拟翼 
 +    - [Thermocouple demo](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Thermocouple_demo):​ 使用Adafruit热电偶接口捕获数据 
 +    - [Simple SDRAM Controller](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Simple_SDRAM_Controller):​ 一个非常简单的SDRAM控制器 
 +    - [Zedboard_VGA_HDMI](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Zedboard_VGA_HDMI):​ “驱动Zedboard的VGA和HDMI接口,每个像素一个时钟,包括RGB444到YCbCr转换” 
 +    - [Zedboard_HDMI_v2](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Zedboard_HDMI_v2):​ 驱动Zedboard的HDMI接口 
 +    - [pmodi2s](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Pmodi2s):​ 驱动Digilent PMODI2S音频DAC 
 +    - [pmodenc](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Pmodenc):​ 解码Digitent PMODENC旋转编码器的输入 
 +    - [mains_hum_filter](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Mains_hum_filter):​ 一个低通DSP滤波器,可从ADC样本中消除50Hz的嗡嗡声 
 +    - [a2d_graph](http://​hamsterworks.co.nz/​mediawiki/​index.php/​A2d_graph):​ 慢慢绘制LogicStart ADC上的通道0 
 +    - [DSP_Filter_Design](http://​hamsterworks.co.nz/​mediawiki/​index.php/​DSP_Filter_Design):​ 用于FIR滤波器设计的各种位和突发 
 +    - [I3C2](http://​hamsterworks.co.nz/​mediawiki/​index.php/​I3C2):​ 智能I2C控制器 
 +    - [Audio filter](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Audio_filter):​ 模拟被动模拟音频滤波器 
 +    - [Dualhead MCB Frame Buffer](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Dualhead_MCB_Frame_Buffer):​ 将DVI-D输出添加到MCB帧缓冲区 
 +    - [MCB Frame Buffer](http://​hamsterworks.co.nz/​mediawiki/​index.php/​MCB_Frame_Buffer):​ 在Pipistrello的LPDDR内存中创建一个720p帧缓冲区 
 +    - [USB TTL RS232](http://​hamsterworks.co.nz/​mediawiki/​index.php/​USB_TTL_RS232):​ 使用Papilio作为TTL RS232适配器 
 +    - [Spartan 6 1080p](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Spartan_6_1080p):​ 在Spartan 6 LX上生成1080p 
 +    - [High Speed Link](http://​hamsterworks.co.nz/​mediawiki/​index.php/​High_Speed_Link):​ 两个FPGA之间的高速传输 
 +    - [RS232_dumper](http://​hamsterworks.co.nz/​mediawiki/​index.php/​RS232_dumper):​ 捕获然后将数据转储到RS232端口 
 +    - [Zedboard_HDMI](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Zedboard_HDMI):​ 驱动Zedboard的HDMI接口 
 +    - [Zedboard_OV7670](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Zedboard_OV7670):​ 将低成本相机连接到Zedboard 
 +    - [Async_VGA](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Async_VGA):​ 一个VGA控制器,可以处理突发数据(例如来自SDRAM) 
 +    - [FreqSwitch Changing](http://​hamsterworks.co.nz/​mediawiki/​index.php/​FreqSwitch):​ DCMCLKGEN的输出在运行中以生成不同的频率 
 +    - [FM_SOS](http://​hamsterworks.co.nz/​mediawiki/​index.php/​FM_SOS):​ 使用简单的FM发射器发送SOS 
 +    - [OV7670_camera](http://​hamsterworks.co.nz/​mediawiki/​index.php/​OV7670_camera):​ 从便宜的相机模块捕获视频 
 +    - [Digilent EPP Performance](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Digilent_EPP_Performance):​ 在digilent板上的EPP端口速度的性能差异 
 +    - [OSERDES2 clocking](http://​hamsterworks.co.nz/​mediawiki/​index.php/​OSERDES2_clocking):​ 为高速串行输出设置时钟基础设施 
 +    - [frequency_counter](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Frequency_counter):​ GPS参考频率计数器 
 +    - [hidef_snow](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Hidef_snow):​ 以1080p生成静态 
 +    - [config_flash](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Config_flash):​ 在配置闪存中存储任意数据 
 +    - [async_reset](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Async_reset):​ 测试异步重置可靠性 
 +    - [meta_test](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Meta_test):​ 测试亚稳态 
 +    - [if vs case](http://​hamsterworks.co.nz/​mediawiki/​index.php/​If_vs_case):​ 测试不同的实现 
 +    - [ray_cast](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Ray_cast):​ 一个“射线投射”3D迷宫走过 
 +    - [dx_display](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Dx_display):​ 极速推出TM1638 7 Seg显示器 
 +    - [Synth](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Synth):​ 一个简单的全数字Synth,一口大小的部分 
 +    - [Crystal Castles](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Crystal_Castles):​ 在FPGA上重新实现旧的街机 
 +    - [CheapScope](http://​hamsterworks.co.nz/​mediawiki/​index.php/​CheapScope):​一个简单的结构嵌入式逻辑分析仪,具有和RS232接口 
 +    - [dvid_test](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Dvid_test):​ 从Spartan 6 FPGA驱动DVI-D接口 
 +    - [HDlife](http://​hamsterworks.co.nz/​mediawiki/​index.php/​HDlife):​ 以全高清实现康威的生命游戏 
 +    - [FPGAheli](http://​hamsterworks.co.nz/​mediawiki/​index.php/​FPGAheli):​ 控制红外直升机 
 +    - [shortwave](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Shortwave):​ 一个非常快速和肮脏的短波发射器 
 +    - [AVR8 core](http://​hamsterworks.co.nz/​mediawiki/​index.php/​AVR8_core):​ AVR103几乎兼容软核,最初来自OpenCores 
 +    - [10BaseT-TX](http://​hamsterworks.co.nz/​mediawiki/​index.php/​10BaseT-TX):​ 直接从FPGA发送以太网数据包 
 +    - [SPDIF_Input](http://​hamsterworks.co.nz/​mediawiki/​index.php/​SPDIF_Input):​ 从DVD播放器捕获和转换数字音频数据 
 +    - [SPDIF_out](http://​hamsterworks.co.nz/​mediawiki/​index.php/​SPDIF_out):​ 生成数字音频数据输出 
 +    - [SPDIF_Volume](http://​hamsterworks.co.nz/​mediawiki/​index.php/​SPDIF_Volume):​ 用于S / PDIF信号的简单数字音量控制 - 一种非常简单的DSP 
 +    - [SPDIF_Thru](http://​hamsterworks.co.nz/​mediawiki/​index.php/​SPDIF_Thru):​ S / PDIF信号的传递 -  DSP项目的基础 
 +    - [VGA Display](http://​hamsterworks.co.nz/​mediawiki/​index.php/​FPGA_VGA):​ 生成1440x900 VGA输出的时序 
 +    - [WavePlay](http://​hamsterworks.co.nz/​mediawiki/​index.php/​WavePlay):​ 从Block RAM播放8位立体声音频样本 
 +    - [Mandelbrot](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Mandelbrot):​ 又一个FPGA Mandelbrot查看器 
 +    - [DSPfract](http://​hamsterworks.co.nz/​mediawiki/​index.php/​DSPfract):​ 另一个FPGA Mandelbrot查看器 - 这次使用Spartan 6 DSP48A bocks 
 +    - [Radix2div](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Radix2div):​ VHDL中的Radix 2部分 
 +    - [Radix4div](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Radix4div):​ VHDL中的Radix 4部分 
 +    - [SDRAM Memory Controller](http://​hamsterworks.co.nz/​mediawiki/​index.php/​SDRAM_Memory_Controller):​ Terasic DE0-nano上的SDRAM芯片的存储器控制器 
 +    - [uClinux](http://​hamsterworks.co.nz/​mediawiki/​index.php/​UClinux):​ 在Terasic DE0-nano板上引入uClinux 
 +    - [MAF6502](http://​hamsterworks.co.nz/​mediawiki/​index.php/​MAF6502):​ 经典MOS6502处理器的FPGA实现 
 +    - [Papilio Plus/​Pacman](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Papilio_Plus/​Pacman):​ 在Spartan 6硬件上从http://​fpgaarcade.com构建Pacman实现 
 +    - [Papilio Plus/Fading counter](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Papilio_Plus/​Fading_counter):​ 一个软褪色的二进制计数器 
 +    - [Papilio Plus/PS2 Keyboard](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Papilio_Plus/​PS2_Keyboard):​ 使用PS / 2键盘接口 
 +    - [Papilio Plus/SRAM test 2](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Papilio_Plus/​SRAM_test_2):​ 在Papilio Plus @ 100MHz上写入并验证SRAM中的测试模式 
 +    - [CUGA-1](http://​hamsterworks.co.nz/​mediawiki/​index.php/​CUGA-1):​ 使用门阵列的CPU  ​* [Design&​Reuse上的IP Core资源](https://​www.design-reuse.com)
   * [icoboard.org](http://​icoboard.org/​verilog-projects.html)上面的[[VerilogOpenSource|Verilog开源资源]]   * [icoboard.org](http://​icoboard.org/​verilog-projects.html)上面的[[VerilogOpenSource|Verilog开源资源]]
 +    * 通信相关
 +      * 业余高频[SDR收发模块](https://​github.com/​softerhardware/​Hermes-Lite2)项目链接
 +      * [SDR的Verilog代码](https://​github.com/​TAPR/​DCP6)
 +      * [用Verilog编写的基于Cyclone III的VHF SDR接收器](https://​github.com/​marsohod4you/​FPGA_SDR)
 +      * [用Verilog编写的基于Cyclone III的FM Radiosender](https://​github.com/​marsohod4you/​FPGA_FM_transmitter)
 +      * 在github上的[无线电信号处理组件](http://​ebrombaugh.studionebula.com/​radio/​iceRadio/​index.html)
 +      * [用Verilog实现的GPS接收器](http://​www.aholme.co.uk/​GPS/​Main.htm)
 +    * 音、视频相关
 +      * 声音合成器[OPL3](https://​github.com/​gtaylormb/​opl3_fpga/​tree/​master/​fpga/​bd/​opl3_cpu)
 +      * [吉他效果引擎(VHDL)链接](https://​github.com/​Vladilit/​fpga-multi-effect)
 +      * [VGA摄像头模块OV7670接口](https://​github.com/​westonb/​OV7670-Verilog)
 +      * [VGA模式发生器](https://​github.com/​jbush001/​FPGAWhack)
 +      * [用VHDL写的H.264视频编码器](https://​github.com/​bcattle/​hardh264)
 +      * [用Verilog写的H.265视频编码器](https://​github.com/​Bearzeng/​h.265_encoder)
 +      * [将数码相机连接到PMOD](http://​hamsterworks.co.nz/​mediawiki/​index.php/​Zedboard_OV7670)
 +      * [用于MIPI显示的2D图形控制器](https://​github.com/​gtjennings1/​UPDuino-LH154Q01-Display/​tree/​master/​FPGA/​source)
 +      * [用于嵌入式MCU的2D图形控制器](http://​andybrown.me.uk/​2014/​06/​01/​ase/​)
 +      * [JESD204B](https://​github.com/​m-labs/​jesd204b)高速接口
 +      * [用Verilog实现的ieee 754浮点库](https://​github.com/​dawsonjon/​fpu)
 +    * RISC-V相关
 +      * [icoSoC Risc-V微控制器,在icoBoard上运行接口](https://​github.com/​cliffordwolf/​icotools/​tree/​master/​icosoc)
 +      * [搭乘无序的Risc-V CPU](https://​github.com/​ridecore/​ridecore/​)
 +      * [V-Scale Risc-V CPU实现](https://​github.com/​albert-magyar/​vscale)
 +      * [完整的32位Risc-V SoC,具有大量外设](https://​github.com/​pulp-platform/​pulpino)
 +      * [Risc-V CPU(来自Vectorblox)](https://​github.com/​VectorBlox/​risc-v)
 +    * 通用处理器
 +      * [用Verilog实现的Lisp MCU](https://​github.com/​jbush001/​LispMicrocontroller)
 +      * [Zip](http://​opencores.org/​project,​zipcpu) CPU,一个用于FPGA的小型CPU
 +      * [manycore SoC组件](http://​www.optimsoc.org/​index.html)
 +      * [一个完整的CPU,SPI,VGA,串口](https://​github.com/​mattstock/​bexkat1)
 +      * [Bexkat1 32位CPU](https://​hackaday.io/​project/​8716-bexkat1-cpu)
 +      * [带游戏机的68000 CPU](https://​github.com/​neogeodev/​NeoGeoFPGA-sim)
 +      * [6502 CPU核心(Verilog)](https://​github.com/​Arlet/​verilog-6502)
 +      * [M32632 32位CPU(Verilog)](http://​opencores.org/​project,​m32632)
 +      * [GPU](https://​github.com/​jbush001/​NyuziProcessor)
 +      * [一个开源的Verilog GPU实现(不适合icoBoard)和描述](https://​github.com/​HeavyPixels/​QuickSilverNEO)
 +      * [许多完整的传统家庭计算机系统在Verilog中实现,如Acorn Archimedes](https://​github.com/​mist-devel/​mist-board/​tree/​master/​cores)
 +      * [一个带调试器连接的小型CPU](https://​github.com/​atgreen/​moxie-cores)
 +      * [Amstrad家用电脑仿真器(VHDL版)](http://​www.cpcwiki.eu/​index.php/​FPGAmstrad)
 +    * 存储器管理
 +      * [SDRAM控制器](https://​github.com/​stffrdhrn/​sdram-controller)
 +      * [用于SDRAM控制器的Verilog代码](http://​ladybug.xs4all.nl/​arlet/​fpga/​source/​sdram.v)
 +      * [用在小容量FPGA上的SDRAM控制器(VHDL)的Verilog代码](http://​hackaday.com/​2013/​10/​11/​sdram-controller-for-low-end-fpgas/​)
 +    * 测量相关
 +      * 基于FPGA的逻辑分析仪 - [Sump2](https://​blackmesalabs.wordpress.com/​2016/​10/​24/​sump2-96-msps-logic-analyzer-for-22/​)
 +    * 其它
 +      * [不用乘法器的乘法FFT和FIR Verilog发生器](http://​www.spiral.net/​hardware.html)
 +      * [用于10 GBit以太网的TCP/​IP协议栈](https://​github.com/​dsidler/​fpga-network-stack)
 +      * [SATA for Elphel Camera项目](http://​blog.elphel.com/​2016/​03/​free-fpga-reimplement-the-primitives-models/#​more-6655)
 +      * [AXI总线开源实现(Xilinx上的SystemVerilog)](http://​blog.dspia.com/​2015/​08/​05/​open-source-axi3-bus-functional-model-bfm/​)
 +      * [一些FPGA项目,如带有Verilog源代码的PMOD(似乎是VHDL)](http://​hamsterworks.co.nz/​mediawiki/​index.php/​FPGA_Projects)
 +      * [频率计数器](http://​www.circuitvalley.com/​2015/​10/​simple-frequency-meter-counter-fpga-xilinx-altera-cpld-wireframe.html)
 +      * [数字伺服](https://​github.com/​nist-ionstorage/​digital-servo)
 +      * [I2S输出(VHDL)](http://​hamsterworks.co.nz/​mediawiki/​index.php/​PMODamp3)
 +      * [FPGA中的浮点数学(VHDL生成器)](http://​flopoco.gforge.inria.fr/​)
 +      * [红外接收器](https://​github.com/​circuitvalley/​WireFrame-FPGA/​tree/​master/​VerilogHDL-Modules/​Nec_Decoder)
 +      * [小型游戏机,模拟CPU上的游戏](https://​fotino.me/​consolite-fpga/​)
 +      * [CMAC使用AES作为分组密码来键控散列函数](https://​github.com/​secworks/​cmac)
   * [[ipcore_lattice|来自Lattice官网的IP内核]]{{:​psg_2019_i0211k_rev20.pdf|IP内核参考指南}}   * [[ipcore_lattice|来自Lattice官网的IP内核]]{{:​psg_2019_i0211k_rev20.pdf|IP内核参考指南}}
   * [[ipcore_altera|来自Altera/​Intel官网上的IP内核]],​ 其官网上提供的{{:​intel-intellectual-property-brochure.pdf|IP内核参考指南}}   * [[ipcore_altera|来自Altera/​Intel官网上的IP内核]],​ 其官网上提供的{{:​intel-intellectual-property-brochure.pdf|IP内核参考指南}}
 +  * [[ipcore_stepfpga|来自小脚丫官网上的IP内核]]
  
 更多关于FPGA的资料和学习案例参见[[stepfpga|小脚丫FPGA学习]] 更多关于FPGA的资料和学习案例参见[[stepfpga|小脚丫FPGA学习]]