用makefile编写irun的增量编译
时间: 2023-11-22 13:56:21 浏览: 128
Makefile的编写
以下是一个使用makefile编写irun增量编译的示例:
```
# 指定编译器和编译选项
CC = irun
CFLAGS = -access +rwc -gui -coverage all
# 定义源文件和对象文件
SRCS = tb_top.sv dut.sv
OBJS = $(SRCS:%.sv=%.o)
# 默认编译规则,生成可执行文件
all: sim
# 生成可执行文件
sim: $(OBJS)
$(CC) $(CFLAGS) $(OBJS) -o sim
# 生成对象文件
%.o: %.sv
$(CC) $(CFLAGS) -c $< -o $@
# 增量编译规则
incr:
$(CC) $(CFLAGS) -incr $(SRCS) -top tb_top -input incr.tcl
# 清除生成的文件
clean:
rm -f $(OBJS) sim INCA_libs waves.shm
```
在上面的makefile中,定义了编译器和编译选项。源文件和对象文件分别定义为SRCS和OBJS。默认规则是生成可执行文件sim,它依赖于所有的对象文件。生成对象文件的规则是将每个源文件编译成一个对象文件。增量编译规则incr会使用irun编译器进行增量编译,并指定了顶层模块为tb_top,并通过incr.tcl文件指定了增量编译的选项。清除规则是用来删除生成的文件。
在使用makefile进行增量编译时,只需要执行以下命令即可:
```
make incr
```
这将会增量编译代码,并更新仿真结果。
阅读全文