を使った,漆文字盤,提げ時計,MAKIE,松山武司,漆,和風,時計,蒔絵時計,浄法寺,クオーツ,/Cortes314749.html,提げ時計,ポケットウォッチ,和風小物,「杜若」,送料無料,高級時計,ラグジュアリー,gilroysistercities.org,JOGA,ポケットウォッチ,浄法寺漆,72600円,懐中時計,蒔絵,クオーツ,和服,本格,腕時計 , 懐中時計,浄雅,懐中時計,漆塗り,作,蒔絵,G02-064,懐中時計 を使った,漆文字盤,提げ時計,MAKIE,松山武司,漆,和風,時計,蒔絵時計,浄法寺,クオーツ,/Cortes314749.html,提げ時計,ポケットウォッチ,和風小物,「杜若」,送料無料,高級時計,ラグジュアリー,gilroysistercities.org,JOGA,ポケットウォッチ,浄法寺漆,72600円,懐中時計,蒔絵,クオーツ,和服,本格,腕時計 , 懐中時計,浄雅,懐中時計,漆塗り,作,蒔絵,G02-064,懐中時計 送料無料 浄法寺 漆 を使った 本格 蒔絵 時計 クオーツ ポケットウォッチ 懐中時計 提げ時計 高級時計 浄法寺漆 【開店記念セール!】 ラグジュアリー 和服 JOGA 和風小物 松山武司 浄雅 漆塗り MAKIE 蒔絵時計 杜若 G02-064 漆文字盤 和風 作 72600円 送料無料 浄法寺 漆 を使った 本格 蒔絵 時計 クオーツ ポケットウォッチ 懐中時計 提げ時計 懐中時計 高級時計 蒔絵 浄法寺漆 ラグジュアリー 蒔絵時計 漆塗り 和風 和風小物 松山武司 作 浄雅 JOGA MAKIE 漆文字盤 「杜若」 クオーツ ポケットウォッチ 懐中時計 提げ時計 和服 G02-064 腕時計 懐中時計 送料無料 浄法寺 漆 を使った 本格 蒔絵 時計 クオーツ ポケットウォッチ 懐中時計 提げ時計 高級時計 浄法寺漆 【開店記念セール!】 ラグジュアリー 和服 JOGA 和風小物 松山武司 浄雅 漆塗り MAKIE 蒔絵時計 杜若 G02-064 漆文字盤 和風 作 72600円 送料無料 浄法寺 漆 を使った 本格 蒔絵 時計 クオーツ ポケットウォッチ 懐中時計 提げ時計 懐中時計 高級時計 蒔絵 浄法寺漆 ラグジュアリー 蒔絵時計 漆塗り 和風 和風小物 松山武司 作 浄雅 JOGA MAKIE 漆文字盤 「杜若」 クオーツ ポケットウォッチ 懐中時計 提げ時計 和服 G02-064 腕時計 懐中時計
※ハンドメイドのため、文字盤に若干違いがある場合があります。
■様々なお祝いのシーンに |
アビーロードはのし(熨斗)無料で対応します 父の日 母の日 敬老の日 還暦祝い 歳祝い 記念品 退職祝い 永年勤続感謝 クリスマス 誕生日プレゼント 贈り物 贈りもの 御祝 お祝 お祝い 御礼 お礼 御挨拶 ご挨拶 内祝 内祝い 結婚祝い 結婚内祝い 引き出物 結婚引出物 出産祝い 出産内祝い プチギフト 快気祝い 快気内祝い 新築祝い 開店祝い 進学内祝 入学内祝 |
1 ビッ ト CDC CDC-1 クリティカル 1 ビッ ト CDC パスが、 同期化されていないか、 または不明の CDC 回路を含みます。
だそうだ。CE 制御の CDC CDC-15 警告 ク ロ ッ ク イネーブルで制御された CDC。
## add_wave /apatb_DMA_pow2_top/m_axi_gmem_BUSER -into $wdata_group -radix hex
ERROR: [Wavedata 42-471] Note: Nothing was found for the following items: /apatb_DMA_pow2_top/m_axi_gmem_BUSER
ERROR: [Common 17-39] 'add_wave' failed due to earlier errors.
while executing
"add_wave /apatb_DMA_pow2_top/m_axi_gmem_BUSER -into $wdata_group -radix hex"
(file "DMA_pow2.tcl" line 103)
// ==============================================================
// Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2021.2 (64-bit)
// Copyright 1986-2021 Xilinx, Inc. All Rights Reserved.
// ==============================================================
`timescale 1ns/1ps
module DMA_pow2_control_s_axi
#(parameter
C_S_AXI_ADDR_WIDTH = 6,
C_S_AXI_DATA_WIDTH = 32
)(
input wire ACLK,
input wire ARESET,
input wire ACLK_EN,
input wire [C_S_AXI_ADDR_WIDTH-1:0] AWADDR,
input wire AWVALID,
output wire AWREADY,
input wire [C_S_AXI_DATA_WIDTH-1:0] WDATA,
input wire [C_S_AXI_DATA_WIDTH/8-1:0] WSTRB,
input wire WVALID,
output wire WREADY,
output wire [1:0] BRESP,
output wire BVALID,
input wire BREADY,
input wire [C_S_AXI_ADDR_WIDTH-1:0] ARADDR,
input wire ARVALID,
output wire ARREADY,
output wire [C_S_AXI_DATA_WIDTH-1:0] RDATA,
output wire [1:0] RRESP,
output wire RVALID,
input wire RREADY,
output wire interrupt,
input wire clk,
input wire rst,
output wire ap_start,
input wire ap_done,
input wire ap_ready,
input wire ap_idle,
input wire [31:0] ap_return,
output wire [63:0] in_r,
output wire [63:0] out_r,
input wire [0:0] ap_local_deadlock
);
//------------------------Address Info-------------------
// 0x00 : Control signals
// bit 0 - ap_start (Read/Write/COH)
// bit 1 - ap_done (Read/COR)
// bit 2 - ap_idle (Read)
// bit 3 - ap_ready (Read/COR)
// bit 7 - auto_restart (Read/Write)
// others - reserved
// 0x04 : Global Interrupt Enable Register
// bit 0 - Global Interrupt Enable (Read/Write)
// others - reserved
// 0x08 : IP Interrupt Enable Register (Read/Write)
// bit 0 - enable ap_done interrupt (Read/Write)
// bit 1 - enable ap_ready interrupt (Read/Write)
// bit 5 - enable ap_local_deadlock interrupt (Read/Write)
// others - reserved
// 0x0c : IP Interrupt Status Register (Read/TOW)
// bit 0 - ap_done (COR/TOW)
// bit 1 - ap_ready (COR/TOW)
// bit 5 - ap_local_deadlock (COR/TOW)
// others - reserved
// 0x10 : Data signal of ap_return
// bit 31~0 - ap_return[31:0] (Read)
// 0x18 : Data signal of in_r
// bit 31~0 - in_r[31:0] (Read/Write)
// 0x1c : Data signal of in_r
// bit 31~0 - in_r[63:32] (Read/Write)
// 0x20 : reserved
// 0x24 : Data signal of out_r
// bit 31~0 - out_r[31:0] (Read/Write)
// 0x28 : Data signal of out_r
// bit 31~0 - out_r[63:32] (Read/Write)
// 0x2c : reserved
// (SC = Self Clear, COR = Clear on Read, TOW = Toggle on Write, COH = Clear on Handshake)
//------------------------Parameter----------------------
localparam
ADDR_AP_CTRL = 6'h00,
ADDR_GIE = 6'h04,
ADDR_IER = 6'h08,
ADDR_ISR = 6'h0c,
ADDR_AP_RETURN_0 = 6'h10,
ADDR_IN_R_DATA_0 = 6'h18,
ADDR_IN_R_DATA_1 = 6'h1c,
ADDR_IN_R_CTRL = 6'h20,
ADDR_OUT_R_DATA_0 = 6'h24,
ADDR_OUT_R_DATA_1 = 6'h28,
ADDR_OUT_R_CTRL = 6'h2c,
WRIDLE = 2'd0,
WRDATA = 2'd1,
WRRESP = 2'd2,
WRRESET = 2'd3,
RDIDLE = 2'd0,
RDDATA = 2'd1,
RDRESET = 2'd2,
ADDR_BITS = 6;
//------------------------Local signal-------------------
reg [1:0] wstate = WRRESET;
reg [1:0] wnext;
reg [ADDR_BITS-1:0] waddr;
wire [C_S_AXI_DATA_WIDTH-1:0] wmask;
wire aw_hs;
wire w_hs;
reg [1:0] rstate = RDRESET;
reg [1:0] rnext;
reg [C_S_AXI_DATA_WIDTH-1:0] rdata;
wire ar_hs;
wire [ADDR_BITS-1:0] raddr;
// internal registers
reg int_ap_idle;
reg int_ap_ready = 1'b0;
reg int_ap_done = 1'b0;
wire ap_done_get;
reg ap_done_ext;
reg int_ap_start = 1'b0;
wire ap_start_set;
reg ap_start_mask;
reg int_auto_restart = 1'b0;
wire auto_restart_set;
reg int_gie = 1'b0;
reg [5:0] int_ier = 6'b0;
wire ier_toggle;
reg ier_mask;
reg [5:0] int_isr = 6'b0;
wire isr_toggle;
reg isr_mask;
reg [31:0] int_ap_return;
reg [63:0] int_in_r = 'b0;
reg [63:0] int_out_r = 'b0;
//------------------------Instantiation------------------
//------------------------AXI write fsm------------------
assign AWREADY = (wstate == WRIDLE);
assign WREADY = (wstate == WRDATA);
assign BRESP = 2'b00; // OKAY
assign BVALID = (wstate == WRRESP);
assign wmask = { {8{WSTRB[3]}}, {8{WSTRB[2]}}, {8{WSTRB[1]}}, {8{WSTRB[0]}} };
assign aw_hs = AWVALID & AWREADY;
assign w_hs = WVALID & WREADY;
// wstate
always @(posedge ACLK) begin
if (ARESET)
wstate <= WRRESET;
else if (ACLK_EN)
wstate <= wnext;
end
// wnext
always @(*) begin
case (wstate)
WRIDLE:
if (AWVALID)
wnext = WRDATA;
else
wnext = WRIDLE;
WRDATA:
if (WVALID)
wnext = WRRESP;
else
wnext = WRDATA;
WRRESP:
if (BREADY)
wnext = WRIDLE;
else
wnext = WRRESP;
default:
wnext = WRIDLE;
endcase
end
// waddr
always @(posedge ACLK) begin
if (ACLK_EN) begin
if (aw_hs)
waddr <= AWADDR[ADDR_BITS-1:0];
end
end
//------------------------AXI read fsm-------------------
assign ARREADY = (rstate == RDIDLE);
assign RDATA = rdata;
assign RRESP = 2'b00; // OKAY
assign RVALID = (rstate == RDDATA);
assign ar_hs = ARVALID & ARREADY;
assign raddr = ARADDR[ADDR_BITS-1:0];
// rstate
always @(posedge ACLK) begin
if (ARESET)
rstate <= RDRESET;
else if (ACLK_EN)
rstate <= rnext;
end
// rnext
always @(*) begin
case (rstate)
RDIDLE:
if (ARVALID)
rnext = RDDATA;
else
rnext = RDIDLE;
RDDATA:
if (RREADY & RVALID)
rnext = RDIDLE;
else
rnext = RDDATA;
default:
rnext = RDIDLE;
endcase
end
// rdata
always @(posedge ACLK) begin
if (ACLK_EN) begin
if (ar_hs) begin
rdata <= 'b0;
case (raddr)
ADDR_AP_CTRL: begin
rdata[0] <= int_ap_start;
rdata[1] <= int_ap_done;
rdata[2] <= int_ap_idle;
rdata[3] <= int_ap_ready;
rdata[7] <= int_auto_restart;
end
ADDR_GIE: begin
rdata <= int_gie;
end
ADDR_IER: begin
rdata <= int_ier;
end
ADDR_ISR: begin
rdata <= int_isr;
end
ADDR_AP_RETURN_0: begin
rdata <= int_ap_return[31:0];
end
ADDR_IN_R_DATA_0: begin
rdata <= int_in_r[31:0];
end
ADDR_IN_R_DATA_1: begin
rdata <= int_in_r[63:32];
end
ADDR_OUT_R_DATA_0: begin
rdata <= int_out_r[31:0];
end
ADDR_OUT_R_DATA_1: begin
rdata <= int_out_r[63:32];
end
endcase
end
end
end
//------------------------Register logic-----------------
assign interrupt = int_gie & (|int_isr);
assign ap_start = int_ap_start;
assign ap_start_set = w_hs && waddr == ADDR_AP_CTRL && WSTRB[0] && WDATA[0];
assign ap_done_get = ar_hs && raddr == ADDR_AP_CTRL && int_ap_done;
assign auto_restart_set = w_hs && waddr == ADDR_AP_CTRL && WSTRB[0];
assign isr_toggle = w_hs && waddr == ADDR_ISR && WSTRB[0];
assign in_r = int_in_r;
assign out_r = int_out_r;
// ap_start_mask
always @(posedge clk) begin
if (rst)
ap_start_mask <= 1'b0;
else
ap_start_mask <= ap_start_set;
end
// int_ap_start
always @(posedge clk) begin
if (rst)
int_ap_start <= 1'b0;
else if (ap_start_set == 1'b1 && ap_start_mask == 1'b0)
int_ap_start <= 1'b1;
else if (ap_ready)
int_ap_start <= int_auto_restart; // clear on handshake/auto restart
end
// ap_done_ext
always @(posedge clk) begin
if (rst)
ap_done_ext <= 1'b0;
else
ap_done_ext <= ap_done_get;
end
// int_ap_done
always @(posedge clk) begin
if (rst)
int_ap_done <= 1'b0;
else if (ap_done)
int_ap_done <= 1'b1;
else if (ap_done_get == 1'b0 && ap_done_ext == 1'b1)
int_ap_done <= 1'b0; // clear on read
end
// int_ap_idle
always @(posedge clk) begin
if (rst)
int_ap_idle <= 1'b0;
else
int_ap_idle <= ap_idle;
end
// int_ap_ready
always @(posedge clk) begin
if (rst)
int_ap_ready <= 1'b0;
else
int_ap_ready <= ap_ready;
end
// int_auto_restart
always @(posedge clk) begin
if (rst)
int_auto_restart <= 1'b0;
else if (auto_restart_set == 1'b1)
int_auto_restart <= WDATA[7];
end
// int_gie
always @(posedge clk) begin
if (rst)
int_gie <= 1'b0;
else if (w_hs && waddr == ADDR_GIE && WSTRB[0])
int_gie <= WDATA[0];
end
// int_ier
always @(posedge clk) begin
if (rst)
int_ier <= 'b0;
else if (w_hs && waddr == ADDR_IER && WSTRB[0])
int_ier <= WDATA[5:0];
else if (w_hs && waddr == ADDR_IER && WSTRB[0])
int_ier <= WDATA[5:0];
end
// isr_mask
always @(posedge clk) begin
if (rst)
isr_mask <= 1'b0;
else
isr_mask <= isr_toggle;
end
// int_isr[0]
always @(posedge clk) begin
if (rst)
int_isr[0] <= 1'b0;
else if (int_ier[0] & ap_done)
int_isr[0] <= 1'b1;
else if (isr_toggle == 1'b1 && isr_mask == 1'b0)
int_isr[0] <= int_isr[0] ^ WDATA[0]; // toggle on write
end
// int_isr[1]
always @(posedge clk) begin
if (rst)
int_isr[1] <= 1'b0;
else if (int_ier[1] & ap_ready)
int_isr[1] <= 1'b1;
else if (isr_toggle == 1'b1 && isr_mask == 1'b0)
int_isr[1] <= int_isr[1] ^ WDATA[1]; // toggle on write
end
// int_isr[5]
always @(posedge clk) begin
if (rst)
int_isr[5] <= 1'b0;
else if (int_ier[5] & ap_local_deadlock)
int_isr[5] <= 1'b1;
else if (isr_toggle == 1'b1 && isr_mask == 1'b0)
int_isr[5] <= int_isr[5] ^ WDATA[5]; // toggle on write
end
// int_ap_return
always @(posedge clk) begin
if (rst)
int_ap_return <= 0;
else if (ap_done)
int_ap_return <= ap_return;
end
// int_in_r[31:0]
always @(posedge clk) begin
if (rst)
int_in_r[31:0] <= 0;
else if (w_hs && waddr == ADDR_IN_R_DATA_0)
int_in_r[31:0] <= (WDATA[31:0] & wmask) | (int_in_r[31:0] & ~wmask);
end
// int_in_r[63:32]
always @(posedge clk) begin
if (rst)
int_in_r[63:32] <= 0;
else if (w_hs && waddr == ADDR_IN_R_DATA_1)
int_in_r[63:32] <= (WDATA[31:0] & wmask) | (int_in_r[63:32] & ~wmask);
end
// int_out_r[31:0]
always @(posedge clk) begin
if (rst)
int_out_r[31:0] <= 0;
else if (w_hs && waddr == ADDR_OUT_R_DATA_0)
int_out_r[31:0] <= (WDATA[31:0] & wmask) | (int_out_r[31:0] & ~wmask);
end
// int_out_r[63:32]
always @(posedge clk) begin
if (rst)
int_out_r[63:32] <= 0;
else if (w_hs && waddr == ADDR_OUT_R_DATA_1)
int_out_r[63:32] <= (WDATA[31:0] & wmask) | (int_out_r[63:32] & ~wmask);
end
//------------------------Memory logic-------------------
endmodule
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
- | - | - | - | - | - | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 | - | - | - | - | - |