Thursday, September 30, 2010

Hints and tips for fscanf etc

Here are a couple of nice sites with examples for fscanf and other similar functions:

A good example for how to check for EOF, with a special extra treat on how to do fscanf without using fscanf:

http://stackoverflow.com/questions/3764014/how-do-you-read-scanf-until-eof-in-c

Gorgeous tabular function definition with a nice example section at the end:

http://www.cplusplus.com/reference/clibrary/cstdio/fscanf/

The same thing for sscanf:

http://www.cplusplus.com/reference/clibrary/cstdio/sscanf/

Sunday, September 19, 2010

step-by-step using COREGEN

To include a fifo from COREGEN in the design, do this:

1. Insert the component and port map from the .vho file in your VHDL at the appropriate places.

2. Add the EDN file as the source for the component

3. Make sure the ngc file is in the same directory as the project or it just won't fucking compile. Adding the ngc as a source file doesn't work. Actually, to be safe, just either generate the core into the project directory rather than a subdirectory, or copy all the files up from the subdirectory.

3a. This link has a clue (in answer #4) on how to add the subdirectory to the search path, but I'm not sure that it's worth the trouble, and the clue is not complete:

http://thedailyreviewer.com/hardware/view/xilinx-ise-constanly-asking-to-regenerate-a-core-file-111129027

Wednesday, September 15, 2010

How to tell if my XP is 32 or 64 bit

Short answer: You'd know if it was 64 bit.

Slightly better answer: The OS listed in the My Computer properties would have a "64" somewhere in the name.

This KB entry from M$ spells the above out for every possible OS with step by step instructions:

http://support.microsoft.com/kb/827218

Tuesday, August 24, 2010

This hardware will not be installed

Got an unusual reaction from Ken's computer when I tried to install the Actel FlashPro3 USB adapter. After first alerting me to a problem with the digital signing on the driver, it then cold refused to install the driver, with the message "This hardware will not be installed". This had the further unfortunate effect of locking out any other chance of installing the driver, although just for each particular USB port that I tried the adapter on (for some reason XP considers a USB adapter to be a new "installation" on each separate USB port. Fortunately for me this particular Dell had 6 USB ports built in. I was halfway through them when I began finding answers).

The short answer is that there's an option for driver signing checking that can be set to "Warn" or "Block", and it was set to "Block" on this particular computer. The best link that describes how to find and set the option was this one:

http://epsstore.ti.com/OA_HTML/csksxvm.jsp?JServSessionIdrootdlek21=sk38qb3i51.n6LzoN8L/AzOnMTOogTxpQOUtxCLbx0Ka0--&jttst0=6_23871%2C23871%2C-1%2C0%2C&jtfm0=&etfm1=&jfn=ZGC7722846B1965C3A173B60D74447730ADCDA2D62BAC770F48B94A4DECBA0B531D3DAFF87EFF42B47FC46FEF8672E4FC85C&lepopus=MCgMFTkEnGLWr9633c12WFtc:S&lepopus_pses=ZGD0C1329909761578899587F21F40759922FA043346DBC87B4924C179E1EA1A11B21140B68A8F1A07CC2FEB97090E0267F36BE8C149379E89&nSetId=91937&nBrowseCategoryId=10506&cskViewSolSourcePage=cskmbasicsrch.jsp%3FcategoryId%3D10506%26fRange%3Dnull%26fStartRow%3D0%26fSortBy%3D2%26fSortByOrder%3D1 (ugh.)

Furthermore, it is possible to force driver reinstallation for USB ports that are ignoring an attached adapter via the Device Manager. Just open the device manager and under USB ports find the "Unknown Device" (or the one with an exclaimation mark) and click on it to get a "Reinstall Drivers" option once the driver signing block has been removed.

http://support.microsoft.com/kb/314464

No answers found on how to blanket reset blocked devices on USB ports.

Monday, July 26, 2010

Block has no editable attributes

Since this came up as the autocomplete in Google, clearly everybody has this problem and re-googling should always succeed.

That having been said, following the prescribed procedure for entering block attributes, my attributes weren't showing up as properties of the block. Tried the command for the Enhanced Attribute Editor (EATTEDIT), but selecting my block got back the message "Block has no editable attributes". The solution, suggested in the message board thread below, was to use the ATTSYNC command on the block!

http://forums.augi.com/archive/index.php/t-71752.html

Wednesday, June 2, 2010

How to search for a deed or plat in Howard County, Maryland

While searching for the metes and bounds of my lot, I have learned the following details regarding the process for getting deeds, plats, and other documents from the county online resources. Sadly, these processes don't seem to apply to my case.

This is a nice top-level page that wasn't really a whole lot of help (it led back to the circuit court page that I'd found by other means):

http://publicrecords.onlinesearches.com/Maryland-Land-Records-and-Deeds.htm

This is the web page for the land records office of the county circuit court:

http://www.courts.state.md.us/clerks/howard/landrecords.html

I called the phone number for the land records office, and the person there told me the URL for the Maryland Land Records web site.

http://www.mdlandrec.net

It requires registration for user account, but the process was not difficult, and once I got in I found this site to be an easy to use well indexed archive of pdf scans of record books and pages (by liber and folio). The faq advised to go to the old reliable property tax record page (SDAT), on which all I have to do is enter the address and I get the sales history, deed numbers, and other information.

http://sdatcert3.resiusa.org/rp_rewrite/.

Unfortunately, none of the deeds listed on my property tax record had the metes and bounds, and the plat reference in the tax record was blank. The deeds, going back several years, all referenced one particular plat by liber and folio. Plugging in that reference (including the alphabetic three character prefix) returned a scan, but it was of a hand-written note saying "see plat book..." with a number that does not follow the usual format and did not come up on a search. Interestingly, it mentions another document as the reason for the move, a document which had yet a different three character prefix (these prefixes are the county clerk's initials. The books are all indexed by clerk's initials and number, but fortunately the clerk's initials don't seem to be important for accessing scans with the online tool. This generally implies that the books are numbered continuously regardless of the clerk). I found that the resolution document could be found on mdlandrec.net; it's a record of a zoning decision. It seems that a subdivide somewhere else in the neighborhood, a long time ago, caused the plat to be revised, and consequently my plat was pulled from the location referenced by all deeds before and after and stuck in this mystical other book.

Through some method of blundering that I haven't figured out yet how I've accomplished, I can get to a plat archive at the following link. It responds to the number and page given for the mystical book, but it was listed as not scanned.

http://plato.mdarchives.state.md.us/msa/stagser/s1500/s1529/cfm/dsp_court.cfm?county=HO

Clicking on the "Accession number" got a simlarly empty listing, and clicking on the link from that listing got a request for an account and password. It turns out that the original (not new) plat reference produces a scanned listing. Furthermore, a guest password for the plat archives (user plato, pw plato#) has been provided, as described in this user's guide:

http://plato.mdarchives.state.md.us/msa/stagser/s1500/s1529/cfm/faq.html

Monday, May 10, 2010

VHDL evaluating B GT A

So I stop screwing this up over and over,

Method for determinging A GT B for two unsigned integers using standard subtractor in VHDL:

where f(x,y) = x-y = x + 2's complement(y),

carry out of f(B-A) shows B > A. not f(A-B).

Examples:

1) is 70128 GT 65535?
for 24 bit case,
B = 70128 = x0111F0
A = 65535 = x00FFFF, 2s_comp(B) = xFF0001

B - A = x0111F0 + xFF0001 = x10011F1, carry out is 1, remainder = B-A = 4593

2) is 32768 GT 65535?
for 24 bit case,
B = 32768 = x008000
A = 65535 = x00FFFF, 2s_comp(B) = xFF0001

B - A = x008000 + xFF0001 = xFF8001, carry out is 0, remainder = B-A = -32767