FPGA之旅---例化

更新时间:2023-05-09 08:14:54 阅读: 评论:0

FPGA之旅---例化
⼀、信号端⼝采⽤名称关联
语法结构:
.PortName(port_expr)
//PortName是顶层的名称,port_expr是底层端⼝
//port_expr可以是⼀下任何类型
1.标识符
2.位选择,如.C(d[0]),C端⼝连接到d信号的第0位
3.部分选择,例.bus(din[5:4])
例:
module yumen(C,A,B)
.
C(T3)//
⼆、各分层模块之编写
底层编写:正常书写后,最后⽤assign语句将输出定义
    例:
      output [3:0] key_value;
      原来的按键输出按键值的次数,那么次数是reg型,
always @(podge clk or negedge rst)
  if(!rst)
    ci<=5'b0;
  el if(dawn_flagr!=4'b0)
    ci<=ci+1'b1;
  //此时ci是按键输出值,是reg型,此时需要换⼀下输出值,重新定义输出数组,⽤assign 赋值语句将ci赋值给输出
  //即
  assign key_value=ci;
三、顶层模块的编写
1.所有中间变量必须重新声明,否则会默认为⼀位的
2.注意在对在同⼀条线上的变量命名的时候使⽤同⼀名字
3.模块例化后在连线语法:
module_name1 U1//模块名字空格加U?
  .clk(clk),//注意,⽤逗号,外边是顶层外部信号,括号内是底层模块信号名字
  .rst(rst),
  .top_in_signal(U1_in_signal),//顶层输⼊信号进⼊U1模块
    ....
  .U1_signal_output(U2_in),//U1输出连到U2输⼊,此信号需要声明⼀下,否则会默认是⼀位的
    ....
);//括号内⽤逗号隔开,最后⼀个不加逗号,
module_name2 U2//
(
  .clk(clk),//注意,⽤逗号,外边是底层外部信号,括号内是顶层模块信号名字
  .rst(rst),
  .U2_in(U1_output),
    ...
  .Top_out_signal(U1_out_signal),//不是很确定,有待验证
    ...
);//⽤分号

本文发布于:2023-05-09 08:14:54,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/562940.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模块   信号   输出   顶层   括号   底层   逗号
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图