S
saurster
Guest
您好
我有一个独特的问题。没有看到这一个三烯B4。我要模拟端口是双向的。我使用连续赋值语句来赋值的I / O从寄存器线。例如
/ /代码
分配IO_1 = reg1 [0];
分配IO_2 = reg1 [1];
.....
.....
其中disc18是一个寄存器。我有8个寄存器
, 即64个I / O线。当我卡我的设计,IO_1以IO_19分配适当的
, 但所有IO的争论后
, 有问题。在审议了数据流的模式
, 事实证明登记册3寄存器8位驱动多IO即使这些木卫一线是从不同的分配寄存器的不同位单独线。
我不知道。如果有人知道什么,我会感激
谢谢
- Saurster
实际的代码如下模块test_io(IO_1,IO_2,IO_3,IO_4,IO_5,IO_6,IO_7,IO_8,IO_9,IO_10,
IO_11,IO_12,IO_13,IO_14,IO_15,IO_16,IO_17,IO_18,IO_19,IO_20,
IO_21,IO_22,IO_23,IO_24,IO_25,IO_26,IO_27,IO_28,IO_29,IO_30,
IO_31,IO_32,IO_33,IO_34,IO_35,IO_36,IO_37,IO_38,IO_39,IO_40,
IO_41,IO_42,IO_43,IO_44,IO_45,IO_46,IO_47,IO_48,IO_49,IO_50,
IO_51,IO_52,IO_53,IO_54,IO_55,IO_56,IO_57,IO_58,IO_59,IO_60,
IO_61,IO_62,IO_63,IO_64,为A0,A1和A2,Å3模式,A4,5条,答6,答7,奥迪A8,A9时,
答10,A11中,A12号A13号,上A14,答15,研发,pclk,复位,WE_N,RD_N,啤酒,HW0,HW1,HW2,HW3);INOUT的IO_1,IO_2,IO_3,IO_4,IO_5,IO_6,IO_7,IO_8,IO_9,IO_10;
INOUT的IO_11,IO_12,IO_13,IO_14,IO_15,IO_16,IO_17,IO_18,IO_19,IO_20;
INOUT的IO_21,IO_22,IO_23,IO_24,IO_25,IO_26,IO_27,IO_28,IO_29,IO_30;
INOUT的IO_31,IO_32,IO_33,IO_34,IO_35,IO_36,IO_37,IO_38,IO_39,IO_40;
INOUT的IO_41,IO_42,IO_43,IO_44,IO_45,IO_46,IO_47,IO_48,IO_49,IO_50;
INOUT的IO_51,IO_52,IO_53,IO_54,IO_55,IO_56,IO_57,IO_58,IO_59,IO_60;
INOUT的IO_61,IO_62,IO_63,IO_64;/ /微处理器总线
输入为A0,A1和A2,Å3模式,A4,5条,答6,答7,奥迪A8是,A9中,A10,A11中,A12号A13号,上A14,答15;
输入pclk;
输入复位;
输入WE_N,RD_N,啤酒;
输入HW0,HW1,HW2,HW3;
INOUT的[0:7]Ḏ;
/ /内部定义
第[0:7] data2proc;
/ /第[0:7] datafromproc;
电线[15:0]地址;
第[0:7] disc18;
第[0:7] disc916;
第[0:7] disc1724;
第[0:7] disc2532;
第[0:7] disc3340;
第[0:7] disc4148;
第[0:7] disc4956;
第[0:7] disc5764;
第[0:7]方向;
线材[3:0]硬件;
参数[15:0]地址1 = 16'hc010,
地址2 = 16'hc011,
地址3 = 16'hc012,
add4 = 16'hc013,
add5 = 16'hc014,
add6 = 16'hc015,
add7 = 16'hc016,
add8 = 16'hc017;
参数[3:0] INVALID1 = 4'h0,
光盘= 4'h1,
资产净值= 4'h2,
INVALID2 = 4'hf;
分配地址=(〜啤酒)?(答15,上A14,A13号,A12号答11中,A10是,A9,奥迪A8,A7号答6,第5条模式,A4,Å3和A2,格A1,累啊):16'hz;
分配硬件=(HW3,HW2,HW1,HW0);
/ *
总是@(WE_N或ALE或D或地址)
开始
案(地址)
导演:开始
如果((〜WE_N)&&(〜啤酒))
开始
方向=Ḏ;
末端
末端
endcase
结束* /
总是@(硬件)
开始
案(硬件)
INVALID1:开始
方向= 8'hff;
末端
光盘:开始
方向= 8'b00000000;
末端
资产净值:开始
方向= 8'b11000000;
末端
INVALID2:开始
方向= 8'h00;
末端
endcase
末端
分配Ḏ=((〜RD_N)&&(〜麦酒))?data2proc:8'bz;
总是@(地址或指示或WE_N或ALE或D或
IO_1或IO_2或IO_3或IO_4或IO_5或IO_6或IO_7或IO_8或
IO_9或IO_10或IO_11或IO_12或IO_13或IO_14或IO_15或IO_16或
IO_17或IO_18或IO_19或IO_20或IO_21或IO_22或IO_23或IO_24或IO_25或IO_26或
IO_27或IO_28或IO_29或IO_30或IO_31或IO_32或IO_33或IO_34或IO_35或IO_36或
IO_37或IO_38或IO_39或IO_40或IO_41或IO_42或IO_43或IO_44或IO_45或IO_46或
IO_47或IO_48或IO_49或IO_50或IO_51或IO_52或IO_53或IO_54或IO_55或IO_56或
IO_57或IO_58或IO_59或IO_60或IO_61或IO_62或IO_63或IO_64)
开始
案(地址)
地址1:开始
如果(方向[0])
开始
data2proc =(IO_1,IO_2,IO_3,IO_4,IO_5,IO_6,IO_7,IO_8);
末端
否则
, 如果((〜方向[0])&&(〜WE_N)&&(〜啤酒))
开始
disc18“=Ḏ;
末端
末端
地址2:开始
如果(方向[1])
开始
data2proc“=(IO_9,IO_10,IO_11,IO_12,IO_13,IO_14,IO_15,IO_16);
末端
否则
, 如果((〜方向[1])&&(〜WE_N)&&(〜啤酒))
开始
disc916“=Ḏ;
末端
末端
地址3:开始
如果(方向[2])
开始
data2proc“=(IO_17,IO_18,IO_19,IO_20,IO_21,IO_22,IO_23,IO_24);
末端
否则
, 如果((〜方向[2])&&(〜WE_N)&&(〜啤酒))
开始
disc1724“=Ḏ;
末端
末端
add4:开始
如果(方向[3])
开始
data2proc“=(IO_25,IO_26,IO_27,IO_28,IO_29,IO_30,IO_31,IO_32);
末端
否则
, 如果((〜方向[3])&&(〜WE_N)&&(〜啤酒))
开始
disc2532“=Ḏ;
末端
末端
add5:开始
如果(方向[4])
开始
data2proc“=(IO_33,IO_34,IO_35,IO_36,IO_37,IO_38,IO_39,IO_40);
末端
否则
, 如果((〜方向[4])&&(〜WE_N)&&(〜啤酒))
开始
disc3340“=Ḏ;
末端
末端
add6:开始
如果(方向[5])
开始
data2proc“=(IO_41,IO_42,IO_43,IO_44,IO_45,IO_46,IO_47,IO_48);
末端
否则
, 如果((〜方向[5])&&(〜WE_N)&&(〜啤酒))
开始
disc4148“=Ḏ;
末端
末端
add7:开始
如果(方向[6])
开始
data2proc“=(IO_49,IO_50,IO_51,IO_52,IO_53,IO_54,IO_55,IO_56);
末端
否则
, 如果((〜方向[6])&&(〜WE_N)&&(〜啤酒))
开始
disc4956“=Ḏ;
末端
末端
add8:开始
如果(方向[7])
开始
data2proc“=(IO_57,IO_58,IO_59,IO_60,IO_61,IO_62,IO_63,IO_64);
末端
否则
, 如果((〜方向[7])&&(〜WE_N)&&(〜啤酒))
开始
disc5764“=Ḏ;
末端
末端
endcase
末端
/ /分配第一discIO银行
分配IO_1 = disc18 [0]
分配IO_2 = disc18 [1];
分配IO_3 = disc18 [2];
分配IO_4 = disc18 [3];
分配IO_5 = disc18 [4];
分配IO_6 = disc18 [5];
分配IO_7 = disc18 [6];
分配IO_8 = disc18 [7];
/ /分配到第二盘木卫一银行
分配IO_9 = disc916 [0];
分配IO_10 = disc916 [1];
分配IO_11 = disc916 [2];
分配IO_12 = disc916 [3];
分配IO_13 = disc916 [4];
分配IO_14 = disc916 [5];
分配IO_15 = disc916 [6];
分配IO_16 = disc916 [7];
/ /分配到第三木卫一银行
分配IO_17 = disc1724 [0];
分配IO_18 = disc1724 [1];
分配IO_19 = disc1724 [2];
分配IO_20 = disc1724 [3];
分配IO_21 = disc1724 [4];
分配IO_22 = disc1724 [5];
分配IO_23 = disc1724 [6];
分配IO_24 = disc1724 [7];
/ /分配到第四木卫一银行
分配IO_25 = disc2532 [0];
分配IO_26 = disc2532 [1];
分配IO_27 = disc2532 [2];
分配IO_28 = disc2532 [3];
分配IO_29 = disc2532 [4];
分配IO_30 = disc2532 [5];
分配IO_31 = disc2532 [6];
分配IO_32 = disc2532 [7];
/ /分配到第五木卫一银行
分配IO_33 = disc3340 [0];
分配IO_34 = disc3340 [1];
分配IO_35 = disc3340 [2];
分配IO_36 = disc3340 [3];
分配IO_37 = disc3340 [4];
分配IO_38 = disc3340 [5];
分配IO_39 = disc3340 [6];
分配IO_40 = disc3340 [7];
/ /分配到第五木卫一银行
分配IO_41 = disc4148 [0];
分配IO_42 = disc4148 [1];
分配IO_43 = disc4148 [2];
分配IO_44 = disc4148 [3];
分配IO_45 = disc4148 [4];
分配IO_46 = disc4148 [5];
分配IO_47 = disc4148 [6];
分配IO_48 = disc4148 [7];
/ /分配到第六木卫一银行
分配IO_49 = disc4956 [0];
分配IO_50 = disc4956 [1];
分配IO_51 = disc4956 [2];
分配IO_52 = disc4956 [3];
分配IO_53 = disc4956 [4];
分配IO_54 = disc4956 [5];
分配IO_55 = disc4956 [6];
分配IO_56 = disc4956 [7];
/ /分配至7木卫一银行
分配IO_57 = disc5764 [0];
分配IO_58 = disc5764 [1];
分配IO_59 = disc5764 [2];
分配IO_60 = disc5764 [3];
分配IO_61 = disc5764 [4];
分配IO_62 = disc5764 [5];
分配IO_63 = disc5764 [6];
分配IO_64 = disc5764 [7];
endmodule
我有一个独特的问题。没有看到这一个三烯B4。我要模拟端口是双向的。我使用连续赋值语句来赋值的I / O从寄存器线。例如
/ /代码
分配IO_1 = reg1 [0];
分配IO_2 = reg1 [1];
.....
.....
其中disc18是一个寄存器。我有8个寄存器
, 即64个I / O线。当我卡我的设计,IO_1以IO_19分配适当的
, 但所有IO的争论后
, 有问题。在审议了数据流的模式
, 事实证明登记册3寄存器8位驱动多IO即使这些木卫一线是从不同的分配寄存器的不同位单独线。
我不知道。如果有人知道什么,我会感激
谢谢
- Saurster
实际的代码如下模块test_io(IO_1,IO_2,IO_3,IO_4,IO_5,IO_6,IO_7,IO_8,IO_9,IO_10,
IO_11,IO_12,IO_13,IO_14,IO_15,IO_16,IO_17,IO_18,IO_19,IO_20,
IO_21,IO_22,IO_23,IO_24,IO_25,IO_26,IO_27,IO_28,IO_29,IO_30,
IO_31,IO_32,IO_33,IO_34,IO_35,IO_36,IO_37,IO_38,IO_39,IO_40,
IO_41,IO_42,IO_43,IO_44,IO_45,IO_46,IO_47,IO_48,IO_49,IO_50,
IO_51,IO_52,IO_53,IO_54,IO_55,IO_56,IO_57,IO_58,IO_59,IO_60,
IO_61,IO_62,IO_63,IO_64,为A0,A1和A2,Å3模式,A4,5条,答6,答7,奥迪A8,A9时,
答10,A11中,A12号A13号,上A14,答15,研发,pclk,复位,WE_N,RD_N,啤酒,HW0,HW1,HW2,HW3);INOUT的IO_1,IO_2,IO_3,IO_4,IO_5,IO_6,IO_7,IO_8,IO_9,IO_10;
INOUT的IO_11,IO_12,IO_13,IO_14,IO_15,IO_16,IO_17,IO_18,IO_19,IO_20;
INOUT的IO_21,IO_22,IO_23,IO_24,IO_25,IO_26,IO_27,IO_28,IO_29,IO_30;
INOUT的IO_31,IO_32,IO_33,IO_34,IO_35,IO_36,IO_37,IO_38,IO_39,IO_40;
INOUT的IO_41,IO_42,IO_43,IO_44,IO_45,IO_46,IO_47,IO_48,IO_49,IO_50;
INOUT的IO_51,IO_52,IO_53,IO_54,IO_55,IO_56,IO_57,IO_58,IO_59,IO_60;
INOUT的IO_61,IO_62,IO_63,IO_64;/ /微处理器总线
输入为A0,A1和A2,Å3模式,A4,5条,答6,答7,奥迪A8是,A9中,A10,A11中,A12号A13号,上A14,答15;
输入pclk;
输入复位;
输入WE_N,RD_N,啤酒;
输入HW0,HW1,HW2,HW3;
INOUT的[0:7]Ḏ;
/ /内部定义
第[0:7] data2proc;
/ /第[0:7] datafromproc;
电线[15:0]地址;
第[0:7] disc18;
第[0:7] disc916;
第[0:7] disc1724;
第[0:7] disc2532;
第[0:7] disc3340;
第[0:7] disc4148;
第[0:7] disc4956;
第[0:7] disc5764;
第[0:7]方向;
线材[3:0]硬件;
参数[15:0]地址1 = 16'hc010,
地址2 = 16'hc011,
地址3 = 16'hc012,
add4 = 16'hc013,
add5 = 16'hc014,
add6 = 16'hc015,
add7 = 16'hc016,
add8 = 16'hc017;
参数[3:0] INVALID1 = 4'h0,
光盘= 4'h1,
资产净值= 4'h2,
INVALID2 = 4'hf;
分配地址=(〜啤酒)?(答15,上A14,A13号,A12号答11中,A10是,A9,奥迪A8,A7号答6,第5条模式,A4,Å3和A2,格A1,累啊):16'hz;
分配硬件=(HW3,HW2,HW1,HW0);
/ *
总是@(WE_N或ALE或D或地址)
开始
案(地址)
导演:开始
如果((〜WE_N)&&(〜啤酒))
开始
方向=Ḏ;
末端
末端
endcase
结束* /
总是@(硬件)
开始
案(硬件)
INVALID1:开始
方向= 8'hff;
末端
光盘:开始
方向= 8'b00000000;
末端
资产净值:开始
方向= 8'b11000000;
末端
INVALID2:开始
方向= 8'h00;
末端
endcase
末端
分配Ḏ=((〜RD_N)&&(〜麦酒))?data2proc:8'bz;
总是@(地址或指示或WE_N或ALE或D或
IO_1或IO_2或IO_3或IO_4或IO_5或IO_6或IO_7或IO_8或
IO_9或IO_10或IO_11或IO_12或IO_13或IO_14或IO_15或IO_16或
IO_17或IO_18或IO_19或IO_20或IO_21或IO_22或IO_23或IO_24或IO_25或IO_26或
IO_27或IO_28或IO_29或IO_30或IO_31或IO_32或IO_33或IO_34或IO_35或IO_36或
IO_37或IO_38或IO_39或IO_40或IO_41或IO_42或IO_43或IO_44或IO_45或IO_46或
IO_47或IO_48或IO_49或IO_50或IO_51或IO_52或IO_53或IO_54或IO_55或IO_56或
IO_57或IO_58或IO_59或IO_60或IO_61或IO_62或IO_63或IO_64)
开始
案(地址)
地址1:开始
如果(方向[0])
开始
data2proc =(IO_1,IO_2,IO_3,IO_4,IO_5,IO_6,IO_7,IO_8);
末端
否则
, 如果((〜方向[0])&&(〜WE_N)&&(〜啤酒))
开始
disc18“=Ḏ;
末端
末端
地址2:开始
如果(方向[1])
开始
data2proc“=(IO_9,IO_10,IO_11,IO_12,IO_13,IO_14,IO_15,IO_16);
末端
否则
, 如果((〜方向[1])&&(〜WE_N)&&(〜啤酒))
开始
disc916“=Ḏ;
末端
末端
地址3:开始
如果(方向[2])
开始
data2proc“=(IO_17,IO_18,IO_19,IO_20,IO_21,IO_22,IO_23,IO_24);
末端
否则
, 如果((〜方向[2])&&(〜WE_N)&&(〜啤酒))
开始
disc1724“=Ḏ;
末端
末端
add4:开始
如果(方向[3])
开始
data2proc“=(IO_25,IO_26,IO_27,IO_28,IO_29,IO_30,IO_31,IO_32);
末端
否则
, 如果((〜方向[3])&&(〜WE_N)&&(〜啤酒))
开始
disc2532“=Ḏ;
末端
末端
add5:开始
如果(方向[4])
开始
data2proc“=(IO_33,IO_34,IO_35,IO_36,IO_37,IO_38,IO_39,IO_40);
末端
否则
, 如果((〜方向[4])&&(〜WE_N)&&(〜啤酒))
开始
disc3340“=Ḏ;
末端
末端
add6:开始
如果(方向[5])
开始
data2proc“=(IO_41,IO_42,IO_43,IO_44,IO_45,IO_46,IO_47,IO_48);
末端
否则
, 如果((〜方向[5])&&(〜WE_N)&&(〜啤酒))
开始
disc4148“=Ḏ;
末端
末端
add7:开始
如果(方向[6])
开始
data2proc“=(IO_49,IO_50,IO_51,IO_52,IO_53,IO_54,IO_55,IO_56);
末端
否则
, 如果((〜方向[6])&&(〜WE_N)&&(〜啤酒))
开始
disc4956“=Ḏ;
末端
末端
add8:开始
如果(方向[7])
开始
data2proc“=(IO_57,IO_58,IO_59,IO_60,IO_61,IO_62,IO_63,IO_64);
末端
否则
, 如果((〜方向[7])&&(〜WE_N)&&(〜啤酒))
开始
disc5764“=Ḏ;
末端
末端
endcase
末端
/ /分配第一discIO银行
分配IO_1 = disc18 [0]
分配IO_2 = disc18 [1];
分配IO_3 = disc18 [2];
分配IO_4 = disc18 [3];
分配IO_5 = disc18 [4];
分配IO_6 = disc18 [5];
分配IO_7 = disc18 [6];
分配IO_8 = disc18 [7];
/ /分配到第二盘木卫一银行
分配IO_9 = disc916 [0];
分配IO_10 = disc916 [1];
分配IO_11 = disc916 [2];
分配IO_12 = disc916 [3];
分配IO_13 = disc916 [4];
分配IO_14 = disc916 [5];
分配IO_15 = disc916 [6];
分配IO_16 = disc916 [7];
/ /分配到第三木卫一银行
分配IO_17 = disc1724 [0];
分配IO_18 = disc1724 [1];
分配IO_19 = disc1724 [2];
分配IO_20 = disc1724 [3];
分配IO_21 = disc1724 [4];
分配IO_22 = disc1724 [5];
分配IO_23 = disc1724 [6];
分配IO_24 = disc1724 [7];
/ /分配到第四木卫一银行
分配IO_25 = disc2532 [0];
分配IO_26 = disc2532 [1];
分配IO_27 = disc2532 [2];
分配IO_28 = disc2532 [3];
分配IO_29 = disc2532 [4];
分配IO_30 = disc2532 [5];
分配IO_31 = disc2532 [6];
分配IO_32 = disc2532 [7];
/ /分配到第五木卫一银行
分配IO_33 = disc3340 [0];
分配IO_34 = disc3340 [1];
分配IO_35 = disc3340 [2];
分配IO_36 = disc3340 [3];
分配IO_37 = disc3340 [4];
分配IO_38 = disc3340 [5];
分配IO_39 = disc3340 [6];
分配IO_40 = disc3340 [7];
/ /分配到第五木卫一银行
分配IO_41 = disc4148 [0];
分配IO_42 = disc4148 [1];
分配IO_43 = disc4148 [2];
分配IO_44 = disc4148 [3];
分配IO_45 = disc4148 [4];
分配IO_46 = disc4148 [5];
分配IO_47 = disc4148 [6];
分配IO_48 = disc4148 [7];
/ /分配到第六木卫一银行
分配IO_49 = disc4956 [0];
分配IO_50 = disc4956 [1];
分配IO_51 = disc4956 [2];
分配IO_52 = disc4956 [3];
分配IO_53 = disc4956 [4];
分配IO_54 = disc4956 [5];
分配IO_55 = disc4956 [6];
分配IO_56 = disc4956 [7];
/ /分配至7木卫一银行
分配IO_57 = disc5764 [0];
分配IO_58 = disc5764 [1];
分配IO_59 = disc5764 [2];
分配IO_60 = disc5764 [3];
分配IO_61 = disc5764 [4];
分配IO_62 = disc5764 [5];
分配IO_63 = disc5764 [6];
分配IO_64 = disc5764 [7];
endmodule