{"id":1769,"date":"2014-01-23T16:27:17","date_gmt":"2014-01-23T16:27:17","guid":{"rendered":"http:\/\/blog.bachi.net\/?p=1769"},"modified":"2015-03-03T16:58:11","modified_gmt":"2015-03-03T16:58:11","slug":"quartus-faq","status":"publish","type":"post","link":"https:\/\/blog.bachi.net\/?p=1769","title":{"rendered":"Quartus FAQ"},"content":{"rendered":"<h3>Links<\/h3>\n<p><a href=\"http:\/\/www.mikrocontroller.net\/topic\/273510\">Altera Qsys Erfahrungen<\/a><br \/>\n<a href=\"http:\/\/www.emb4fun.de\/fpga\/nutos1\/index.html\">em4fun Altera DE0-Nano<\/a><\/p>\n<h3>FAQ<\/h3>\n<h4>Question<\/h4>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nError (176310): Can't place multiple pins assigned to pin location Pin_D1 (IOPAD_X0_Y37_N7)\r\n\tInfo (176311): Pin epcs_config_asd0_o is assigned to pin location Pin_D1 (IOPAD_X0_Y37_N7)\r\n\tInfo (176311): Pin ~ALTERA_ASDO_DATA1~ is assigned to pin location Pin_D1 (IOPAD_X0_Y37_N7)\r\n<\/pre>\n<h4>Answer<\/h4>\n<p>Use SOPC or Qsys and add &#8220;EPCS Serial Flash Controller&#8221;<\/p>\n<p><a href=\"http:\/\/www.alteraforum.com\/forum\/showthread.php?t=33717\">error: can&#8217;t place multiple pins assigned to pin location<\/a><\/p>\n<h4>Question<\/h4>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nQsys: Warning: No matching role found\r\n<\/pre>\n<h4>Answer<\/h4>\n<p>You may safely ignore these messages for Altera components because the signals are not required for design operation.<br \/>\n<a href=\"http:\/\/www.altera.com\/support\/kdb\/solutions\/spr371633.html\">Qsys: Warning: No matching role found<\/a><\/p>\n<h4>Question<\/h4>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nInfo (209060): Started Programmer operation at Fri Jan 24 15:27:32 2014\r\nInfo (209016): Configuring device index 1\r\nInfo (209017): Device 1 contains JTAG ID code 0x020F40DD\r\nError (209014): CONF_DONE pin failed to go high in device 1\r\nError (209012): Operation failed\r\nInfo (209061): Ended Programmer operation at Fri Jan 24 15:27:38 2014\r\n<\/pre>\n<h4>Answer<\/h4>\n<p>Reset Hardware or<br \/>\n<a href=\"http:\/\/www.altera.com\/support\/kdb\/solutions\/rd04172013_855.html\">Error (209014): CONF_DONE pin failed to go high in device<\/a><br \/>\n<a href=\"http:\/\/www.altera.com\/support\/kdb\/solutions\/rd03282003_8747.html\">Why do I receive the error &#8216;CONF_DONE pin failed to go high in device X&#8217; when I try to JTAG configure my Altera FPGA using the Quartus II software and a download cable?<\/a><\/p>\n<h4>Question<\/h4>\n<p>Remove VHDL commentar from component declartion<\/p>\n<h4>Answer<\/h4>\n<p>RegEx Code<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n&#x5B; -]*&#x5B; .]&#x5B;a-z0-9_.]*$\r\nor\r\n&#x5B; -]*\\w&#x5B;a-z0-9_]*$\r\n<\/pre>\n<h4>Question<\/h4>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nWarning- &quot;Properties (isMemoryDevice) have been set on interface uas - in composed mode these are ignored&quot;\r\n<\/pre>\n<h4>Answer<\/h4>\n<p>This warning means that the NIOS\u00ae II software tools may not see the isMemoryDevice assignment which will make it harder in the GUI to choose memory addresses at this range as being valid to store boot data<br \/>\n<a href=\"http:\/\/niosii.com\/support\/kdb\/solutions\/rd04232013_962.html\">Warning- &#8220;Properties (isMemoryDevice) have been set on interface uas &#8211; in composed mode these are ignored&#8221;<\/a><\/p>\n<h4>Question<\/h4>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\ncomponent nios is\r\n    port (\r\n        &#x5B;...]\r\n        bridge_cfi_flash_read_n         : out   std_logic_vector(0 downto 0);\r\n        &#x5B;...]\r\n    );\r\n<\/pre>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nError (10476): VHDL error at dionysos_top.vhd(238): type of identifier &quot;flash_oe_n_o&quot; does not agree with its usage as &quot;std_logic_vector&quot; type\r\nError (10558): VHDL error at dionysos_top.vhd(238): cannot associate formal port &quot;bridge_cfi_flash_read_n&quot; of mode &quot;out&quot; with an expression\r\n<\/pre>\n<h4>Answer<\/h4>\n<p>Generate as Verilog, edit componen from std_logic_vector to std_logic!<br \/>\n<a href=\"http:\/\/www.alterawiki.com\/wiki\/New_Qsys_Issues#Tri-state_conduits_and_VHDL_component\">Tri-state conduits and VHDL component <\/a><br \/>\n<a href=\"http:\/\/www.alteraforum.com\/forum\/showthread.php?t=29684\">Qsys and tristate bridge <\/a><\/p>\n<h5>Wrong Answer<\/h5>\n<p>Re-create Qsys tree. Updating from earlyer versions (ex. 12.1) to current version (13.1) is <strong>NOT<\/strong> safe!<\/p>\n<h4>Question<\/h4>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n\/opt\/altera13.1\/nios2eds\/bin\/sof2flash: 6: \/opt\/altera13.1\/nios2eds\/bin\/sh_jar.sh: Bad substitution\r\n<\/pre>\n<h4>Answer<\/h4>\n<h4>Question<\/h4>\n<p>Why does sof2flash, elf2flash,elf2hex and bin2flash fail from Quartus II 13.1 when run on a Windows PC?<\/p>\n<h4>Answer<\/h4>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n$ export QUARTUS_BINDIR=${QUARTUS_ROOTDIR}\/bin\r\n<\/pre>\n<p><a href=\"http:\/\/www.altera.com\/support\/kdb\/solutions\/rd11112013_614.html\">Why does sof2flash, elf2flash,elf2hex and bin2flash fail from Quartus II 13.1 when run on a Windows PC?<\/a><\/p>\n<h3>Installation of Quartus 13.1<\/h3>\n<h4>Question<\/h4>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n# .\/setup.sh \r\nbash: .\/setup.sh: \/bin\/env: bad interpreter: No such file or directory\r\n<\/pre>\n<h4>Answer<\/h4>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n# ln -s \/usr\/bin\/env env\r\n<\/pre>\n<h4>Question<\/h4>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n# .\/setup.sh \r\n\r\nYou must have the 32-bit compatibility libraries installed for the Quartus II installer and software to operate properly.\r\n<\/pre>\n<h4>Answer<\/h4>\n<p><a href=\"http:\/\/sixarm.com\/about\/ubuntu-apt-get-install-ia32-for-32-bit-on-64-bit.html\">Ubuntu apt-get install ia32 for 32-bit on 64-bit<\/a><br \/>\n<a href=\"https:\/\/support.humblebundle.com\/hc\/en-us\/articles\/202759400-Installing-32-bit-libs-on-a-64-bit-Linux-system\">Installing 32-bit libs on a 64-bit Linux system<\/a><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n$ sudo dpkg --add-architecture i386\r\n$ sudo apt-get install lib32z1\r\n$ sudo apt-get install gcc-4.9-base:i386 libc6:i386 libgcc1:i386 libx11-6:i386 libxau6:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386\r\n$ sudo apt-get install fontconfig:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libpng12-0:i386 zlib1g:i386\r\n<\/pre>\n<h4>Question<\/h4>\n<p>How to synthesis the whole project or just some VHDL files in the command-line?<\/p>\n<h4>Answer<\/h4>\n<p><a href=\"http:\/\/stackoverflow.com\/questions\/17444691\/using-quartus-from-command-line\">Using Quartus from command line<\/a><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nQuartus-II Handbook Version 13.0, page 2-10 (or search ASSIGNMENT_FILES)\r\n==&gt; produces one example Makefile\r\n\r\n$ quartus_map --help=makefiles\r\n\r\nor\r\n\r\n$ PATH=$PATH:\/opt\/altera\/13.0\/quartus\/bin\r\n$ quartus_map binary_ops_00000000 --source=binary_ops_00000000.v --family=&quot;Cyclone III&quot; \r\n$ quartus_fit binary_ops_00000000\r\n$ quartus_eda binary_ops_00000000 --formal_verification --tool=conformal\r\n$ cp -v fv\/conformal\/binary_ops_00000000.vo output.v\r\n<\/pre>\n<p><a href=\"http:\/\/quartushelp.altera.com\/14.0\/mergedProjects\/system\/qsys\/qsys_pro_generate_system.htm\">Generating a System for Synthesis or Simulation &#8211; Generating a Qsys system using the command-line<\/a><br \/>\n<a href=\"http:\/\/www.altera.com\/support\/kdb\/solutions\/rd05242013_96.html\">Knowledge Base: Can I open the Qsys tool from the Command line?<\/a><br \/>\n<a href=\"http:\/\/www.alterawiki.com\/wiki\/Qsys_Scripts\">Qsys Scripts<\/a><br \/>\n<a href=\"http:\/\/macnicatech.com\/qsys_64bit_linux\/\">Qsys on 64-bit Linux error<\/a><br \/>\n<a href=\"http:\/\/www.altera.com\/support\/examples\/tcl\/auto_processing.html\">Quartus II Tcl Example: Automatic Script Execution<\/a><\/p>\n<pre class=\"brush: plain; title: Qsys; notranslate\" title=\"Qsys\">\r\n$ &lt;Quartus II installation directory&gt;\\quartus\\sopc_builder\\bin\\ip-generate --help\r\n$ &lt;Quartus II installation directory&gt;\\quartus\\sopc_builder\\bin\\ip-make-simscript --help\r\n$ &lt;ACDS install directory&gt;\\quartus\\sopc_builder\\bin\\qsys-edit\r\n$ qsys-script \r\n$ qsys-generate &lt;QSYS-file&gt; --family=&quot;&quot;\r\n<\/pre>\n<h4>Question<\/h4>\n<p>How to use SVN revision and current time in VHDL.<\/p>\n<h4>Answer<\/h4>\n<p>Use TCL-script<br \/>\n<a href=\"http:\/\/www.altera.com\/support\/examples\/tcl\/tcl-svn-revision.html\">Quartus II Tcl Example: Get Subversion Revision Number<\/a><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n$ quartus_sh.exe -t svn_version.tcl\r\n&#x5B;...]\r\nInfo: Command: quartus_sh -t svn_version.tcl\r\nInfo: Revision for ..\/.. is 658\r\nInfo: Build time 1425395821\r\nInfo (23030): Evaluation of Tcl script svn_version.tcl was successful\r\n&#x5B;...]\r\n<\/pre>\n<pre class=\"brush: plain; collapse: true; light: false; title: svn_version.tcl; toolbar: true; notranslate\" title=\"svn_version.tcl\">\r\n# this .tcl script is from http:\/\/www.altera.com\/support\/examples\/tcl\/tcl-svn-revision.html\r\n\r\nproc get_subversion_revision { file_name } {\r\n\r\n    global done\r\n\r\n    # The maximum number of seconds to wait for the svn info\r\n    # command to complete\r\n    set timeout_seconds 30\r\n\r\n    # The svn info command with filename that is run (the .\/trunk\/hdl directory)\r\n    set cmd &quot;svn info ..\/..&quot;\r\n\r\n    # Attempt to get the version information.\r\n    # If the command can't be run, return an error.\r\n    # Otherwise set up a file event to process the command output.\r\n    if { &#x5B;catch {open &quot;|$cmd&quot;} input] } {\r\n        return -code error $input\r\n    } else {\r\n\r\n        fileevent $input readable &#x5B;list get_revision_info $input ]\r\n\r\n        # Set up a timeout so that the process can't hang if the\r\n        # repository is down.\r\n        set timeout &#x5B;after &#x5B; expr { $timeout_seconds * 1000 } ] \\\r\n            &#x5B;list set done -1] ]\r\n\r\n        # Don't continue until the revision number is found,\r\n        # or the operation times out. Cancel the timeout anyway.\r\n        vwait done\r\n        after cancel $timeout\r\n    }\r\n}\r\n\r\nproc get_build_time { } {\r\n\r\n    global build_time\r\n    global tcl_platform\r\n    \r\n    set timeout_seconds 30\r\n\r\n    set OS &#x5B;lindex $tcl_platform(os) 0]\r\n    if { $OS == &quot;Windows&quot; } {\r\n        post_message &quot;Build on Windows: use batch file&quot;\r\n        set cmd &quot;build_date_win32.bat&quot;\r\n    } else {\r\n        post_message &quot;Build on Linux: use date&quot;\r\n        set cmd &quot;date +%s&quot;\r\n    }\r\n    \r\n    if { &#x5B;catch {open &quot;|$cmd&quot;} input] } {\r\n        return -code error $input\r\n    }\r\n    \r\n    gets $input build_time\r\n}\r\n\r\nproc get_revision_info { inp  } {\r\n\r\n    global done revision_number\r\n\r\n    if { &#x5B;eof $inp] } {\r\n        catch {close $inp}\r\n        set done 1\r\n    } elseif { $done } {\r\n        gets $inp line\r\n    } else {\r\n        gets $inp line\r\n        # Use a regular expression to match the line with the\r\n        # revision number.\r\n        if { &#x5B;regexp {^Revision:\\s+(\\d+)\\s*$} $line match revision_number] } {\r\n            set done 1\r\n        }\r\n    }\r\n}\r\n\r\nset path $::env(PATH)\r\npost_message &quot;PATH = $path&quot;\r\n\r\nset done 0\r\nset revision_number &quot;&quot;\r\nset build_time &quot;&quot;\r\n\r\n# The file name is usually your project file .qpf\r\nset file_name &quot;..\/..&quot;\r\n#set file_name &#x5B;lindex $quartus(args) 1]\r\n\r\nif { &#x5B;catch { get_subversion_revision $file_name } msg] } {\r\n    post_message -type critical_warning &quot;Couldn't run command to get revision number. $msg&quot;\r\n} else {\r\n\r\n    if { -1 == $done } {\r\n        post_message -type critical_warning &quot;Timeout getting revision number.&quot;\r\n        set revision_number &quot;0&quot;\r\n    } elseif { &#x5B;string equal &quot;&quot; $revision_number] } {\r\n        post_message -type critical_warning &quot;Couldn't find revision number in output of svn info $file_name.&quot;\r\n        set revision_number &quot;0&quot;\r\n    }\r\n    post_message &quot;Revision for $file_name is $revision_number&quot;\r\n    \r\n    if { &#x5B;catch { get_build_time } msg] } {\r\n        post_message -type critical_warning &quot;Couldn't run command to get build time: $msg&quot;\r\n    }\r\n    post_message &quot;Build time $build_time&quot;\r\n        \r\n    #create file, overwite if already existing\r\n    set output &#x5B;open &quot;..\/..\/common_source\/core\/pm_revision_number.vhd&quot; w]\r\n    puts $output &quot;LIBRARY IEEE;&quot;\r\n    puts $output &quot;USE IEEE.STD_LOGIC_1164.ALL;&quot;\r\n    puts $output &quot;USE IEEE.NUMERIC_STD.ALL;&quot;\r\n    puts $output &quot;PACKAGE pm_revision_number IS&quot;\r\n    puts $output &quot;&quot;\r\n    puts $output &quot;CONSTANT ci_rev_num     : integer := $revision_number;&quot;\r\n    puts $output &quot;CONSTANT ci_build_time  : integer := $build_time;&quot;\r\n    puts $output &quot;&quot;\r\n    puts $output &quot;END PACKAGE;&quot;\r\n    puts $output &quot;&quot;\r\n    \r\n    close $output\r\n}\r\n<\/pre>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nInfo: Command: quartus_sh -t svn_version.tcl compile TCC_PTP_v2 TCC_PTP_v2_top\r\nInfo: Quartus(args): compile TCC_PTP_v2 TCC_PTP_v2_top\r\nInfo: PATH = c:\\altera\\14.1\\quartus\\bin64\\;c:\\altera\\14.1\\quartus\\bin64\\;C:\\Windows\\...\r\nInfo: Revision for ..\/.. is 658\r\nCritical Warning: Couldn't run command to get build time: couldn't execute &quot;date&quot;: no such file or directory\r\nInfo: Build time \r\nInfo (23030): Evaluation of Tcl script svn_version.tcl was successful\r\n<\/pre>\n<p>No PATH to C:\/altera\/14.1\/quartus\/bin64\/cygwin\/bin !!! ==> no date<\/p>\n<p><a href=\"http:\/\/www.alteraforum.com\/forum\/showthread.php?t=42382\">Scripting and Options for quartus_sh<\/a><br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/3261467\/run-common-tcl-script-on-windows-and-linux\">Run common TCL script on Windows and Linux<\/a><br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/11124572\/what-is-the-windows-equivalent-of-the-command-dates\">what is the windows equivalent of the command \u201cdate+%s\u201d<\/a><\/p>\n<pre class=\"brush: plain; collapse: true; light: false; title: build_date_win32.bat; toolbar: true; notranslate\" title=\"build_date_win32.bat\">\r\n:UnixTime  &#x5B;ReturnVar]  &#x5B;TimeStamp]\r\n::\r\n:: Computes the Unix time from the current local time as reported by the\r\n:: operating system. The Unix time is the number of seconds that have elapsed\r\n:: since midnight Coordinated Universal Time (UTC), January 1, 1970, not\r\n:: counting leap seconds.\r\n::\r\n:: The result is returned in variable ReturnVar,\r\n:: or the result is echoed if ReturnVar is not specified\r\n::\r\n:: If the TimeStamp is provided in the 2nd parameter, then the Unix time for\r\n:: the TimeStamp is computed, rather then for the current time.\r\n::\r\n:: The TimeStamp must have the same format as used by WMIC:\r\n::\r\n::   YYYYMMDDhhmmss.ffffffSzzz\r\n::\r\n:: where:\r\n::\r\n::   YYYY   = gregorian year\r\n::   MM     = month\r\n::   DD     = day\r\n::   hh     = hour in 24 hour format\r\n::   mm     = minute\r\n::   ss     = seconds\r\n::   ffffff = fractional seconds (microseconds)\r\n::   S      = timezone sign: + or -\r\n::   zzz    = timezone: minutes difference from GMT\r\n::\r\n:: Each component must be zero prefixed as needed to maintain the proper width.\r\n::\r\n:: The ReturnVar parameter must be provided in order to use the TimeStamp.\r\n:: A ReturnVar of &quot;&quot; will function the same as no ReturnVar. This enables the\r\n:: specification of a TimeStamp without an actual ReturnVar.\r\n::\r\n@echo off\r\nsetlocal\r\nset &quot;ts=%~2&quot;\r\nif not defined ts for \/f &quot;skip=1 delims=&quot; %%A in ('wmic os get localdatetime') do if not defined ts set &quot;ts=%%A&quot;\r\nset \/a &quot;yy=10000%ts:~0,4% %% 10000, mm=100%ts:~4,2% %% 100, dd=100%ts:~6,2% %% 100&quot;\r\nset \/a &quot;dd=dd-2472663+1461*(yy+4800+(mm-14)\/12)\/4+367*(mm-2-(mm-14)\/12*12)\/12-3*((yy+4900+(mm-14)\/12)\/100)\/4&quot;\r\nset \/a ss=(((1%ts:~8,2%*60)+1%ts:~10,2%)*60)+1%ts:~12,2%-366100-%ts:~21,1%((1%ts:~22,3%*60)-60000)\r\nset \/a ss+=dd*86400\r\nendlocal &amp; if &quot;%~1&quot; neq &quot;&quot; (set %~1=%ss%) else echo %ss%\r\nexit \/b\r\n<\/pre>\n<h4>Question<\/h4>\n<p>Comparator<br \/>\nIdentit\u00e4ts-Komparatoren (engl. Identity Comparator)<br \/>\nGr\u00f6\u00dfen-Komparatoren (engl. Magnitude Comparator)<\/p>\n<p><a href=\"http:\/\/de.wikipedia.org\/wiki\/Komparator_%28Digitaltechnik%29\">Komparator (Digitaltechnik)<\/a><br \/>\n<a href=\"http:\/\/www.ti.com\/product\/sn74ls682\">SN74LS682 &#8211; 8-Bit Identity\/Magnitude Comparators<\/a><\/p>\n<p><a href=\"http:\/\/www.researchgate.net\/post\/How_to_use_dedicate_carry_in_and_cascade_chain_in_Altera_FPGA\">How to use dedicate carry in and cascade chain in Altera FPGA?<\/a><br \/>\n<a href=\"http:\/\/compgroups.net\/comp.lang.vhdl\/n-bit-generic-magnitude-comparator\/780667\">n-bit generic magnitude comparator<\/a><br \/>\n<a href=\"http:\/\/www.pld.guru\/_hdl\/2\/ipcore\/modules\/arithmetical\/comparator\/preview.html\">Magnitude Comparator (arithmetical) Generator<\/a><\/p>\n<p><a href=\"http:\/\/www.altera.com\/literature\/manual\/stx_cookbook.pdf\">Altera: Advanced Synthesis Cookbook<\/a><br \/>\n<a href=\"http:\/\/www.altera.com\/literature\/hb\/cyclone-iv\/cyiv-51002.pdf\">Altera: Logic Elements and Logic Array Blocks in Cyclone IV Device<\/a><br \/>\n<a href=\"http:\/\/www.altera.com\/support\/software\/eda_maxplus2\/mentor\/intro\/library.html\">Altera-Provided Logic &#038; Symbol Libraries<\/a><br \/>\n<a href=\"http:\/\/www.altera.com\/support\/software\/eda_maxplus2\/synopsys\/compilers\/inm2acvd.html\">Altera VHDL &#038; Verilog HDL alt_mf Logic Function Library<\/a><\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=3epKbSGbMCA\">Lesson 36 &#8211; VHDL Example 20: 4-Bit Comparator &#8211; Procedures<\/a><\/p>\n<p><a href=\"http:\/\/www.google.com\/patents\/US5357235\">Parallelized magnitude comparator<\/a><br \/>\n<a href=\"http:\/\/www.google.com\/patents\/CN1101571C?cl=en\">N-bit comparator<\/a><\/p>\n<h4>Answer<\/h4>\n","protected":false},"excerpt":{"rendered":"<p>Links Altera Qsys Erfahrungen em4fun Altera DE0-Nano FAQ Question Error (176310): Can&#8217;t place multiple pins assigned to pin location Pin_D1 (IOPAD_X0_Y37_N7) Info (176311): Pin epcs_config_asd0_o is assigned to pin location Pin_D1 (IOPAD_X0_Y37_N7) Info (176311): Pin ~ALTERA_ASDO_DATA1~ is assigned to pin location Pin_D1 (IOPAD_X0_Y37_N7) Answer Use SOPC or Qsys and add &#8220;EPCS Serial Flash Controller&#8221; error: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1769","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/1769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1769"}],"version-history":[{"count":30,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/1769\/revisions"}],"predecessor-version":[{"id":3631,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/1769\/revisions\/3631"}],"wp:attachment":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}