📄 lattice_unit.v
字号:
module Lattice_unit
(
clk,
p1,p0,
q1,q0
);
parameter k = 1;
input clk;
input p1,q0;
output p0,q1;
wire clk;
wire [31:0] p1,q0;
wire [31:0] p0,q1;
integer p0_o,q1_o;
integer q0_reg;//q0延迟寄存器
integer mul_reg;//乘法寄存器
integer i;
always @(posedge clk)
begin
mul_reg=(q0_reg*k)>>6;//系数k是右移6位后输入的,所以输出要左移6位
for(i=31;i>=26;i=i-1)
mul_reg[i]=mul_reg[25];//符号位拓展
p0_o=p1 + mul_reg;
mul_reg=(p0*k)>>6;//系数k是右移6位后输入的,所以输出要左移6位
for(i=31;i>=26;i=i-1)
mul_reg[i]=mul_reg[25];//符号位拓展
q1_o=q0_reg - mul_reg;
q0_reg=q0;
end
assign p0=p0_o;
assign q1=q1_o;
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -