Linux系统下IC设计流程简介(二选一选择器示例)

本文详细介绍了在Linux环境下进行数字IC设计的过程,包括创建文件夹和文件(如muxtwo.v和muxtwo_tb.v)、编辑Verilog代码、使用Makefile管理编译和仿真,并展示了VCS和Verdi工具的应用。
摘要由CSDN通过智能技术生成

Linux系统下IC设计流程简介(二选一选择器示例)

1、创建文件夹和文件

创建文件夹
[ICer@IC_EDA /home/ICer/digital_ic_design]$mkdir muxtwo

进入刚创建的文件夹
[ICer@IC_EDA /home/ICer/digital_ic_design]$cd muxtwo/

创建文件
[ICer@IC_EDA /home/ICer/digital_ic_design/muxtwo]$touch muxtwo.v
[ICer@IC_EDA /home/ICer/digital_ic_design/muxtwo]$touch muxtwo_tb.v

2、编辑文件

gvim打开muxtwo.v文件
[ICer@IC_EDA /home/ICer/digital_ic_design/muxtwo]$gvim muxtwo.v

muxtwo.v内容如下:

// Create Date: 2024/04/01
// Module Name: muxtwo.v

module muxtwo(
             out,
             a,
             b,
             sl
);

input        a;
input        b;
input        sl;
output       out;
reg          out;

always @ (*)begin
    if (!sl) 
        out = a;
    else
        out = b;
end

endmodule

gvim打开muxtwo_tb.v文件
[ICer@IC_EDA /home/ICer/digital_ic_design/muxtwo]$gvim muxtwo_tb.v

muxtwo_tb.v内容如下:

// Create Date: 2024/04/01
// Module Name: muxtwo_tb.v

module muxtwo_tb;

reg      ain;
reg      bin;
reg      select;
reg      clk;
wire     outw;

initial begin
          ain      =    0;
          bin      =    0;
          select   =    0;
          clk      =    0;
    #6000 $finish;
end

always #50 clk = ~clk;

always @ (posedge clk) begin
    #1 ain = {$random}%2;
    #3 bin = {$random}%2;
end

always #1000 select = !select;

muxtwo m_u1(
             .out(outw),
             .a(ain),
             .b(bin),
             .sl(select)
);

/*dump fsdb file*/
initial	begin
    $fsdbDumpfile("tb.fsdb");//这个是产生名为tb.fsdb的文件
    $fsdbDumpvars;
end

endmodule

3、文件列表和Makefile文件

.v文件放到一个列表文件中
[ICer@IC_EDA /home/ICer/digital_ic_design/muxtwo]$find -name "*.v" > filelist.f

打开filelist.f查看
[ICer@IC_EDA /home/ICer/digital_ic_design/muxtwo]$g filelist.f
ps:gf可进入相应的文件,ctrl+o返回列表文件

创建Makefile文件
[ICer@IC_EDA /home/ICer/digital_ic_design/muxtwo]$touch Makefile
Makefile文件内容如下:

comp  : clean vcs
#-------------------------------------------
vcs   :
	vcs  \
		-f filelist.f  \
		-timescale=1ns/1ps \
		-full64  -R  +vc  +v2k  -sverilog -debug_access+all\
		|  tee  vcs.log 
#-------------------------------------------
verdi  :
	verdi -f filelist.f -ssf tb.fsdb &
#-------------------------------------------
clean  :
	 rm  -rf  *~  core  csrc  simv*  vc_hdrs.h  ucli.key  urg* *.log  novas.* *.fsdb* verdiLog  64* DVEfiles *.vpd

4、仿真结果

vcs跑仿真
[ICer@IC_EDA /home/ICer/digital_ic_design/muxtwo]$make vcs

verdi查看仿真结果
[ICer@IC_EDA /home/ICer/digital_ic_design/muxtwo]$make verdi
波形图
请添加图片描述

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值