随笔分类 -  FPGA

摘要:quartus中的signal tap 能够方便的抓取模块中的信号 向工程添加一个Signaltap 的文件 ,点击菜单 File->New..., 在弹出的界面中选择 SignalTap II Logic Analyzer File。 软件会弹出如下的 SignalTap 的界面: 首先我们需要为 阅读全文
posted @ 2021-06-30 15:08 菜芽caiya 阅读(1029) 评论(0) 推荐(0) 编辑
摘要:bdf文件创建: 对于FPGA来说,这三种文件都是对硬件电路描述,都是可以综合的,而且可以混合使用,一般想直观一点的话,可以用verilog 或则vhdl写模块,然后将代码文件实例化为元件,然后放入到bdf文件里面,将bdf文件设置为顶层文件,在bdf里面画好原理图即可综合了。 verilog 或则 阅读全文
posted @ 2020-06-12 21:17 菜芽caiya 阅读(1959) 评论(0) 推荐(0) 编辑
摘要:IIC 的总线协议和时序IIC 标准速率为 100kbit/s,快速模式 400kbit/s,支持多机通讯, 支持多主控模块,但同一时刻只允许有一个主控。 由数据线 SDA 和时钟 SCL 构成串行总线;每个电路和模块都有唯一的地址。 在这里以 AT24C04 为例说明 I2C 读写的基本操作和时序 阅读全文
posted @ 2020-05-29 13:28 菜芽caiya 阅读(2026) 评论(0) 推荐(0) 编辑
摘要:一,SPI说明: 1、什么是SPI?SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一 种同步串行接口技术,是一种高速的,全双工,同步的通信总线。 2、SPI优点支持全双工通信、通信简单、数据传输速率块 3、缺点没有指定的流控制, 阅读全文
posted @ 2020-05-29 13:18 菜芽caiya 阅读(3048) 评论(0) 推荐(0) 编辑
摘要:verilog 初值: FPGA内的寄存器,如果不赋初值,知默认为0; 但是在仿真软件中(如modelsim),寄存器如果不赋初值,默认为不定态(x),仿真是无法进行的,count+1仍然为道x,你就会看到count一直是红色的,没有结果; 之所以实现流水灯没有问题,是因为你下载到FPGA内部了,c 阅读全文
posted @ 2020-05-22 21:18 菜芽caiya 阅读(896) 评论(0) 推荐(0) 编辑
摘要:一,串口相关知识 UART 通信 UART 首先将接收到的并行数据转换成串行数据来传输。消息帧从一个低位起始位开始,后面是 7 个或 8 个数据位,一个可用的奇偶位和一个或几个高位停止位。接收器发现开始位时它就知道数据准备发送,并尝试与发送器时钟频率同步。如果选择了奇偶校验,UART 就在数据位后面 阅读全文
posted @ 2019-10-31 09:14 菜芽caiya 阅读(1997) 评论(0) 推荐(0) 编辑
摘要:Altera 的 Cyclone IV 器件 PLL 具有时钟倍频和分频、相位偏移、可编程占空比和外部时钟输出,进行系统级的时钟管理和偏移控制。 Altera 的 Quartus II 软件无需任何外部器件,就可以启用 Cyclone IV PLL 和相关功能。 下面演示如和调用 Altera 提供 阅读全文
posted @ 2019-09-30 19:49 菜芽caiya 阅读(784) 评论(0) 推荐(0) 编辑
摘要:一,建立工程: 1,启动 Quartus12.1 开发环境, 选择菜单 File->New Project Wizerd。 2,在弹出的对话框中输入工程名和工程存放的目录, 点击 Next ,top-level design entity name跟工程名字一样。 3,add files 可以添加项 阅读全文
posted @ 2019-09-28 12:56 菜芽caiya 阅读(1652) 评论(0) 推荐(0) 编辑
摘要:转载至:https://www.cnblogs.com/zuilangsanshu/p/9888608.html FPGA芯片一般有好几组时钟引脚 CLK [0..N] [p,n],我的理解是:首先,时钟必须由外部晶振通过CLK引脚输入到FPGA的时钟网络,至于选用哪一组CLK,主要看FPGA哪个b 阅读全文
posted @ 2019-09-28 11:53 菜芽caiya 阅读(2526) 评论(0) 推荐(0) 编辑
摘要:第一步: 在QII软件中,使用“Assignments -》 Remove Assignments”标签,移除管脚分配内容,以确保此次操作,分配的管脚没有因为覆盖而出现错误的情况。 编写xxx.tcl文件。该文件需要在当前工程目录下。格式如下: 第二步:在QII软件中,使用“Tools -》 Tcl 阅读全文
posted @ 2018-11-25 19:30 菜芽caiya 阅读(543) 评论(0) 推荐(0) 编辑
摘要:参数新数据对象是用来定义常量的,它可以提升verilog hdl代码的可读性和维护性。 verilog hdl支持参数有两种,普通参数和局部参数。普通参数在模块例化时可以从新赋值,局部参数在模块例化时不能从新赋值。参数值更改可以通过defparam语句实现。 Verilog中可以用关键字parame 阅读全文
posted @ 2018-11-11 17:19 菜芽caiya 阅读(1321) 评论(0) 推荐(0) 编辑
摘要:1-选择eda仿真工具 tool-》options-》eda tool options 2-assignments-》settings-》eda tool settings-》simulation-》modelsim 3-编写testbench: (自动生成操作:processing-》start- 阅读全文
posted @ 2018-11-04 14:10 菜芽caiya 阅读(418) 评论(0) 推荐(0) 编辑
摘要:线网型数据对象: 是verilog hdl常用数据对象之一,起到电路节点之间的互联作用,类似于电路板上的导线。 wire是verilog hdl默认的线网型数据对象。 线网型数据对象的读操作在代码任何位置都可以使用; 写操作只能在assign连续赋值语句中使用。 assign连续赋值语句: 基本格式 阅读全文
posted @ 2018-10-30 18:13 菜芽caiya 阅读(7521) 评论(0) 推荐(0) 编辑
摘要:预编译指令: verilog HDL预编译指令是以" ' "字符开头,而且不需要以";"结尾。 作用:指示在编译verilog hdl源代码前,需要执行哪些操作。 'timescale的使用方法: verilog hdl的时序分析是以时间先后为顺序的,时延用'timescale定义的时间单位来表示。 阅读全文
posted @ 2018-10-30 15:11 菜芽caiya 阅读(768) 评论(0) 推荐(0) 编辑
摘要:1--verilog HDL 语言的预编译指令作用:指示在编译verliog HDL源代码前,需要执行哪些操作。 2--模块内容是嵌在module 和endmodule两个语句之间。每个模块实现特定的功能,模块可进行层次的嵌套,因此可以将大型的数字电路设计分割成大小不一的小模块来实现特定的功能,最 阅读全文
posted @ 2018-10-28 14:08 菜芽caiya 阅读(1682) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示