SOGO論壇

標題: 關於Verilog下線問題-8bitCPU [列印本頁]

作者: ga563600    時間: 2015-11-9 14:55:27     標題: 關於Verilog下線問題-8bitCPU

最近在練習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

作者: syuan08    時間: 2016-1-8 16:54:40

你可以先宣告要拉出來的樹入輸出腳位!
在做APR時他只會幫你把線拉到外面,因為沒有宣告PAD所以不會拉到PAD上!





歡迎光臨 SOGO論壇 (https://oursogo.com/) Powered by OURSOGO.COM