打印

顶层模块干嘛了?

[复制链接]
6548|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jakfens|  楼主 | 2011-8-24 10:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
AutoESL| | 2011-8-24 10:38 | 只看该作者
说的很清楚啊

使用特权

评论回复
板凳
AutoESL| | 2011-8-24 10:39 | 只看该作者
1. no sources have been added to the project

2. have not entered the name of the top module in the Top Module field

估计不是第一条, 那就检查一下第二条呢?

使用特权

评论回复
地板
jakfens|  楼主 | 2011-8-24 10:43 | 只看该作者
呃 可能不小心把testbench拿去综合了 3# AutoESL

使用特权

评论回复
5
AutoESL| | 2011-8-24 10:47 | 只看该作者
:D 4# jakfens

使用特权

评论回复
6
jakfens|  楼主 | 2011-8-24 11:08 | 只看该作者
这样怎么综合?? 5# AutoESL

aa.png (26.78 KB )

aa.png

使用特权

评论回复
7
avonhu| | 2011-8-24 21:22 | 只看该作者
本帖最后由 avonhu 于 2011-8-24 21:24 编辑

6# jakfens
果然真的没有Top Module!!!
至于哪个是Top Module,那要看你具体项目了!这些源文件中哪个是顶层文件?或者如果都不是顶层文件的话,那就要自行编写一个顶层模块,对这些源文件模块的例化调用。

使用特权

评论回复
8
jakfens|  楼主 | 2011-8-25 08:44 | 只看该作者
呃 谢谢 我试试 7# avonhu

使用特权

评论回复
9
jakfens|  楼主 | 2011-8-25 14:46 | 只看该作者
module cpu(clk,rst,rd,wr,addr,data,opcode,fetch,ir_addr,pc_addr);
  input clk,rst;
  output rd,wr;
  output[4:0]addr;
  output[2:0]opcode;
  output fetch;
  output[4:0]ir_addr,pc_addr;
  inout[7:0]data;
  wire clk,rst;
  wire[7:0] data;
  wire[4:0]addr;
  wire rd,wr;
  wire fetch,alu_ena;
  wire[2:0] opcode;
  wire[4:0] ir_addr,pc_addr;
  wire[7:0] alu_out,accum;
  wire zero,inc_pc,load_acc,load_pc,load_ir;
  register m_register (.data(data),.load_ir(load_ir),.rst(rst),.clk(clk),.opcode(opcode),.ir_addr(ir_addr));
  accum m_accum (.data(alu_out),.load_acc(load_acc),.clk(clk),.rst(rst),.accum(accum));
  alu m_alu (.zero(zero),.data(data),.accum(accum),.clk(clk),.opcode(opcode),.alu_out(alu_out));
  machine m_machine (.inc_pc(inc_pc),.load_acc(load_acc),.load_pc(load_pc),.load_dr(load_dr),.rst(rst),.fetch(fetch),.rd(rd),.wr(wr),.clk(clk),.load_ir(load_ir),.zero(zero),.opcode(opcode));
  adr m_addrchoose (.fetch(fetch),.ir_addr(ir_addr),.pc_addr(pc_addr),.addr(addr));
  counter m_counter (.inc_pc(inc_pc),.rst(rst),.ir_addr(ir_addr),.load_pc(load_pc),.pc_addr(pc_addr));
  fetch m_fetch (.clk(clk),.rst(rst),.fetch(fetch));
  dr m_dr (.data(data),.alu_out(alu_out),.clk(clk),.rst(rst),.load_dr(load_dr));
endmodule

我这个算不算顶层模块

使用特权

评论回复
10
dan_xb| | 2011-8-25 15:10 | 只看该作者
这个算不算应该看你的其它模块写的是什么样子吧

不过这样写代码,真的很难看清楚啊

使用特权

评论回复
11
jakfens|  楼主 | 2011-8-25 15:28 | 只看该作者
呵呵 有点类似于原语吗 10# dan_xb

使用特权

评论回复
12
jakfens|  楼主 | 2011-8-25 16:39 | 只看该作者
综合出来是这样的不知道对不对

nn.png (15.8 KB )

nn.png

cpu.png (14.57 KB )

cpu.png

使用特权

评论回复
13
爱在2012| | 2011-9-14 15:11 | 只看该作者
一片模糊。

使用特权

评论回复
14
zhukegood| | 2013-9-27 11:42 | 只看该作者
加个威望。。。

使用特权

评论回复
15
mhanchen| | 2013-9-28 15:21 | 只看该作者
1.确保你的设计确实有顶层文件并且代码是可综合的 2.tb一定不能加到工程里去

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:鄙视电工就是鄙视全人类的智慧;抛弃电子就是毁灭文明,人类将回到刀割火种的时代

30

主题

1865

帖子

2

粉丝