- 註冊時間
- 2009-3-12
- 最後登錄
- 2022-4-13
- 主題
- 查看
- 積分
- 5
- 閱讀權限
- 15
- 文章
- 6
- 相冊
- 0
- 日誌
- 0
狀態︰
離線
|
最近在練習8bitCPU的下線
我們的code在MaxPlus上跑compile跟Simulation沒問題
現在在工作站上的Chip.v檔想求助
(Chip.v : 配合Core Module的code製作僅包含I/O PADs的Top Module檔)
我們確認還不用加入PowerPADs跟Corner Pads、IO Power、IO gnd)
想詢問Chip.v的port腳宣告要配合Core code嗎 ,以及Wire宣告的部分
這邊是chip.v目前進度
module CHIP(clk,reset,db,qullr,codeword);
input [2:0]db;
input codeword;
input clk;
input reset;
output [15:0] qullr;
wire [2:0] i_db;
wire i_codeword;
wire i_clk;
wire i_reset;
wire [15:0] i_qullr;
awgn awgn_1(.clk(i_clk),
.reset(i_reset),
.db(i_db),
.qullr(i_qullr),
.codeword(i_codeword));
YA2GSD opad_QULLR0 ( .I(i_qullr[0]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[0]) );
YA2GSD opad_QULLR1 ( .I(i_qullr[1]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[1]) );
YA2GSD opad_QULLR2 ( .I(i_qullr[2]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[2]) );
YA2GSD opad_QULLR3 ( .I(i_qullr[3]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[3]) );
YA2GSD opad_QULLR4 ( .I(i_qullr[4]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[4]) );
YA2GSD opad_QULLR5 ( .I(i_qullr[5]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[5]) );
YA2GSD opad_QULLR6 ( .I(i_qullr[6]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[6]) );
YA2GSD opad_QULLR7 ( .I(i_qullr[7]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[7]) );
YA2GSD opad_QULLR8 ( .I(i_qullr[8]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[8]) );
YA2GSD opad_QULLR9 ( .I(i_qullr[9]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[9]) );
YA2GSD opad_QULLR10 ( .I(i_qullr[10]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[10]) );
YA2GSD opad_QULLR11 ( .I(i_qullr[11]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[11]) );
YA2GSD opad_QULLR12 ( .I(i_qullr[12]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[12]) );
YA2GSD opad_QULLR13 ( .I(i_qullr[13]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[13]) );
YA2GSD opad_QULLR14 ( .I(i_qullr[14]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[14]) );
YA2GSD opad_QULLR15 ( .I(i_qullr[15]), .E(1'b1), .E2(1'b1), .E4(1'b1), .E8(1'b1), .SR(1'b1), .O(qullr[15]) );
XMD ipad_DB0 ( .I(db[0]), .PU(1'b0), .PD(1'b0), .SMT(1'b0), .O(i_db[0]) );
XMD ipad_DB1 ( .I(db[1]), .PU(1'b0), .PD(1'b0), .SMT(1'b0), .O(i_db[1]) );
XMD ipad_DB2 ( .I(db[2]), .PU(1'b0), .PD(1'b0), .SMT(1'b0), .O(i_db[2]) );
XMD ipad_CODEWORD ( .I(codeword), .PU(1'b0), .PD(1'b0), .SMT(1'b0), .O(i_codeword) );
XMD ipad_CLK ( .I(clk), .PU(1'b0), .PD(1'b0), .SMT(1'b0), .O(i_clk) );
XMD ipad_RESET ( .I(reset), .PU(1'b0), .PD(1'b0), .SMT(1'b0), .O(i_reset) );
endmodule
這邊是Core code的宣告區
ENTITY CPU IS
PORT( clock, reset : IN STD_LOGIC;
program_counter_out : OUT STD_LOGIC_VECTOR( 7 DOWNTO 0 );
register_AC_out : OUT STD_LOGIC_VECTOR(15 DOWNTO 0 );
memory_data_register_out : OUT STD_LOGIC_VECTOR(15 DOWNTO 0 ));
END CPU;
ARCHITECTURE a OF CPU IS
TYPE STATE_TYPE IS ( reset_pc, fetch, decode, execute_add, execute_load, execute_store,
execute_store3, execute_store2, execute_jump );
SIGNAL state: STATE_TYPE;
SIGNAL instruction_register, memory_data_register : STD_LOGIC_VECTOR(15 DOWNTO 0 );
SIGNAL register_AC : STD_LOGIC_VECTOR(15 DOWNTO 0 );
SIGNAL program_counter : STD_LOGIC_VECTOR( 7 DOWNTO 0 );
SIGNAL memory_address_register : STD_LOGIC_VECTOR( 7 DOWNTO 0 );
SIGNAL memory_write : STD_LOGIC;
BEGIN
|
|