<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wikis.ece.iastate.edu/cpre584/index.php?action=history&amp;feed=atom&amp;title=Using_the_Write-Complete_Interface</id>
	<title>Using the Write-Complete Interface - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wikis.ece.iastate.edu/cpre584/index.php?action=history&amp;feed=atom&amp;title=Using_the_Write-Complete_Interface"/>
	<link rel="alternate" type="text/html" href="https://wikis.ece.iastate.edu/cpre584/index.php?title=Using_the_Write-Complete_Interface&amp;action=history"/>
	<updated>2026-04-07T06:45:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wikis.ece.iastate.edu/cpre584/index.php?title=Using_the_Write-Complete_Interface&amp;diff=660&amp;oldid=prev</id>
		<title>Cnel711: New page: There&#039;s an optional (advanced) interface for indicating when a write completes (along with the ability to send 17 bits of write-complete control data with the write request in order to ID ...</title>
		<link rel="alternate" type="text/html" href="https://wikis.ece.iastate.edu/cpre584/index.php?title=Using_the_Write-Complete_Interface&amp;diff=660&amp;oldid=prev"/>
		<updated>2012-10-29T04:05:04Z</updated>

		<summary type="html">&lt;p&gt;New page: There&amp;#039;s an optional (advanced) interface for indicating when a write completes (along with the ability to send 17 bits of write-complete control data with the write request in order to ID ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;There&amp;#039;s an optional (advanced) interface for indicating when a write completes (along with the ability to send 17 bits of write-complete control data with the write request in order to ID the requests).  Use of the interface means the write flush interface is not available.&lt;br /&gt;
&lt;br /&gt;
To enable, edit the main project makefile to set the appropriate environment variable: &lt;br /&gt;
export MC_WR_CMP_IF = 1&lt;br /&gt;
&lt;br /&gt;
The ports to the cae_pers module must be modified; the scripts that compile verilog for both the hardware simulator and for building a bitfile will define &amp;quot;MC_WR_CMP_IF&amp;quot; inside of &amp;quot;pdk_fpga_defines.vh&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
// Top of file (already included)&lt;br /&gt;
`include &amp;quot;pdk_fpga_defines.vh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// ...&lt;br /&gt;
&lt;br /&gt;
// Part of the cae_pers module port declaration&lt;br /&gt;
`ifdef MC_WR_CMP_IF&lt;br /&gt;
   output [16:0] mc0_req_wrctl_e, mc0_req_wrctl_o,&lt;br /&gt;
   output mc0_wr_rsp_stall_e, mc0_wr_rsp_stall_o,&lt;br /&gt;
   input mc0_rsp_wrcmp_e, mc0_rsp_wrcmp_o,&lt;br /&gt;
   input [16:0] mc0_rsp_wrctl_e, mc0_rsp_wrctl_o,&lt;br /&gt;
   output [16:0] mc1_req_wrctl_e, mc1_req_wrctl_o,&lt;br /&gt;
   output mc1_wr_rsp_stall_e, mc1_wr_rsp_stall_o,&lt;br /&gt;
   input mc1_rsp_wrcmp_e, mc1_rsp_wrcmp_o,&lt;br /&gt;
   input [16:0] mc1_rsp_wrctl_e, mc1_rsp_wrctl_o,&lt;br /&gt;
   output [16:0] mc2_req_wrctl_e, mc2_req_wrctl_o,&lt;br /&gt;
   output mc2_wr_rsp_stall_e, mc2_wr_rsp_stall_o,&lt;br /&gt;
   input mc2_rsp_wrcmp_e, mc2_rsp_wrcmp_o,&lt;br /&gt;
   input [16:0] mc2_rsp_wrctl_e, mc2_rsp_wrctl_o,&lt;br /&gt;
   output [16:0] mc3_req_wrctl_e, mc3_req_wrctl_o,&lt;br /&gt;
   output mc3_wr_rsp_stall_e, mc3_wr_rsp_stall_o,&lt;br /&gt;
   input mc3_rsp_wrcmp_e, mc3_rsp_wrcmp_o,&lt;br /&gt;
   input [16:0] mc3_rsp_wrctl_e, mc3_rsp_wrctl_o,&lt;br /&gt;
   output [16:0] mc4_req_wrctl_e, mc4_req_wrctl_o,&lt;br /&gt;
   output mc4_wr_rsp_stall_e, mc4_wr_rsp_stall_o,&lt;br /&gt;
   input mc4_rsp_wrcmp_e, mc4_rsp_wrcmp_o,&lt;br /&gt;
   input [16:0] mc4_rsp_wrctl_e, mc4_rsp_wrctl_o,&lt;br /&gt;
   output [16:0] mc5_req_wrctl_e, mc5_req_wrctl_o,&lt;br /&gt;
   output mc5_wr_rsp_stall_e, mc5_wr_rsp_stall_o,&lt;br /&gt;
   input mc5_rsp_wrcmp_e, mc5_rsp_wrcmp_o,&lt;br /&gt;
   input [16:0] mc5_rsp_wrctl_e, mc5_rsp_wrctl_o,&lt;br /&gt;
   output [16:0] mc6_req_wrctl_e, mc6_req_wrctl_o,&lt;br /&gt;
   output mc6_wr_rsp_stall_e, mc6_wr_rsp_stall_o,&lt;br /&gt;
   input mc6_rsp_wrcmp_e, mc6_rsp_wrcmp_o,&lt;br /&gt;
   input [16:0] mc6_rsp_wrctl_e, mc6_rsp_wrctl_o,&lt;br /&gt;
   output [16:0] mc7_req_wrctl_e, mc7_req_wrctl_o,&lt;br /&gt;
   output mc7_wr_rsp_stall_e, mc7_wr_rsp_stall_o,&lt;br /&gt;
   input mc7_rsp_wrcmp_e, mc7_rsp_wrcmp_o,&lt;br /&gt;
   input [16:0] mc7_rsp_wrctl_e, mc7_rsp_wrctl_o,&lt;br /&gt;
`else&lt;br /&gt;
   output		mc0_req_flush_e, mc0_req_flush_o,&lt;br /&gt;
   input		mc0_rsp_flush_cmplt_e, mc0_rsp_flush_cmplt_o,&lt;br /&gt;
   output		mc1_req_flush_e, mc1_req_flush_o,&lt;br /&gt;
   input		mc1_rsp_flush_cmplt_e, mc1_rsp_flush_cmplt_o,&lt;br /&gt;
   output		mc2_req_flush_e, mc2_req_flush_o,&lt;br /&gt;
   input		mc2_rsp_flush_cmplt_e, mc2_rsp_flush_cmplt_o,&lt;br /&gt;
   output		mc3_req_flush_e, mc3_req_flush_o,&lt;br /&gt;
   input		mc3_rsp_flush_cmplt_e, mc3_rsp_flush_cmplt_o,&lt;br /&gt;
   output		mc4_req_flush_e, mc4_req_flush_o,&lt;br /&gt;
   input		mc4_rsp_flush_cmplt_e, mc4_rsp_flush_cmplt_o,&lt;br /&gt;
   output		mc5_req_flush_e, mc5_req_flush_o,&lt;br /&gt;
   input		mc5_rsp_flush_cmplt_e, mc5_rsp_flush_cmplt_o,&lt;br /&gt;
   output		mc6_req_flush_e, mc6_req_flush_o,&lt;br /&gt;
   input		mc6_rsp_flush_cmplt_e, mc6_rsp_flush_cmplt_o,&lt;br /&gt;
   output		mc7_req_flush_e, mc7_req_flush_o,&lt;br /&gt;
   input		mc7_rsp_flush_cmplt_e, mc7_rsp_flush_cmplt_o,&lt;br /&gt;
`endif&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cnel711</name></author>
	</entry>
</feed>