- 2009-10-28verilog PS2键盘解码程序
- 之前探讨过PS/2键盘编解码以及数据传输协议,这次自己动手实现了利用FPGA接收键盘编码,然后通过串口传输到PC。做的比较简单,只是通过FPGA把大写字母A-Z转换成相应的ASCII码,只要字母按键被按下,就能在串口调试助手里显示相应大写字母。下面就共... [阅读全文]
- 2009-10-28一个好用的Verilog串口UART程序
- 出自http://www.asic-world.com/,测试过了很好用。
==========================================================================
//-----------------------------------------------------
// Design Name : uart
// File Name : uart.v
// Function&n... [阅读全文]
- 2009-10-28FPGA DCM时钟管理单元的理解
- 看Xilinx的Datasheet会注意到Xilinx的FPGA没有PLL,其实DCM就是时间管理单元。
-----------------------------------------------------
DCM概述
DCM内部是DLL(Delay Lock Loop(?)结构,对时钟偏移量的调节是通过长的延时线形成的。DCM的参数里有一... [阅读全文]
- 2009-10-14FPGA和单片机串行通信接口的实现
- 摘要:本文针对由FPGA构成的高速数据采集系统数据处理能力弱的问题,提出FPGA与单片机实现数据串行通信的解决方案。在通信过程中完全遵守RS232协议,具有较强的通用性和推广价值。
1 前言
现场可编程逻辑器件(FPGA)在高速采集系统中的应用越来越... [阅读全文]
- 2009-10-14基于VHDL的串口通信程序
- -- 本模块的功能是验证实现和PC机进行基本的串口通信的功能。需要在
--PC机上安装一个串口调试工具来验证程序的功能。
-- 程序实现了一个收发一帧10个bit(即无奇偶校验位)的串口控
--制器,10个bit是1位起始位,8个数据位,1个结束
--位。串口的波特律由程序中定义的d... [阅读全文]
- 2009-10-14如何拆分大的组合逻辑?
- lflhust:
图1是很多为了提高系统时钟采用的拆分大组合逻辑的方法,但是没有提供具体如何拆分的实例。我觉得实例才是重要的。但我不明白在写代码时,如何知道这样写会被综合成一个很大的逻辑,一些简单的可以想到(比如大的计数器应该分成多个来做),但是更复杂的实在是... [阅读全文]
- 2009-09-25Verilog模拟PS2协议
- 本来以为模拟PS2协议相当的麻烦,今天下了一本PS2协议手册看了半天,原来读键盘值相当简单嘛,比模拟SPI、I2C简单多了呵呵。
下面介绍一下具体过程
1.明确接线关系,只需接4根线,VCC要+5V,3.3我测试过不能用,时钟和数据线要用bidir双向口线,FPGA可以不用外接上拉电... [阅读全文]
- 2009-09-25DCM使用详解
- 本文翻译自Using Digital Clock Managers (DCMs) in Spartan-3 FPGAs
DCM主要功能
1. 分频倍频:DCM可以将输入时钟进行multiply或者divide,从而得到新的输出时钟。
2. 去skew:DCM还可以消除clock的skew,所谓skew就是由于传输引起的同一时钟到达不同地点的延迟... [阅读全文]
- 2009-09-25Cyclone II的DDR SDRAM接口实现
- 在不增加电路板复杂度的情况下要想增强系统性能,改善数据位宽是一个有效的手段。通常来说,可以把系统频率扩大一倍或者把数据I/O管脚增加一倍来实现双倍的数据位宽。这两种方法都是我们不希望用到的,因为它们会增加整个设计系统的复杂度。在总的数... [阅读全文]
- 2009-08-1720 分钟建立一个NIOS II 开发环境
- 一、 软件安装
1. 首先,安装NIOS II 开发包。采用虚拟光驱软件,如DAEMON 等将NIOS II V1.0 BUILD316E.ISO 文件映射到虚拟光驱上;
点击光驱图标,会自动运行安装程序
选择第一个选项,Install;
选择 Next 按钮;
询问是否接收协议的时候,选择 Yes,下一个也... [阅读全文]
- 2009-08-17modelsim学习笔记
- 1. 建一个总文件夹,如cnt
2. 为源代码,测试台文件,仿真各建一文件夹。如src,tb,sim
3. 编写源代码,testbench。如cnt.v,tb_cnt.v文件,同时文件名里的模块名与文件名相同,如module cnt( ), module tb_cnt( )。
4. 再si... [阅读全文]
- 2009-07-31CPLD驱动数码显示电路
- 1.1 显示原理:
八段数码显示管如图1.1 所示,八段数码管每一段为一发光二极管,共有a~g 以及小数点dp 八个发光二极管。将八段数码管中的每个二极管的阴极并联在一起,组成公共阴极端。这样把共阴极管脚接地,此时哪个管脚输入高电平,对应发... [阅读全文]
- 2009-07-31NIOS整体开发结构基础
- 上个例子中,我们使用VHDL语言,根据FPGA管脚与数码管和按键管脚的连接,通过一系列的语句控制管脚电平的高低,从而让FPGA实现数码管显示功能。可见,对于比较简单的功能实现,可以像这个例子中那样,直接控制最底层资源,甚至对每个管脚在每个时刻... [阅读全文]
- 2009-07-31nios II架构uclinux的过程
- 前言:
最近在论坛上有一些朋友提出我上传的”nios2架构uclinux(nios2-linux-20080619开发包)的过程”是英文版的不好读.碰巧我最近整理资料就把架构过程重新整理了一篇.便于朋友参考. 对于英语阅读能力比较好的朋友建议参考我整理的英文版.内容比较详... [阅读全文]
- 2009-07-15基于FPGA 的SPI 自动发送模块设计
- 一、摘要:
SPI 接口应用十分广泛,在很多情况下,人们会用软件模拟的方法来产生SPI 时序或是采用带SPI 功能模块的MCU。但随着可编程逻辑技术的发展,人们往往需要自己设计简单的SPI 发送模块。本文介绍一种基于FPGA 的将并行数据以SPI 串行方式自动... [阅读全文]