其他分享
首页 > 其他分享> > 日常记录(83)vim整理

日常记录(83)vim整理

作者:互联网

断言的onehot

taa:
	vcs -sverilog -R  taa.sv

代码文件

module taa ();
    logic clk;

    property p1;
        @(posedge clk)
        $onehot(8'b0001_0000);
    endproperty
    property p2;
        @(posedge clk)
        $onehot(8'b0011_0000);
    endproperty
    property p3;
        @(posedge clk)
        $onehot0(8'b1100_0000);
    endproperty
    property p4;
        @(posedge clk)
        $onehot0(8'b0000_0000);
    endproperty

    initial begin
        assert property(p1);
        assert property(p2);
        assert property(p3);
        assert property(p4);
    end

    initial begin
        clk = 0;
        forever begin
            #10 clk = ~clk;
        end
    end

    initial begin
        #100;
        $finish;
    end
endmodule

输出

"taa.sv", 23: taa.unnamed$$_1: started at 10s failed at 10s
	Offending '$onehot(8'b00110000)'
"taa.sv", 24: taa.unnamed$$_2: started at 10s failed at 10s
	Offending '$onehot0(8'b11000000)'
$finish called from file "taa.sv", line 37.
$finish at simulation time                  100

强制转换

使用单引号,静态转换,可综合
https://blog.csdn.net/I_learn_code/article/details/121915477

代码

module tbb ();
    initial begin
        logic[5:0] a = 4'b1100;
        $display("logic a is %p", logic'(a));
        a = 4'b1101;
        $display("logic a is %p", logic'(a));
    end
endmodule

输出

logic a is 0
logic a is 1

git恢复文件

https://blog.csdn.net/qq_39505245/article/details/119877928

文件已经提交(commit)

从库恢复到工作区

git reset --hard <lable>

文件提交到暂存区(add)

从库恢复到工作区

git reset --hard HEAD

文件未提交

git reset --hard HEAD
git restore <filename>

git查看差异

当前工作区与暂存区

git diff <filename>

暂存区与库

git diff --cached <filename>

工作区与库

git diff HEAD <filename>

https://blog.csdn.net/bianliuzhu/article/details/81907367
如果是新建的文件
则git add
如果是修改的文件
则git add
如果是删除的文件
则 git rm

covergroup带参数

covergroup fun_name() with function sample(xxx xxx)

module tcc ();
    covergroup cvg() with function sample(logic [3:0]  a);
        coverpoint a;
    endgroup: cvg

    initial begin
        cvg cvg_inst = new();
        cvg_inst.sample(1);
    end
endmodule

image

vim命令

gd命令,查看定义:go define

:help 查看帮助

gq+action格式化行宽,根据textwidth
如gqap,对一个段落格式化

g<ctrl+g>显示统计信息(如可视化模式中的选中行数)

!!变成:.!外部命令执行,并在当前本文输出

:ls查看缓冲区列表
:ls!查看包括未列入的缓冲区列表
:args和:argsdo配合,使得后者在多文本中对args指定的文件执行argsdo

映射模式

omap挂起操作
imap插入模式
cmap命令模式
nmap正常模式
xmap可视模式

nnoremap用于非递归(防止命令连锁,常用)

寄存器

0最近赋值
1-9最近删除
a-zA-Z用户定义
:最近的命令
.添加的文本
%文件名
/需要匹配的文本
如:! cat %,调用外部打印文本内容
:let @/='\<<cword>\>',是*

命令范围(命令模式)

. 当前
1 第一行
$ 最后一行
% 等价于1,$
+n向后n行
-n向前n行
命令范围以,或者;分隔,

正则表达式:

匹配开头:\<
匹配结尾:\>
使用*按键,对寄存器/的内容获取<cword>,并添加匹配开头结尾,用于在当前文本中查找关键字


\s空格
\+一个或多个
$行尾
去掉文本内所有行末尾的空格  :%s/\s\+$//g

在当前段落中的内容被外部命令ls替代。
:?^$?+1,/^$/-1!ls

标记

m标注标记
`或者'跳转标记,前者跳转到标记点,后者是标记行。

a-z文件内标记
A-Z文件间标记
[]、<>、()、{}
分别为修改复制块的头尾、可视化的头尾、句子的头尾、段落的头尾。
将可视化选中的文本替换为外部命令ls的执行结果。
:'<,'>!ls

标签:git,clk,vim,onehot,日常,logic,83,property,taa
来源: https://www.cnblogs.com/bai2022/p/16243940.html