1、
您可能需要创建16D触发器,并只更改某些触发器的值。 字节使能信号控制在当前时钟周期内的16个寄存器中变更哪个字节。 byteena[1]控制高字节d[15:8],而byteena[0]控制低字节d[7:0]。
resetn是同步的,是低复位信号。
所有d触发器都由时钟上升沿触发。
module top_module (
输入时钟,
输入重置,
input [1:0] byteena,
input [15:0] d,
output [15:0] q
);
always@(posedge clk )
比根
if(resetn ) ) )。
比根
q=16'd0;
结束
else
比根
情况(by teena ) )。
2'b00:q=q;
2'b01:q={q[15:8],d[7:0]};
2'b10:q={d[15:8],q[7:0]};
2'b11:q=d;
结束案例
结束
结束
最终模块
一热码
module top_module (
输入输入,
input [9:0] state
output [9:0] next_state,
output out1,
输出输出2;
assign next _ state [0]=state [0]~in|state [1]~in|state [2]~in|state [3]~in|state [4]~in|statate。
assign next _ state [1]=state [0] in|state [8] in|state [9] in;
assign next_state[2]=state[1]in;
assign next_state[3]=state[2]in;
assign next_state[4]=state[3]in;
assign next_state[5]=state[4]in;
assign next_state[6]=state[5]in;
assign next _ state [7]=state [6] in|state [7] in;
assign next _ state [8]=state [5]~in;
assign next _ state [9]=state [6]~in;
asign out1=(state [8]==1| state [9]==1);
asign out2=(state [7]==1| state [9]==1);
最终模块