
FPGA
Q2508359401
这个作者很懒,什么都没留下…
展开
-
FPGA中对多位数据进行打拍延时
通过多维数组的方式,对多位数据进行延拍parameter Width = 3 ;parameter Depth = 8 ;wire [Width-1:0] w_din ; //原始数据reg [Width-1:0] r_din_delay[Depth-1:0] ;genvar gv_i ;generatealways @(posedge i_sys_clk)begi...原创 2020-05-05 16:03:25 · 3347 阅读 · 2 评论 -
带符号的二进制计算
十进制数的补码二进制数的补码原创 2020-01-16 15:50:19 · 3772 阅读 · 0 评论 -
verilog随机数
$random % a,其中 a > 0,它可以产生一个范围为 (-a + 1)~ (a - 1) 中的随机数,{$random }% a, 其中 a > 0, 它可以产生一个范围 为 0~ (a - 1) 的随机数原创 2019-12-26 17:15:28 · 2214 阅读 · 0 评论 -
xilinx RAM IP Core调试
单口RAM只有一个端口(A端口),可以对A端口进行读写。简化双口RAM有两个端口(A和B端口),但是A端口只能进行写入操作,不能进行读出操作,而B端口则只能进行读出操作,不能进行写入操作。真双口RAM有两个端口(A和B端口),A和B端口都能进行读写操作。单口RAMWrite First Mode:输出数据会比输入延时两个时钟。Read First Mode:数据...原创 2019-12-26 15:09:59 · 429 阅读 · 0 评论 -
格雷码与二进制的转换
1.二进制转格雷码将二进制数右移一位,与原数低位对齐按位异或例:求二进制数0010对应的格雷码:0010与001低位对齐按位异或,得到对应的格雷码为00112.格雷码转二进制数最高位保留,依次与高一位求异或例:求格雷码1001对应的二进制数:最高位(第3位)为1,第2位0与第3位1求异或得1,第1位0与第2位1求异或得1,第0位1与第1位1求异或得0,得到二进制数1110...原创 2019-07-30 16:47:57 · 1646 阅读 · 0 评论 -
FPGA检测某方波的上升沿和下降沿
将原信号打一拍,通过与非的方式提取边沿module test(input wire clk,input wire rst_n);reg pwm ;//产生一个方波reg [6:0] cnt ;wire r_start;...原创 2019-07-17 17:20:43 · 1577 阅读 · 0 评论 -
FPGA产生PWM死区时间
module dead_time(input wire clk,input wire rst_n);wire PWM_Source;reg w_PWM_Source;reg pwm_a_dly;reg pwm_a_dly1;wire o_square_wave_0;reg o_square_wave_1;reg [16:0]w_t...原创 2019-04-18 09:29:03 · 3789 阅读 · 1 评论 -
Vivado常用综合选项的设置
-flatten_hierarchyfull:综合时将原始设计打平,只保留顶层层次,执行边界优化none:综合时完全保留原始设计层次,不执行边界优化rebuilt:综合时将原始设计打平,执行边界优化,综合后将网表文件按照原始层次显示,故与原始层次相似。当-flatten_hierarchy为none时消耗的寄存器最多,建议其设定为默认值rebuilt。-fsm_extractio...转载 2019-03-21 11:31:42 · 1472 阅读 · 0 评论 -
UVM使用
一.编写只有driver的uvm平台首先写一个简单的dut程序,代码如下/*dut.sv*/module dut(clk, rst_n, rxd, rx_dv, txd, tx_en);input clk;input rst_n;input[7:0] rxd;inpu...原创 2019-01-23 14:45:28 · 1067 阅读 · 0 评论 -
FPGA的一些整理
1.阻塞赋值与非阻塞赋值阻塞赋值可以理解为语句的顺序执行,因此语句的执行顺序很重要。非阻塞赋值可以理解为语句的并行执行,所以语句的执行不考虑顺序。在assign的结构中,必须使用的是阻塞赋值。always@(posedge clk) begin b <= a; c <= b; end 这样a传递到c需要1个时钟2.同步信...原创 2019-01-07 10:25:43 · 250 阅读 · 0 评论 -
关于清除工程文件用TCL脚本重构报错
在进行基于IP的FPGA设计中,工程完成之后只需要更新最新的bd.tcl文件,这样其他人就能通过脚本重构工程,而不用copy整个工程文件。如果重构报错,一般是因为IP核存放路径不对,或者使用了不同的IP库,而两个IP库不在一个目录下。解决方法可以将不同IP库的IP core放在一个目录下。...原创 2018-09-18 23:05:43 · 225 阅读 · 0 评论