7_1_天天向上_FPGA_1

本文探讨了Verilog中模块的构建与应用,包括Case语句优化器、双向口建模高阻态以及Verilog任务的使用。通过具体实例展示了Verilog在硬件描述语言中的实践与技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Case语句+优化器
module dircase(a,b,c,d);
input b,c;
input[1:0]a;
output d;
reg d;
always @(a or b or c)
 case(a)//ambit synthesis case=full
 2`b00:d=b;
 2`b01:d=c;
 endcase
endmodule

assign q=(al=1?)d:0;

always@(al or d)
begin
 if(al==1)q<=d;
 else   q<=0;
end

双向口建模 高阻态
module bus_xcvr
(bus_a,bus_b,en_a_b,en_b_a);
inout bus_a,bus_b;
input en_a_b,en_b_a;
bufif1 b1(bus_b,bus_a,en_a_b);
bufif1 b2(bus_a,bus_b,en_b_a);
endmodule

Verilog任务
module top;
 reg clk,a,b;
 DUT ul(out,a,b,clk);
 always #5 clk=!clk;
 task neg_clocks;
  input [31:0]number_of_edges;
  repeat(number_of_edges)@(negedge clk);
 endtask
 initial begin
  clk=0;a=1;b=1;
  neg_clocks(3);//任务调用
  a=0;
  neg_clocks(5);
  b=0;
 end
endmodule

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

doublewei1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值