- 博客(5)
- 收藏
- 关注
原创 SVA学习
大佬的SVA笔记 易错点: a ##1 b[=2] ##1 c //a x x b x x x b x x c , then anytime later, c is ture a ##1 b[->2] ##1 c //a x x b x x x b c, at next cycle, c is ture a ##1 b[*1:5] ##1 c //a b b b b c 与上面的区别在于,所有的信号关系都是时钟连续的 ...
2022-05-09 16:46:50
137
原创 newcode-day1
用verilog实现两个串联的异步复位的T触发器的逻辑,结构如图: 信号示意图: 波形示意图: 输入描述: 输入信号 data, clk, rst,类型 wire,在testbench中,clk为周期5ns的时钟,rst为低电平复位 输出描述: 输出信号 q ,类型 reg T触发器功能: q*=q^T,其中q是现态,q*是次态,T是输入,在这儿是data。 两级级联T触发器真值表: 代码: `timescale 1ns/1ns module Tff_2 ( input wire data, c
2022-05-06 19:59:22
136
原创 MCDF-lab0
上一个时钟周期写完数据,下一个时钟周期显示margin-1,写入00c00000(这是16进制的数,用二进制表示的话,它占32个bit,由于一个reg位宽32,故一个数就占一个FIFO深度)后,margin变成if;然后valid变低,写一个idle即00000000;然后写入00c00001,同时,读的时候是延迟一个周期读出来,在mcdf_data_o显示读出00c00000的上一个周期就发出读命令,Fifo中的00c00000一倍读出,则存一个数据,读一个数据,margin还是1f;再下一个...
2022-04-30 13:06:21
266
原创 SV编程中相关知识点
1.automatic module中在进入方法后,添加了automatic,SV会自动创建,离开方法后会被销毁;若是static,则在仿真开始的时候创建,一直到仿真结束。 所以一般module中会用到automatic来减轻内存压力,class由于是一个个封装的包,不需要用automatic。 ...
2022-03-27 13:53:00
753
原创 SV-lab1-tb2.4
task clk_gen(input int time1);//形参类型不能是logic,我试过之后不会产生时钟,原因不详 clk <= 0; forever begin #(time1/2) clk<= !clk;//这里必须用小括号包起来表示是一个整体 end endtask initial begin clk_gen(20);// generate clk //rstn_gen(); end ...
2022-03-11 16:54:30
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人