江鸟的坚持
沧海一粟,万山一尘。好好学习,天天向上!
展开
-
vivado使用tcl和tcl打开vivado工程的方法
① 使用tcl命令:启动vivado,在tcl console下,用cd命令将工作路径指定到目标路径,例如 cd d:/work/vivado_Project,在此路径下保存有.tcl文件,然后输入TCL命令 source ./system.tcl,即可完成恢复vivado工程。vivado在不同的工程中无法直接拷贝bd文件,如果想把一个工程的bd迁移到另外一个工程中,可以通过在老工程里头导出tcl脚本,在tcl命令行中输入:write_bd_tcl name.tcl,此时生成了name.tcl,原创 2024-08-07 22:29:12 · 279 阅读 · 0 评论 -
Xilinx 7 位置约束 LOC 语法之IN_FIFO
关于IN_FIFO OUT_FIFO位置约束转载 2023-09-18 15:20:48 · 980 阅读 · 0 评论 -
如何学习FPGA
一、入门首先要掌握HDL(HDL=verilog+VHDL)。二、独立完成中小规模的数字电路设计。三、掌握设计方法和设计原则。四、学会提高开发效率。五、增强理论基础。六、学会使用MATLAB仿真。七、足量的实践。八、图像处理。(这部分只写给想学图像处理的朋友,也是由浅入深的路线)九、数电的尽头是模电。十、学无止境。十一、其它问题。转载 2023-04-04 17:04:05 · 1048 阅读 · 2 评论 -
FPGA从SRAM取数据发送给ARM的时序图
FPGA中SRAM写入数据,写完后中断给ARM,然后从SRAM中读取数据给ARM原创 2023-03-31 15:24:20 · 251 阅读 · 0 评论 -
通过Avalon-mm slave 写ddr2 verilog
例化ddr_wr #(.EW (8 ),.IW (64 )) u_wr0(原创 2023-03-31 15:02:36 · 437 阅读 · 0 评论 -
红外图像的高斯滤波模块verilog
数值图像处理中,高斯滤波主要可以使用两种方法实现。一种是离散化窗口滑窗卷积,另一种方法是通过傅里叶变化。最常见的就是滑窗实现,只有当离散化的窗口非常大,用滑窗计算量非常大的情况下,可能会考虑基于傅里叶变化的实现方法。所以本文将主要介绍滑窗实现的卷积。原创 2023-03-29 14:29:15 · 551 阅读 · 0 评论 -
PICO640红外探测器配置模块verilog
Ulis pico 640红外探测器配置模块原创 2023-03-28 13:47:36 · 1294 阅读 · 4 评论 -
彩条发生模块(verilog)
module color_bar( input clk, //像素时钟输入,1280x720@60P的像素时钟为74.25 input rst, //复位,高有效 output hs, //行同步、高有效 output vs, //场同步、高有效 output de, //数据有效 output[7:0] rgb_r, //像素数据、红色分量 output[7:0] rgb_g,原创 2023-01-28 15:01:04 · 336 阅读 · 0 评论 -
基于FPGA的AM调制与解调(Verilog语言)
要通过FPGA实现AM信号的产生与解调,要求是通过VIO控制载波频率、调制信号频率、调制深度可调,然后通过ILA观察AM信号和解调后的信号。我记得载波信号的频率要求是1M~10M,调制信号的频率要求是1K~10K,调制深度从0到1、步进0.1。原创 2023-01-12 15:51:28 · 2341 阅读 · 0 评论 -
PLL时钟约束
这一方法使您能够自动地约束PLL的输入和输出时钟。ALTPLL megafunction中指定的所有PLL参数都用于约束PLL的输入和输出时钟。自动更新了ALTPLL megafunction的修改。当创建PLL的输入和输出时钟时,不必跟踪PLL参数的更改或指定正确的值。为了自动约束所有输入和输出,要将derive_pll_clocks命令和-create_base_clocks选项一起使用。原创 2022-10-31 10:22:34 · 1826 阅读 · 0 评论 -
FPGA时钟约束
时序约束是一个非常重要的内容,而且内容比较多,比较杂。因此,很多读者对于怎么进行约束,约束的步骤过程有哪些等,不是很清楚。根据以往项目的经验,把时序约束的步骤,概括分成四大步,分别是时钟的约束、input delays的约束、output delays的约束和时序例外。原创 2022-10-25 11:14:05 · 1957 阅读 · 0 评论 -
VHDL模块定义
VHDL模块定义原创 2022-08-26 10:42:46 · 589 阅读 · 0 评论 -
verilog 带参数的模块定义和例化
verilog 带参数的模块定义和例化原创 2022-08-26 10:21:25 · 1943 阅读 · 0 评论 -
国产FPGA
尚未盈利的安路科技,自登陆科创板便备受关注。作为专做FPGA芯片的企业,安路科技已成功进入工业富联、汇川技术、利亚德等知名企业的供应链。按出货量和销售额口径来看,2019年其在国内市场已经排到第4位,次于三大国际龙头Xilinx、Intel(Altera)和Lattice,在中国市场的国产FPGA芯片供应商中排名第一。不过,与已上市的其他同行芯片公司相比,安路科技的业务堪称“单薄”,它只有一个核心的产品,那就是FPGA芯片,因此它的业绩显得并不是那么亮眼。更重要的是单一产品意味着...原创 2022-04-13 13:52:30 · 4945 阅读 · 0 评论 -
verilog synthesis
各厂商综合工具,对HDL综合时都定义了一些综合属性这些属性可指定a declaration,a module item,a statement, or a port connection 不同的综合方式。语法为:/* synthesis, <any_company_specific_attribute = value_or_optional_value */下面就是Altera的...转载 2019-08-29 19:08:06 · 1055 阅读 · 0 评论 -
Verilog $random用法 随机数
“$random函数调用时返回一个32位的随机数,它是一个带符号的整形数...”,并给出了一个例子:_____________________________________________________EX-1: reg[23:0] rand; rand=$random%60; //产生一个在 -59—59范围的随机数—————————————————————————又...转载 2019-01-25 13:55:31 · 3489 阅读 · 0 评论 -
Altera的几个常用的Synthesis attributes
各厂商综合工具,对HDL综合时都定义了一些综合属性这些属性可指定a declaration,a module item,a statement, or a port connection 不同的综合方式。语法为:/* synthesis, <any_company_specific_attribute = value_or_optional_value */下面就是Altera的...转载 2018-08-22 09:29:30 · 1014 阅读 · 0 评论 -
specify block
specify block用来描述从源点(source:input/inout port)到终点(destination:output/inout port)的路径延时(path delay),由specify开始,到endspecify结束,并且只能在模块内部声明,具有精确性(accuracy)和模块性(modularity)的特点。specify block可以用来执行以下三个任务:一、描述...转载 2018-08-25 09:17:18 · 986 阅读 · 0 评论 -
QUARTUS II常见错误剖析1
1.rror (10257): Verilog HDL error at dp4inNpa.v(13): unsized constants are not allowed in concatenations解决方法:拼接语句a_fout = {0,exp_a_out,temp_a_out,12'd0};其中0应标注位宽,编辑器不会默认为1位,应为a_fout = {1'b0,exp_a_ou...转载 2018-09-07 18:56:27 · 6976 阅读 · 0 评论 -
QUARTUS II常见错误剖析2
QUARTUS II常见错误剖析made by lingfeng1,Error (10053): Verilog HDL error at ADDBCD.v(13): can't index object "out" with zero packed or unpacked array dimensions这个错误是由于OUT是个寄存器变量,在程序的开始忘记定义reg out 或者ou...转载 2018-09-07 18:58:35 · 13471 阅读 · 0 评论 -
三段式状态机-FSM
三段式代码多,但是有时钟同步,延时少,组合逻辑跟时序逻辑分开并行出错少。(1)同步状态转移 (2)当前状态判断接下来的状态 (3)动作输出如果程序复杂可以不止三个always 。always 后常接case case必须有default ,对于FPGA常用 状态数较少,独热码编码 ,或者格雷码//独热码编码parameter NO_KEY_PRESSED = 6'b...转载 2018-09-21 16:28:11 · 2072 阅读 · 0 评论 -
Verilog延时:specify的用法
原创地址:http://www.eefocus.com/lubee/blog/12-02/239054_deda6.html 检查时序的方式之一是时序仿真,在仿真过程中计算与该模块相关的延迟值;之二是静态时序验证。(1)延迟类型·分布延迟:在每个独立的元件基础上定义一种建模方式是将延迟值赋给独立的门,另一种是在单独的assign语句中指定延迟值。·集总延迟:定义在每个独立模块基础上...转载 2018-10-07 09:24:35 · 2751 阅读 · 0 评论 -
QuartusII中Design partion功能的使用
Design partion Design partion常用于“增益变量(QIC)”,通过Design Partition对子模块进行“逻辑分区”,在Design Partition Window中最关键的一个设定是Netlist Type,它有四个可选值——Source File,Post-Synthesis,Post-fit,Empty(如上图中所标1,2,3,4,上图是为了将各Typ...转载 2018-10-31 16:38:33 · 1257 阅读 · 0 评论 -
Quartus II LogicLock及增量编译Design Partition
首先,得先看看QuartusII的编译过程是个怎么样的,要了解这个过程很简单,看看下面这张图,谁都不陌生:当我们点全编译之后,下面的几个过程就会一个一个打上勾,而我们编译的过程也就是和这个运行过程是一致的:先是分析综合,再是布局布线,然后是汇编(这里不是指汇编语言的汇编,而是说将布局布线后的“电路”汇编成可下载到芯片内的“程序”),还有时序分析以及生成网表。我们仔细看它编译的过程会发现...转载 2018-10-31 18:56:14 · 718 阅读 · 0 评论 -
LogicLock
逻辑锁定方法学(LogicLock Methodology)内容就是在设计时采用逻辑锁定的基于模块设计流程(LogicLock block-based design flow),来达到固定单模块优化的目的。这种设计方法学中第一次引入了高效团队合作方法:它可以让每个单模块设计者独立优化他的设计,并把所用资源锁定。 这样在合成顶层设计时就可以保持每个模块的性能,而且它还让逻辑模块...转载 2018-11-07 17:57:46 · 605 阅读 · 0 评论 -
Quartus导出网表文件:.qxp和.vqm
当项目过程中,不想给甲方源码时,该如何?我们可以用网表文件qxp或者vqm对资源进行保护。下面讲解这两个文件的具体生成步骤: 一、基本概念QuartusII的qxp文件为QuartusII Exported Partition,用于创建综合或者PAR之后的网表文件。QuartusII的vqm文件为verilog quartusII mapping,只能保存综合后,PAR前的综合...转载 2018-11-07 18:23:28 · 2100 阅读 · 1 评论 -
FPGA和STM32之间的FSMC通信
1、FSMC简介:FSMC即灵活的静态存储控制器,FSMC管理1GB空间,拥有4个Bank连接外部存储器,每个Bank有独立的片选信号和独立的时序配置;支持的存储器类型有SRAM、PSRAM、NOR/ONENAND、ROM、LCD接口(支持8080和6800模式)、NANDFlash和16位的PCCard。2、在设计中将FPGA当做SRAM来驱动,使用库函数来实现FSMC的初始化配置代码如下:...转载 2018-11-08 19:53:13 · 9927 阅读 · 0 评论 -
Verilog中inout的用法
芯片外部引脚很多都使用 inout 类型的,为的是节省管腿。一般信号线用做总线等双向数据传输的时候就要用到 INOUT类型了。就是一个端口同时做输入和 输出。 inout 在具体实现上一般用三态门来实现。三态门的第三个状态就是高阻'Z'。当 inout 端口不输出时,将三态门置高阻。这样信号就不会因为两端同时 输出而出错了,更详细的内容可以搜索一下三态门 tri-state 的资料1 使用...转载 2018-11-14 15:06:50 · 4201 阅读 · 0 评论 -
verilog中的inout
芯片外部引脚很多都使用inout类型的,为的是节省管腿。一般信号线用做总线等双向数据传输的时候就要用到INOUT类型了。就是一个端口同时做输入和输出。 inout在具体实现上一般用三态门来实现。三态门的第三个状态就是高阻'Z'。当inout端口不输出时,将三态门置高阻。这样信号就不会因为两端同时输出而出错了,更详细的内容可以搜索一下三态门tri-state的资料.1 使用inout类型数据,可以...转载 2018-08-22 09:22:14 · 2184 阅读 · 0 评论