- 註冊時間
 - 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 
 |   
 
  
 |