
FPGA
恋天的风
这个作者很懒,什么都没留下…
展开
-
FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程(转)
1,打开希望固化的FPGA设计工程,这里我直接打开按键消抖这节课的工程。2,在quartus ii软件中点击File—>Convert Programming Files,如下图所示:3,在弹出的窗口中,Programming file type 选择JTAG Indirect Configuration File(.jic),Mode选择Active Serial,Config...转载 2019-12-03 23:39:02 · 1673 阅读 · 0 评论 -
Notepad++编辑器——Verilog、代码片段、直接编译
Notepad++是一款精致小巧的编辑器,自带Verilog语法识别功能,插件也挺好用的。尤其是利用插件实现代码片段,大大节省我们写Verilog的时间。此外少有人知道的,可以利用某款插件实现在Notepad++界面中编译Verilog的功能。下面就来说说这几个功能要如何设置。 版本:Notepad++ 7.6.6 ,32位//=========================...转载 2019-12-02 23:17:56 · 1957 阅读 · 0 评论 -
altera中pll模块高电平复位
故PLL的复位信号为高电平有效原创 2019-12-01 00:24:19 · 1224 阅读 · 0 评论 -
Modelsim设置数据用模拟波形显示
选中希望以模拟波形显示的信号,右击选择format—>Analog(automatic)原创 2019-10-28 23:23:18 · 2281 阅读 · 0 评论 -
FPGA实现任意分频
module odd_div( clk, rst_n, clkout);input wire clk;input wire rst_n;output reg clkout;parameter HIGH_WIDITH=3;parameter LOW_WIDITH=2;parameter N=3;reg [N-1:0]cnt;reg state;always...原创 2019-03-15 14:58:37 · 3901 阅读 · 0 评论 -
FPGA从零开始到大神怎么学
原创: 刘勇材玩儿转FPGA 微信公总号1选好一本比较全,排版比较合理的verilog书 verilog作为现在最流行的FPGA开发语言,当然是入门基础,在这里小编给大家推荐一本多年来珍藏的两本书,一本是verilog2001的国际标准,还有一本是某高手写的非常全面的语法讲解书,下面是百度网盘链接,全免费的:链接:https://pan.baidu.com/s/1tst...原创 2019-03-11 17:54:30 · 712 阅读 · 0 评论 -
FPGA实现UDP
注:很多基础内容并本文不做讲解,重点讲解fpga实现时需要注意的地方,没有用IP。[就这样]一。 实现的意义分析等。 用fpga实现udp可以用来传消息、图片等,udp本身作为一种不可靠的传输,一般也就传图像什么的啦,暂时只讲发送方向,也就是fpga向pc(或者其他。。)传输,学会了发送方向,接收就可以自己搞定啦。二。效果展示(1) 消息传输 通过wireshark...转载 2019-03-12 10:37:41 · 8840 阅读 · 3 评论 -
FPGA千兆网UDP协议实现
接着上一篇百兆网接口的设计与使用,我们接着来进行FPGA百兆网UDP(User Datagram Protocol)协议的设计。1)UDP简介 在此,参考博主夜雨翛然的博文“https://www.cnblogs.com/HPAHPA/p/7737531.html”关于UDP协议的简介:“UDP传输与IP传输非常类似。你可以将UDP协议看作IP协议暴露在传输层的一个接口。UDP协议同样...转载 2019-03-12 11:06:14 · 4854 阅读 · 5 评论 -
FPGA偶数分频
module even_div( clk, rst_n, clkout);input wire clk;input wire rst_n;output reg clkout;parameter N=4;parameter WIDITH=3;reg [WIDITH-1:0]cnt;always@(posedge clk or negedge rst_n)beg...原创 2019-03-14 16:49:57 · 665 阅读 · 0 评论 -
modelsim**# (vish-4014) No objects found matching '/ip_fifo_tb/u1_ip_fifo/*'.
添加波形时出现这个错误,解决方法:点击simulate->star simulation->把Enable Optimization前面的勾取消->选择仿真文件转载 2019-03-14 16:47:22 · 1408 阅读 · 0 评论 -
XILINX Kintex-7 FPGA 时钟问题
要区分,MRCC SRSS,要知道Clock Regin的概念,MRCC 进来CLK,Regin里外皆可到,SRCC 进来CLK,只能在Regina里面原创 2019-01-02 10:27:59 · 3794 阅读 · 1 评论 -
Xilinx Platfrom Cable Usb驱动安装
安装ISE后Xilinx Platfrom Cable Usb不能自动安装驱动,烧录器灯不亮,此时需要手动安装驱动。注意:32位系统:驱动安装路径为:D:\Xilinx_ISE_DS_Win_14.7_1015_1\Xilinx\14.7\ISE_DS\ISE\bin\nt 64位系统:驱动安装路径为:D:\Xilinx_ISE_DS_Win_14.7_1015_1\...原创 2018-10-30 18:11:26 · 6456 阅读 · 0 评论 -
计数器练习
题目如图下;代码如下:module cnt(clk,rst_n,en,dout);input wire clk;input wire rst_n;input wire en;output reg dout;reg [4-1:0]cnt;wire add_cnt;wire end_cnt;assign add_cnt=(dout==1);assign end_cnt...原创 2018-10-30 11:06:17 · 533 阅读 · 0 评论 -
异步复位,同步复位,异步复位同步释放
1.异步复位异步复位:异步复位是指无论时钟是否到来,只要复位信号有效,就对系统进行复位。代码如下:module asy(clk,rst_n,d,q);input wire clk;input wire rst_n;input wire d;output reg q;always@(posedge clk or negedge rst_n)//�첽��λ begin ...原创 2018-10-30 00:38:43 · 4071 阅读 · 0 评论 -
TCP和UDP端口号使用
https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbersThis is an incomplete list of notable ports. See the Service Name and Transport Protocol Port Number Registry of IANA for the complet...转载 2019-03-12 11:18:54 · 38571 阅读 · 0 评论 -
Verilog语法中parameter与localparam的区别
注:parameter可用作在顶层模块中例化底层模块时传递参数的接口,localparam的作用域仅仅限于当前module,不能作为参数传递的接口。`timescale 1ns/100psmodule mem ( clka, wea, addra, dina, clkb, addrb, doutb); parameter DATA_WIDT...转载 2019-03-13 13:59:45 · 1084 阅读 · 0 评论 -
FPGA LVDS
最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用。Xilinx FPGA中,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF)。注意在分配引脚时,只需要分配SIGNAL_P的引脚,SIGNAL_N会自动连接到相应差分对引脚上;若没有使用差分信号原语,则在引脚电平上没有LVDS的选项(IO Planning PlanAhead)。...转载 2019-03-13 14:38:51 · 12693 阅读 · 3 评论 -
FPGA IOB
IOB寄存器跟通信有关的设计中多会用到,今天查了相关资料,总结如下:首先了解一下fpga的芯片内部结构:一个fpga主要是由可编程输入输出单元(图中的IOB模块),可编程逻辑单元(CLB模块),块RAM(图中的BRAM,也属于内嵌硬件),数字时钟管理(DCM,也属于内嵌硬件),还有一些内嵌的专用的硬件模块(DSP),IOB寄存器就在图中的IOB模块中。IOB 的内部结构如下:...转载 2019-08-22 23:45:40 · 4995 阅读 · 2 评论 -
JESD204B概述
一、JESD204B概述1、JED204B是什么?一种新型的基于高速SERDES的ADC/DAC数据传输接口。ADC/DAC的采样速率变得越来越高,数据的吞吐量越来越大,对于500MSPS以上的ADC/DAC,动辄就是几十个G的数据吞吐率,采用传统的CMOS和LVDS已经很难满足设计要求,JESD204B应运而生。现在各大厂商的高速ADC/DAC上基本都采用了这种接口。2、JESD20...转载 2019-05-17 23:22:06 · 987 阅读 · 1 评论 -
单口RAM、双口RAM、FIFO三者的关系
单口与双口单口与双口的区别在于,单口只有一组数据线与地址线,因此读写不能同时进行;而双口有两组数据线与地址线,读写可同时进行;FIFO读写可同时进行,可以看作是双口;简单双口RAM与真双口RAM双口RAM分伪双口RAM(Xilinx称为Simple two-dual RAM)与双口RAM(Xilinx称为true two-dual RAM),伪双口RAM,一个端口只读,另一个端...转载 2019-05-16 23:25:29 · 1661 阅读 · 1 评论 -
Quartus prime 16.0 中通过JTAG固化
下载项目sof文件到开发板中,掉电后会消失;由于开发板有JTAG口,则可以用JTAG固化jic文件到EPCS16芯片中。流程1.打开quartus软件并打开convert programming files:如图示:2.首先更改文件类型,这里选择jic文件类型,配置器件选择EPCS16(根据自己板子上是啥选择),再更改输出文件名字:3.点击flash loader,...转载 2019-04-28 21:13:04 · 581 阅读 · 0 评论 -
VHDL TestBench 测试终止时自动结束仿真——assert方法
VHDL TestBench 测试终止时自动结束仿真——assert方法可在结束仿真位置添加如下代码:assert falsereport "Simulation is finished!"severity Failure;则在Modelsim run -all下自动终止并打印"Simulation is finished!"。...转载 2019-04-28 20:56:27 · 2920 阅读 · 0 评论 -
Verilog运算符优先级
如图:转载 2019-04-13 16:53:05 · 28259 阅读 · 0 评论 -
FPGA功耗那些事儿(转载)
FPGA功耗那些事儿(转载) 在项目设计初期,基于硬件电源模块的设计考虑,对FPGA设计中的功耗估计是必不可少的。笔者经历过一个项目,整个系统的功耗达到了100w,而单片FPGA的功耗估计得到为20w左右,有点过高了,功耗过高则会造成发热量增大,温度高最常见的问题就是系统重启,另外对FPGA内部的时序也不利,导致可靠性下降。其它硬件电路的功耗是固定的,只有FPGA的功耗有优化的余地,因此硬件...转载 2019-04-02 14:18:02 · 803 阅读 · 0 评论 -
FPGA问题
异步FIFO中为什么使用格雷码做设计?项目中最难的地方在哪儿,怎么解决的?功耗怎么控制,FPGA的功耗主要出自哪儿?详细解释在实际工作中遇到的时序问题,并说出解决办法...转载 2019-04-01 11:22:17 · 295 阅读 · 0 评论 -
verilog参数例化
verilog参数例化1、参数定义parametermodule ram_1r1w#(parameter width=128,parameter deepth=32)(input wclk,input [width-1:0] wdin,.....................................input ...转载 2019-03-23 22:37:56 · 15258 阅读 · 1 评论 -
FPGA工程师面试试题集锦
FPGA工程师面试试题集锦1、同步电路和异步电路的区别是什么?(仕兰微电子)2、什么是同步逻辑和异步逻辑?(汉王笔试)同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。3、什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?(汉王笔试)线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用oc门来实现,由于不用oc门可能使灌电流过大,而烧坏逻辑门。同时...转载 2019-03-22 10:33:29 · 6838 阅读 · 1 评论 -
ISE14.7使用教程(一个完整工程的建立)
FPGA公司主要是两个Xilinx和Altera(现intel PSG),我们目前用的ISE是Xilinx的开发套件,现在ISE更新到14.7已经不更新了,换成了另一款开发套件Vivado,也是Xilinx的产品,intel的开发套件是Quartus II系列,我们实验室这两款公司的开发板都有,不过对于入门来说,选择ISE有两个原因,一是它比Vivado快多了,二是它和Quartus II相比不用...转载 2018-10-26 11:50:36 · 2958 阅读 · 0 评论 -
条件运算符:?:
1.C语言中条件表达式的通用形式如下:exp0=exp1?exp2:exp3如果exp1为真(非0),那么把exp2的值赋给exp0;如果exp1为假(0),那么把exp3的值赋给exp0。2.verilog语法中也有类似C语言中的条件表达式如下:inout sda;assign sda=(flag==1)?data_buf:1'bz;当flag==1时,sda的值等于...原创 2018-10-23 23:38:24 · 19125 阅读 · 0 评论 -
Altera中rom的使用
一、ROM简介 由于工作需要,需要持续发送一些固定数据,所以需要使用ROM,在quartus中,ROM可以分为两类,其一为单端口,其二为双端口,如下图所示:ROM是一种嵌入式memory,在实际中只能对其进行读数据,而不能写数据,而ROM中的数据是在生成IP时候进行配置的。在ROM初始化时候,可以选择两种数据,其一为mif文件,其二为hex文件。 而mif和h...转载 2018-09-16 14:32:43 · 5098 阅读 · 1 评论 -
modelsim仿真错误
1,** Error: E:\Quartus\Project\top_down_led\led\sim\led_flow.v(20): near "EOF": syntax error, unexpected end of source code译为“EOF”附近:语法错误,源代码意外结束。加endmodule后OK。2.Error: Top-level design entity "te...原创 2018-09-15 17:47:44 · 10179 阅读 · 0 评论 -
例化的方法
//例化的方法//原始模块的名字 例化的名字(可以自定义)ex_cnt ex_cnt_inst( .sclk(tb_sclk), //.原始信号的名字(例化信号的名字)) 例化模块的在最外层,被例化的模块在最里层...原创 2018-09-15 16:27:00 · 3567 阅读 · 0 评论 -
ModelSim入门及Testbench编写——合理利用仿真才是王道
现在就开始一步步入手ModelSim,并通过与Quartus无缝衔接实现仿真。本文使用了ModelSim10.0c + QuartusII 10.0,其他版本基本雷同,请自行研究。看不清图的点开看大图!1.设置第三方EDA工具在Tools -> Options中设置ModelSim的安装路径,注意要设置到win32文件夹(64位软件对应的就是win64)。 建立一个工...转载 2018-09-06 09:43:18 · 4735 阅读 · 1 评论 -
Modelsim仿真过程(完整版)
Modelsim仿真没有想象的那么难,我一直没想着仔细研究一下,本来想着请教别人的,但是最后还是决定找资料,自己好好做一下。我原先都是调试C语言程序,然后直接用硬件验证的,没有注意到仿真的重要性。在FPGA上面,仿真占了很大的一部分。在我们实际验证之前,就采用仿真来排除可能出现的错误,能够节省很多时间。仿真过程中也可以让我们更加深入的思考所设计的系统。因此Modelsim就显得很重要了。最...转载 2018-09-06 09:30:20 · 41729 阅读 · 5 评论 -
Modelsim仿真如何查看内部信号
Modelsim仿真如何查看内部信号一般Modelsim看的信号波形都是test bench中定义的默认信号。有时候需要看模块内部信号。可以选择sim窗口,查看internal,一般选择需要查看的信号在Objects窗口出现的信号,根据需要直接拖到Wave窗口即可。还可以采用的方法是在Transcript窗口输入命令add wave /testbench_name/design_u...转载 2018-09-06 09:22:13 · 10389 阅读 · 2 评论 -
如何把好几个.v文件放到同一个quartus工程里
打开或新建一个工程后 选择菜单Project -> Add/Remove Files in Project浏览到那些文件 选中后点Add 这样就添加到同一个project里 之后需要编译原创 2018-09-12 00:51:07 · 30422 阅读 · 0 评论 -
【转载】关于can't launch the modelsim software的问题解决
解决方法:step1:选择路径 Quartus——>tool——>Options—>gengral—>EDA tool Options选择modelsim的安装路径里面的win32或win64step2: Assignments—>settings—>simulation—>Tool name—>modelsim或则modelsim Altera...转载 2018-09-02 23:47:17 · 15651 阅读 · 1 评论 -
【转载】QuartusII软件异常:Error: Top-level design entity " " is undefined
使用Quartus进行数字电路设计时,遇到了下面的编译错误:Info: *******************************************************************Info: Running Quartus II 64-Bit Analysis & Synthesis Info: Version 11.0 Build 157 04/27/2...转载 2018-09-02 23:12:38 · 43646 阅读 · 6 评论 -
modelsim如何查看内部的信号
开始一直在想是不是在写testbench时需要把内部信号“拉”出来,后来在网上查了一些资料看了一下书是不需要的,testbench只需要把模块的输入和输出表示既可。仿真时需要看内部信号只需要软件设置既可。在界面的Objects中,单击右键,Add—>To Wave—>Signals in Design。开始单击Simulate—>run—>run all。开始仿真即可。...原创 2018-09-08 00:14:10 · 3985 阅读 · 2 评论 -
Verilog任意整数分频电路
//`define N 5 module div_N ( input CLK, // 基准时钟 output CLK_div_N, // N分频后得到的时钟 input rst ); wire [31:0] N=5; // ★ N为分频系数,N≥2即可,N的值为CLK除以CLK_div_N后取整(四舍五入) ...转载 2018-09-05 00:55:20 · 941 阅读 · 0 评论